openapi: 3.1.0 info: title: Commerce Layer addresses identity_providers API version: 7.10.1 contact: name: API Support url: https://commercelayer.io email: support@commercelayer.io description: Headless Commerce for Global Brands. servers: - url: https://{your_organization_slug}.commercelayer.io/api description: API - url: https://core.commercelayer.io/users/sign_in description: Sign in - url: https://docs.commercelayer.io/api description: API reference security: - bearerAuth: [] tags: - name: identity_providers description: resource type paths: /identity_providers: post: operationId: POST/identity_providers summary: Creates an identity provider description: Creates an identity provider tags: - identity_providers requestBody: required: true content: application/vnd.api+json: schema: $ref: '#/components/schemas/identityProviderCreate' responses: '201': description: The created identity provider object content: application/vnd.api+json: schema: $ref: '#/components/schemas/identityProviderResponse' get: operationId: GET/identity_providers summary: List all identity providers description: List all identity providers tags: - identity_providers responses: '200': description: A list of identity provider objects content: application/vnd.api+json: schema: $ref: '#/components/schemas/identityProviderResponseList' /identity_providers/{identityProviderId}: get: operationId: GET/identity_providers/identityProviderId summary: Retrieve an identity provider description: Retrieve an identity provider parameters: - name: identityProviderId in: path schema: type: string required: true description: The ID of the resource. tags: - identity_providers responses: '200': description: The identity provider object content: application/vnd.api+json: schema: $ref: '#/components/schemas/identityProviderResponse' patch: operationId: PATCH/identity_providers/identityProviderId summary: Updates an identity provider description: Updates an identity provider tags: - identity_providers parameters: - name: identityProviderId in: path schema: type: string required: true description: The ID of the resource. requestBody: required: true content: application/vnd.api+json: schema: $ref: '#/components/schemas/identityProviderUpdate' responses: '200': description: The updated identity provider object content: application/vnd.api+json: schema: $ref: '#/components/schemas/identityProviderResponse' delete: operationId: DELETE/identity_providers/identityProviderId summary: Delete an identity provider description: Delete an identity provider tags: - identity_providers parameters: - name: identityProviderId in: path schema: type: string required: true description: The ID of the resource. responses: '204': description: No content components: schemas: identityProviderCreate: required: - data type: object properties: data: type: object required: - type - attributes properties: type: type: string description: The resource's type. enum: - identity_providers attributes: type: object properties: name: type: string description: The name of the Identity provider. example: Org auth0 client_id: type: string description: The client ID used for the auth workflow. example: a6CDk5v1ZV99GrtOcfYVEZRnDDt client_secret: type: string description: The client secret used for the auth workflow. example: s6CD55v1ZV99ArtOcfYVEZRnDDf issuer: type: string description: The issuer used for the auth workflow. example: https://dev.auth987.com/ domains: type: string description: The list of domains in scope (comma-separated). example: dev.auth987.com,stg.auth987.com token_url: type: string description: The token URL used for the auth workflow. example: https://dev.auth987.com/oauth/token authorize_url: type: string description: The authorize URL used for the auth workflow. example: https://dev.auth987.com/authorize jwks_url: type: string description: The JWKS key store URL used for the auth workflow. example: https://dev.auth987.com/.well-known/jwks.json organization: type: string description: The organization identifier for authorize params. example: org_76gsfs5gd reference: type: string description: A string that you can use to add any external identifier to the resource. This can be useful for integrating the resource to an external system, like an ERP, a marketing tool, a CRM, or whatever. example: ANY-EXTERNAL-REFEFERNCE reference_origin: type: string description: Any identifier of the third party system that defines the reference code. example: ANY-EXTERNAL-REFEFERNCE-ORIGIN metadata: type: object description: Set of key-value pairs that you can attach to the resource. This can be useful for storing additional information about the resource in a structured format. example: foo: bar _disable: type: boolean description: Send this attribute if you want to mark this resource as disabled. example: true _enable: type: boolean description: Send this attribute if you want to mark this resource as enabled. example: true required: - name - client_id - client_secret - issuer - domains - token_url - authorize_url - jwks_url relationships: type: object properties: {} identityProviderUpdate: required: - data type: object properties: data: type: object required: - type - id - attributes properties: type: type: string description: The resource's type. enum: - identity_providers id: type: string description: The ID of the resource. example: XGZwpOSrWL attributes: type: object properties: name: type: string description: The name of the Identity provider. example: Org auth0 nullable: false client_id: type: string description: The client ID used for the auth workflow. example: a6CDk5v1ZV99GrtOcfYVEZRnDDt nullable: false client_secret: type: string description: The client secret used for the auth workflow. example: s6CD55v1ZV99ArtOcfYVEZRnDDf nullable: false issuer: type: string description: The issuer used for the auth workflow. example: https://dev.auth987.com/ nullable: false domains: type: string description: The list of domains in scope (comma-separated). example: dev.auth987.com,stg.auth987.com nullable: false token_url: type: string description: The token URL used for the auth workflow. example: https://dev.auth987.com/oauth/token nullable: false authorize_url: type: string description: The authorize URL used for the auth workflow. example: https://dev.auth987.com/authorize nullable: false jwks_url: type: string description: The JWKS key store URL used for the auth workflow. example: https://dev.auth987.com/.well-known/jwks.json nullable: false organization: type: string description: The organization identifier for authorize params. example: org_76gsfs5gd nullable: true reference: type: string description: A string that you can use to add any external identifier to the resource. This can be useful for integrating the resource to an external system, like an ERP, a marketing tool, a CRM, or whatever. example: ANY-EXTERNAL-REFEFERNCE nullable: true reference_origin: type: string description: Any identifier of the third party system that defines the reference code. example: ANY-EXTERNAL-REFEFERNCE-ORIGIN nullable: true metadata: type: object description: Set of key-value pairs that you can attach to the resource. This can be useful for storing additional information about the resource in a structured format. example: foo: bar nullable: true _disable: type: boolean description: Send this attribute if you want to mark this resource as disabled. example: true nullable: false _enable: type: boolean description: Send this attribute if you want to mark this resource as enabled. example: true nullable: false relationships: type: object properties: {} identityProviderResponseList: type: object properties: data: type: array items: $ref: '#/components/schemas/identityProviderResponse/properties/data' identityProviderResponse: type: object properties: data: type: object properties: id: type: string description: The ID of the resource. example: XGZwpOSrWL type: type: string description: The resource's type. enum: - identity_providers links: type: object properties: self: type: string description: URL attributes: $ref: '#/components/schemas/identityProvider/properties/data/properties/attributes' relationships: type: object properties: user: type: object properties: links: type: object properties: self: type: string description: URL related: type: string description: URL data: type: object properties: type: type: string description: The resource's type. enum: - user id: type: string description: The ID of the resource. identityProvider: properties: data: properties: attributes: type: object properties: name: type: string description: The name of the Identity provider. example: Org auth0 nullable: false client_id: type: string description: The client ID used for the auth workflow. example: a6CDk5v1ZV99GrtOcfYVEZRnDDt nullable: false client_secret: type: string description: The client secret used for the auth workflow. example: s6CD55v1ZV99ArtOcfYVEZRnDDf nullable: false issuer: type: string description: The issuer used for the auth workflow. example: https://dev.auth987.com/ nullable: false status: type: string description: The identity provider status. One of `pending` (default), `verified` or `error`. example: pending readOnly: true enum: - pending - verified - error domains: type: string description: The list of domains in scope (comma-separated). example: dev.auth987.com,stg.auth987.com nullable: false token_url: type: string description: The token URL used for the auth workflow. example: https://dev.auth987.com/oauth/token nullable: false authorize_url: type: string description: The authorize URL used for the auth workflow. example: https://dev.auth987.com/authorize nullable: false jwks_url: type: string description: The JWKS key store URL used for the auth workflow. example: https://dev.auth987.com/.well-known/jwks.json nullable: false txt_record: type: string description: The TXT record value used to check the domain. example: cl-verification=a6CDk5v readOnly: true organization: type: string description: The organization identifier for authorize params. example: org_76gsfs5gd nullable: true created_at: type: string description: Time at which the resource was created. example: '2018-01-01T12:00:00.000Z' readOnly: true updated_at: type: string description: Time at which the resource was last updated. example: '2018-01-01T12:00:00.000Z' readOnly: true reference: type: string description: A string that you can use to add any external identifier to the resource. This can be useful for integrating the resource to an external system, like an ERP, a marketing tool, a CRM, or whatever. example: ANY-EXTERNAL-REFEFERNCE nullable: true reference_origin: type: string description: Any identifier of the third party system that defines the reference code. example: ANY-EXTERNAL-REFEFERNCE-ORIGIN nullable: true metadata: type: object description: Set of key-value pairs that you can attach to the resource. This can be useful for storing additional information about the resource in a structured format. example: foo: bar nullable: true disabled_at: type: string description: Time at which this resource was disabled. example: '2018-01-01T12:00:00.000Z' readOnly: true securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT