openapi: 3.0.1 info: title: Elementum Access Token Domains API description: Manage access tokens using OAuth 2.0 standards contact: email: apiteam@elementum.io version: 0.0.1 servers: - url: /v1 tags: - name: Domains description: Manage organization domains paths: /domains: post: tags: - Domains summary: Create an organization domain operationId: createOrganizationDomain parameters: [] requestBody: description: The domain to create (exactly one of managedDomain or emailDomain) content: application/json: schema: $ref: '#/components/schemas/OrganizationDomainRequest' required: true responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/OrganizationDomain' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '422': $ref: '#/components/responses/422' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' security: - ClientCredentials: [] x-codegen-request-body-name: body /domains/{domainId}: put: tags: - Domains summary: Update an organization domain operationId: updateOrganizationDomain parameters: - $ref: '#/components/parameters/domainId' requestBody: description: The domain fields to update content: application/json: schema: $ref: '#/components/schemas/OrganizationDomainRequest' required: true responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/OrganizationDomain' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '422': $ref: '#/components/responses/422' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' security: - ClientCredentials: [] x-codegen-request-body-name: body components: schemas: EmailDomainInput: type: object properties: domain: type: string description: The email-send domain example: '{domain=mail.example.com}' ManagedDomainInput: type: object properties: domain: type: string description: The domain, e.g. example.com sso: type: boolean description: Whether SSO is enabled (mutually exclusive with selfRegistration) internal: type: boolean description: Whether users on this domain are internal to the org startUrl: type: string description: SSO start URL selfRegistration: type: boolean description: Whether self-registration is allowed (mutually exclusive with sso) name: type: string description: Display name approved: type: boolean description: Whether the domain is approved example: '{domain=example.com, name=Example}' OrganizationDomain: type: object properties: domain: type: string description: The domain internal: type: boolean description: Whether users on this domain are internal (managed only) approved: type: boolean description: Whether the domain is approved (managed only) id: type: string description: The domain ID format: uuid startUrl: type: string description: SSO start URL (managed only) selfRegistration: type: boolean description: Whether self-registration is allowed (managed only) name: type: string description: Display name (managed only) type: type: string description: MANAGED or EMAIL sso: type: boolean description: Whether SSO is enabled (managed only) example: '{name=Example, domain=example.com, id=550e8400-e29b-41d4-a716-446655440001, type=MANAGED}' OrganizationDomainRequest: type: object properties: emailDomain: $ref: '#/components/schemas/EmailDomainInput' managedDomain: $ref: '#/components/schemas/ManagedDomainInput' description: Exactly one of managedDomain or emailDomain must be set parameters: domainId: name: domainId in: path description: The organization domain ID (UUID) required: true schema: type: string format: uuid responses: '422': description: Unprocessable Entity '404': description: Not Found '400': description: Bad Request '401': description: Unauthorized '403': description: Forbidden '500': description: Internal Server Error '429': description: Too Many Requests securitySchemes: ClientCredentials: type: oauth2 flows: clientCredentials: tokenUrl: /oauth/token externalDocs: description: Find out more about Elementum url: https://www.elementum.com/