OutSystems Identity Providers API

The identity-providers API from OutSystems — 2 operation(s) for identity-providers.

OpenAPI Specification

outsystems-identity-providers-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: User and Access Management Identity Providers API
  description: REST endpoints for retrieving and managing user and access in your organization.
  version: v1
servers:
- url: https://ODC_PORTAL_DOMAIN/api/identity/v1
  description: Replace ODC_PORTAL_DOMAIN with the domain of your organization.
- url: https://{odc-portal-domain}/api/identity/v1
  description: User and Access Management API
  variables:
    odc-portal-domain:
      default: ODC_PORTAL_DOMAIN
      description: The domain of your organization
security:
- bearerAuth: []
tags:
- name: identity-providers
paths:
  /identity-providers:
    get:
      tags:
      - identity-providers
      summary: Returns a list of identity providers.
      description: 'Returns a list of identity providers for the given conditions/filters. Use query parameters to filter the result based on different criteria.


        API client must have at least one permission.'
      operationId: IdentityProvider_QueryIdentityProviders
      parameters:
      - name: key
        in: query
        description: Unique identifier of the identity provider.
        schema:
          type: string
          format: uuid
      - name: nameContains
        in: query
        description: Pattern to be searched in provider name.
        schema:
          type: string
      - name: limit
        in: query
        description: 'Maximum number of results returned. Allowed values: 1 to 100 Default value: 100.'
        schema:
          type: integer
          format: int32
      - name: offset
        in: query
        description: 'Offset of the first result returned. Default value: 0.'
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IdentityProviderResponsePaginatedResponseApi'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      x-os-permissions: API client must have at least one permission.
  /identity-providers/{key}:
    get:
      tags:
      - identity-providers
      summary: Retrieves an identity provider.
      description: 'Returns the identity provider by key.


        API client must have at least one permission.'
      operationId: IdentityProvider_ReadIdentityProvider
      parameters:
      - name: key
        in: path
        description: The Identity Provider Key.
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IdentityProviderResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      x-os-permissions: API client must have at least one permission.
components:
  schemas:
    TokenNormalizationModel:
      type: object
      properties:
        normalClaim:
          type:
          - string
          - 'null'
          description: Gets or sets the NormalClaim value.
        foreignClaim:
          type:
          - string
          - 'null'
          description: Gets or sets the ForeignClaim value.
      additionalProperties: false
    ProviderTypeServiceModel:
      enum:
      - OIDC
      - SAML
      - Cognito
      type: string
    SamlConfigurationItemModel:
      type: object
      properties:
        configName:
          type:
          - string
          - 'null'
          description: Gets or sets the ConfigName value.
        configValue:
          type:
          - string
          - 'null'
          description: Gets or sets the ConfigValue value.
      additionalProperties: false
    PkceMethodServiceModel:
      enum:
      - plain
      - S256
      type: string
    ClientAssertionSigningAlgorithmServiceModel:
      enum:
      - ES256
      - ES384
      - ES512
      - HS256
      - HS384
      - HS512
      - PS256
      - PS384
      - PS512
      - RS256
      - RS384
      - RS512
      type: string
    HostingServiceModel:
      enum:
      - oscloud
      - selfhosted
      type: string
    OidcConfigurationResponse:
      type: object
      properties:
        discoveryUrl:
          type:
          - string
          - 'null'
          description: Gets or sets discovery url of the identity provider.
        authorizationUrl:
          type:
          - string
          - 'null'
          description: Gets or sets authorization url of the identity provider.
        tokenUrl:
          type:
          - string
          - 'null'
          description: Gets or sets token url of the identity provider.
        userInfoUrl:
          type:
          - string
          - 'null'
          description: Gets or sets userInfo url of the identity provider.
        logoutUrl:
          type:
          - string
          - 'null'
          description: Gets or sets logout url of the identity provider.
        jwksUrl:
          type:
          - string
          - 'null'
          description: Gets or sets json web key sets url of the identity provider.
        issuer:
          type:
          - string
          - 'null'
          description: Gets or sets issuer of the identity provider.
        clientAuthenticationMethod:
          allOf:
          - $ref: '#/components/schemas/ClientAuthenticationMethodServiceModel'
          description: Gets or sets client authentication method of the identity provider.
        clientAssertionSigningAlgorithm:
          allOf:
          - $ref: '#/components/schemas/ClientAssertionSigningAlgorithmServiceModel'
          description: Gets or sets client assertation signing algorithm of the identity provider.
        scopes:
          type:
          - array
          - 'null'
          items:
            type: string
          description: Gets or sets list of scopes supported by the identity provider.
        clientId:
          type:
          - string
          - 'null'
          description: Gets or sets client id provided by the identity provider.
        clientSecret:
          type:
          - string
          - 'null'
          description: Gets or sets client secret provided by the identity provider.
        usePkce:
          type: boolean
          description: Gets or sets a value indicating whether true if authorization code flow should be used.
        pkceMethod:
          enum:
          - plain
          - S256
          allOf:
          - $ref: '#/components/schemas/PkceMethodServiceModel'
          description: Gets or sets pkceMethod of the identity provider.
        providerCustomConfig:
          allOf:
          - $ref: '#/components/schemas/ProviderCustomConfigModel'
          description: Gets or sets ProviderCustomConfig of the identity provider.
        suppressNonceVerification:
          type: boolean
          description: Gets or sets a value indicating whether gets or Sets the field SuppressNonceVerification.
      additionalProperties: false
    EmailTrustTypeServiceModel:
      enum:
      - None
      - EmailVerifiedClaim
      - All
      type: string
    ProviderSubtypeServiceModel:
      enum:
      - Custom
      - AppleId
      - Google
      - Facebook
      - LinkedIn
      - OutSystems11
      type: string
    ProblemDetails:
      type: object
      properties:
        type:
          type:
          - string
          - 'null'
          description: A URI reference that identifies the problem type.
        title:
          type:
          - string
          - 'null'
          description: A short, human-readable summary of the problem.
        status:
          type:
          - integer
          - 'null'
          description: The HTTP status code applicable to the problem.
          format: int32
        detail:
          type:
          - string
          - 'null'
          description: A human-readable explanation of the error.
        instance:
          type:
          - string
          - 'null'
          description: A URI that identifies the specific occurrence of the problem.
        traceId:
          type: string
          description: This field helps OutSystems support track and investigate specific error occurrences. Providing this identifier when reporting an issue allows for more precise and faster troubleshooting.
        errorCode:
          type: string
          description: This error code serves the purpose to communicate with OutSystems Support and help diagnose errors.
      description: A standardized error response as per RFC 7807 (Problem Details for HTTP APIs).
    ProviderCustomConfigModel:
      type: object
      properties:
        keyId:
          type:
          - string
          - 'null'
          description: Gets or sets the KeyId value.
        teamId:
          type:
          - string
          - 'null'
          description: Gets or sets the TeamId value.
      additionalProperties: false
    ClientAuthenticationMethodServiceModel:
      enum:
      - client_secret_post
      - client_secret_basic
      - client_secret_jwt
      - private_key_jwt
      type: string
    PageInfoWithTotalsApi:
      required:
      - count
      - limit
      - offset
      type: object
      properties:
        count:
          type: integer
          description: The results of the current page.
          format: int32
        limit:
          type: integer
          description: The limit of results per page.
          format: int32
        offset:
          type: integer
          description: The offset of the current page of results.
          format: int32
        totalResults:
          type:
          - integer
          - 'null'
          description: The total number of results.
          format: int32
        nextPageOffset:
          type:
          - integer
          - 'null'
          description: The offset of the next page of results. (optional)
          format: int32
          readOnly: true
        totalPages:
          type:
          - integer
          - 'null'
          description: The total number of pages with results.
          format: int32
          readOnly: true
      additionalProperties: false
    IdentityProviderResponsePaginatedResponseApi:
      type: object
      properties:
        results:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/IdentityProviderResponse'
          description: The List of results.
        page:
          allOf:
          - $ref: '#/components/schemas/PageInfoWithTotalsApi'
          description: The details of the page information.
      additionalProperties: false
    ProfileLinkingFieldServiceModel:
      enum:
      - Email
      - Username
      - None
      type: string
    IdentityProviderResponse:
      type: object
      properties:
        key:
          type: string
          description: Gets or sets the key associated with the identity provider.
          format: uuid
        name:
          type:
          - string
          - 'null'
          description: Gets or sets the name of the identity provider.
        oidcConfiguration:
          allOf:
          - $ref: '#/components/schemas/OidcConfigurationResponse'
          description: Gets or sets the OIDC configuration of the identity provider.
        samlConfiguration:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/SamlConfigurationItemModel'
          description: Gets or sets the SAML configuration as a dynamic JSON object.
        tokenNormalizations:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/TokenNormalizationModel'
          description: Gets or sets a list of token normalization map of the identity provider.
        lastUpdatedDate:
          type:
          - string
          - 'null'
          description: Gets or sets the last updated date of the identity provider.
          format: date-time
        type:
          enum:
          - OIDC
          - SAML
          - Cognito
          allOf:
          - $ref: '#/components/schemas/ProviderTypeServiceModel'
          description: Gets or sets the provider type.
        subtype:
          enum:
          - Custom
          - AppleId
          - Google
          - Facebook
          - LinkedIn
          - OutSystems11
          allOf:
          - $ref: '#/components/schemas/ProviderSubtypeServiceModel'
          description: Gets or sets the provider subtype.
        emailTrustType:
          enum:
          - None
          - EmailVerifiedClaim
          - All
          allOf:
          - $ref: '#/components/schemas/EmailTrustTypeServiceModel'
          description: Gets or sets the email trust type of the identity provider.
        hosting:
          enum:
          - oscloud
          - selfhosted
          allOf:
          - $ref: '#/components/schemas/HostingServiceModel'
          description: Gets or sets the hosting type of the identity provider.
        autoCreateProfiles:
          type: boolean
          description: Gets or sets a value indicating whether to automatically create profiles.
        profileLinkingField:
          enum:
          - Email
          - Username
          - None
          allOf:
          - $ref: '#/components/schemas/ProfileLinkingFieldServiceModel'
          description: Gets or sets the profile linking field.
      additionalProperties: false
  securitySchemes:
    bearerAuth:
      type: http
      description: Enter your bearer token in the format 'Bearer {token}'
      scheme: bearer
      bearerFormat: JWT