openapi: 3.1.0 info: version: 25.1126.6886238 x-version-timestamp: 2025-11-26 19:10:23+00:00 title: Addresses Introduction Account Addresses OIDC Profiles API description: 'The Addresses API allows you to organize account addresses. Addresses are a sub-resource of `account` resources, an account can have multiple addresses, such as home, work, and neighbour. You can use an account address with either [client_credentials access token](/docs/api/authentication/create-an-access-token) or a combination of [implicit access token](/docs/api/authentication/create-an-access-token) and [Account Management authentication](/docs/api/accounts/post-v-2-account-members-tokens) token. ' contact: name: Elastic Path url: https://www.elasticpath.com email: support@elasticpath.com license: url: https://elasticpath.dev name: MIT servers: - url: https://useast.api.elasticpath.com description: US East - url: https://euwest.api.elasticpath.com description: EU West security: - BearerToken: [] tags: - name: OIDC Profiles description: 'An OpenID Connect Profile resource represents a specific configuration of an OpenID Connect Provider. An authentication realm can have multiple OpenID Connect Profiles. This allows shoppers to authenticate using multiple OpenID providers. In the example shown below, Jane can login using both Apple and Google, whereas Joan can only login using Google. ![oidc profiles](/assets/oidc-profiles.png) ' paths: /v2/authentication-realms/{realmId}/oidc-profiles: post: tags: - OIDC Profiles summary: Create an OIDC Profile description: Create an OpenID Connect profile for the specified authentication realm. operationId: post-v2-authentication-realms-realmId-oidc-profiles parameters: - name: realmId in: path description: The ID of the authentication realm. required: true schema: type: string format: uuid requestBody: required: true content: application/json: schema: type: object properties: data: $ref: '#/components/schemas/OidcProfile' required: - data responses: '201': description: Created content: application/json: schema: type: object properties: data: $ref: '#/components/schemas/OidcProfileResponse' links: $ref: '#/components/schemas/OidcProfileLinks' '400': $ref: '#/components/responses/BadRequestError' '404': $ref: '#/components/responses/NotFoundError' '422': $ref: '#/components/responses/UnprocessableEntityError' '500': $ref: '#/components/responses/InternalServerError' get: tags: - OIDC Profiles summary: Get OIDC Profiles description: Retrieve OIDC profiles for the specified authentication realm. operationId: get-v2-authentication-realms-realmId-oidc-profiles parameters: - name: realmId in: path description: The ID of the authentication realm. required: true schema: type: string format: uuid - $ref: '#/components/parameters/page-limit' - $ref: '#/components/parameters/page-offset' responses: '200': description: OK content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/OidcProfileResponse' links: $ref: '#/components/schemas/PaginationLinks' meta: $ref: '#/components/schemas/PaginationMeta' examples: list_oidc_profiles: summary: List of OIDC profiles value: data: - id: c8849022-c9c6-4888-9ca8-2bb78f445fb0 type: oidc-profile name: Google issuer: https://accounts.google.com client_id: google-client-id - id: 21be087e-faa6-41fc-9b51-6763a363ec2d type: oidc-profile name: Apple issuer: https://appleid.apple.com client_id: apple-client-id meta: results: total: 2 page: limit: 25 offset: 0 links: current: https://euwest.api.elasticpath.com/v2/authentication-realms/45928070-44a6-448b-8246-a85aa35320af/oidc-profiles?page%5Boffset%5D=0&page%5Blimit%5D=25 first: https://euwest.api.elasticpath.com/v2/authentication-realms/45928070-44a6-448b-8246-a85aa35320af/oidc-profiles?page%5Boffset%5D=0&page%5Blimit%5D=25 last: null next: null prev: null '404': $ref: '#/components/responses/NotFoundError' '500': $ref: '#/components/responses/InternalServerError' /v2/authentication-realms/{realmId}/oidc-profiles/{profileId}: get: tags: - OIDC Profiles summary: Get OIDC Profile description: Retrieve a specific OIDC profile by ID. operationId: get-v2-authentication-realms-realmId-oidc-profiles-profileId parameters: - name: realmId in: path description: The ID of the authentication realm. required: true schema: type: string format: uuid - name: profileId in: path description: The ID of the OIDC profile. required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: type: object properties: data: $ref: '#/components/schemas/OidcProfileResponse' links: $ref: '#/components/schemas/OidcProfileLinks' examples: get_oidc_profile: summary: OIDC profile value: data: id: c8849022-c9c6-4888-9ca8-2bb78f445fb0 type: oidc-profile name: Google issuer: https://accounts.google.com client_id: google-client-id links: self: https://euwest.api.elasticpath.com/v2/authentication-realms/45928070-44a6-448b-8246-a85aa35320af/oidc-profiles/c8849022-c9c6-4888-9ca8-2bb78f445fb0 '400': $ref: '#/components/responses/BadRequestError' '404': $ref: '#/components/responses/NotFoundError' '422': $ref: '#/components/responses/UnprocessableEntityError' '500': $ref: '#/components/responses/InternalServerError' put: tags: - OIDC Profiles summary: Update OIDC Profile description: Update a specific OIDC profile by ID. operationId: put-v2-authentication-realms-realmId-oidc-profiles-profileId parameters: - name: realmId in: path description: The ID of the authentication realm. required: true schema: type: string format: uuid - name: profileId in: path description: The ID of the OIDC profile. required: true schema: type: string format: uuid requestBody: required: true content: application/json: schema: type: object properties: data: $ref: '#/components/schemas/OidcProfile' required: - data responses: '200': description: OK content: application/json: schema: type: object properties: data: $ref: '#/components/schemas/OidcProfileResponse' links: $ref: '#/components/schemas/OidcProfileLinks' '400': $ref: '#/components/responses/BadRequestError' '404': $ref: '#/components/responses/NotFoundError' '422': $ref: '#/components/responses/UnprocessableEntityError' '500': $ref: '#/components/responses/InternalServerError' delete: tags: - OIDC Profiles summary: Delete OIDC Profile description: Delete a specific OIDC profile by ID. operationId: delete-v2-authentication-realms-realmId-oidc-profiles-profileId parameters: - name: realmId in: path description: The ID of the authentication realm. required: true schema: type: string format: uuid - name: profileId in: path description: The ID of the OIDC profile. required: true schema: type: string format: uuid responses: '204': description: No Content '400': $ref: '#/components/responses/BadRequestError' '404': $ref: '#/components/responses/NotFoundError' '422': $ref: '#/components/responses/UnprocessableEntityError' '500': $ref: '#/components/responses/InternalServerError' components: schemas: UUID: type: string description: The unique identifier. format: uuid example: deb6b25f-8451-4211-9a22-95610333df23 OidcProfileResponse: allOf: - $ref: '#/components/schemas/OidcProfile' - type: object properties: id: $ref: '#/components/schemas/UUID' description: The unique identifier for an OIDC Profile. meta: type: object properties: created_at: description: The date the resource is created. type: string format: date-time example: '2025-09-08T20:58:56.355Z' updated_at: description: The date the resource is updated. type: string format: date-time example: '2025-09-08T20:58:56.355Z' issuer: description: The OIDC issuer URL. type: string format: uri example: https://test.issuer.com links: type: object properties: self: description: A URL to the specific resource. type: string format: uri example: https://useast.api.elasticpath.com/v2/authentication-realms/deb6b25f-8451-4211-9a22-95610333df23/oidc-profiles/abc123 authorization-endpoint: description: The authorization endpoint URL. type: string format: uri callback-endpoint: description: The callback endpoint URL. type: string format: uri client-discovery-url: description: The client discovery URL. type: string format: uri OidcProfileLinks: allOf: - $ref: '#/components/schemas/SelfLink' - type: object properties: authorization-endpoint: description: The link that front-end applications should use to authenticate the OpenID Connect profile. The front-end application is responsible for appending all of the [required parameters](https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest) to the request. The endpoint also forwards some optional parameters, `display`, `prompt` and `ui_locales` to the configured Identity Provider. These parameters allow you to control the behavior of the authentication process on the Identity Provider. Additionally the query parameter `ep_report_callback_replay_error` can be set to `true` in which case if the user revisits the `callback-endpoint` multiple times (e.g., if they hit their Back button), we will redirect the user back to the front end with an [Authentication error response](https://openid.net/specs/openid-connect-core-1_0.html#AuthError) of `callback_replay`. type: string format: uri callback-endpoint: description: The link that should be supplied as the callback URL to the upstream authentication provider. type: string format: uri client-discovery-url: description: The link to the [OpenID Connect Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html) document for this provider, see [here](/docs/api/single-sign-on/get-oidc-idp-stores-store-id-authentication-realms-realm-id-well-known-openid-configuration). type: string format: uri PaginationLinks: type: object properties: current: type: string format: uri description: The current page of data. first: type: - string - 'null' format: uri description: The first page of data. last: type: - string - 'null' format: uri description: The last page of data. next: type: - string - 'null' format: uri description: The next page of data. prev: type: - string - 'null' format: uri description: The previous page of data. self: type: string format: uri description: The current resource URL. Error: type: object required: - status - title properties: title: type: string description: A brief summary of the error. examples: - Bad Request status: type: string format: string description: The HTTP response code of the error. examples: - '400' detail: type: string description: Optional additional detail about the error. examples: - The field 'name' is required SelfLink: type: object properties: self: description: A URL to the specific resource. type: string format: uri OidcProfile: type: object properties: type: type: string description: Specifies the type of object. Set this value to `oidc-profile`. const: oidc-profile name: type: string description: Specifies the name of the OIDC profile. example: my-oidc-profile discovery_url: type: string description: The OIDC discovery URL. format: uri example: https://example.com/.well-known/openid_configuration client_id: type: string description: The client ID for the OpenID Provider. example: my-client-id client_secret: type: string description: The client secret for the OpenID Provider. example: my-client-secret required: - type - name PaginationMeta: type: object properties: page: type: object properties: current: type: integer description: The current page number. example: 1 limit: type: integer description: The number of items per page. example: 25 offset: type: integer description: The number of items to offset by. example: 0 total: type: integer description: The total number of pages. example: 1 results: type: object properties: total: type: integer description: The total number of results after applying filters, if any, or all results. example: 1 ErrorResponse: type: object required: - errors properties: errors: type: array items: $ref: '#/components/schemas/Error' links: $ref: '#/components/schemas/SelfLink' parameters: page-limit: name: page[limit] in: query description: The number of records per page. required: false schema: type: integer format: int64 minimum: 1 maximum: 100 default: 25 page-offset: name: page[offset] in: query description: The number of records to offset the results by. required: false schema: type: integer format: int64 minimum: 0 default: 0 responses: NotFoundError: description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: not-found-error: value: errors: - title: Not Found status: '404' detail: Resource not found UnprocessableEntityError: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: unprocessable-entity-error: value: errors: - title: Unprocessable Entity status: '422' detail: Constraint violation BadRequestError: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: bad-request-error: value: errors: - title: Bad Request status: '400' detail: 'Validation failed: field ''Name'' on the ''min'' tag.' InternalServerError: description: Internal server error. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: internal-server-error: summary: Internal server error value: errors: - title: Internal Server Error status: '500' detail: there was a problem processing your request securitySchemes: BearerToken: type: http scheme: bearer