OutSystems Identity Providers API
The identity-providers API from OutSystems — 2 operation(s) for identity-providers.
The identity-providers API from OutSystems — 2 operation(s) for identity-providers.
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