openapi: 3.2.0
info:
title: Fenergo Nebula Identity Scim Schemas API
description: '## What is SCIM?'
version: v1
servers:
- url: /scim
security:
- Bearer: []
tags:
- name: Schemas
paths:
/Schemas:
get:
tags:
- Schemas
summary: Gets all the schemas
operationId: GetAllSchemas
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/SchemasListResponseDto'
example:
schemas:
- urn:ietf:params:scim:api:messages:2.0:ListResponse
totalResults: 1
itemsPerPage: 1
startIndex: 1
Resources:
- id: urn:ietf:params:scim:schemas:core:2.0:User
name: User
description: User Schema
attributes:
- name: name
type: complex
multiValued: false
description: The components of the user's real name. Providers MAY return just the full name as a single string in the formatted sub-attribute, or they MAY return just the individual component attributes using the other sub-attributes, or they MAY return both.If both variants are returned, they SHOULD be describing the same name, with the formatted name indicating how the component attributes should be combined.
required: true
caseExact: false
mutability: readWrite
returned: default
uniqueness: none
subAttributes:
- name: familyName
type: string
multiValued: false
description: The family name of the User, or last name in most Western languages (e.g., 'Jensen' given the full name 'Ms. Barbara J Jensen, III').
required: true
caseExact: false
mutability: readWrite
returned: default
uniqueness: none
- name: givenName
type: string
multiValued: false
description: The given name of the User, or first name in most Western languages (e.g., 'Barbara' given the full name 'Ms. Barbara J Jensen, III').
required: true
caseExact: false
mutability: readWrite
returned: default
uniqueness: none
- name: displayName
type: string
multiValued: false
description: The name of the User, suitable for display to end-users.The name SHOULD be the full name of the User being described, if known.
required: false
caseExact: false
mutability: readWrite
returned: default
uniqueness: none
/Schemas/{id}:
get:
tags:
- Schemas
summary: Gets a schema by ID
operationId: GetSchemaById
parameters:
- name: id
in: path
description: Id of the schema to be retrieved.
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/SchemasResponseDto'
example:
id: urn:ietf:params:scim:schemas:core:2.0:User
name: User
description: User Schema
attributes:
- name: name
type: complex
multiValued: false
description: The components of the user's real name. Providers MAY return just the full name as a single string in the formatted sub-attribute, or they MAY return just the individual component attributes using the other sub-attributes, or they MAY return both.If both variants are returned, they SHOULD be describing the same name, with the formatted name indicating how the component attributes should be combined.
required: true
caseExact: false
mutability: readWrite
returned: default
uniqueness: none
subAttributes:
- name: familyName
type: string
multiValued: false
description: The family name of the User, or last name in most Western languages (e.g., 'Jensen' given the full name 'Ms. Barbara J Jensen, III').
required: true
caseExact: false
mutability: readWrite
returned: default
uniqueness: none
- name: givenName
type: string
multiValued: false
description: The given name of the User, or first name in most Western languages (e.g., 'Barbara' given the full name 'Ms. Barbara J Jensen, III').
required: true
caseExact: false
mutability: readWrite
returned: default
uniqueness: none
- name: displayName
type: string
multiValued: false
description: The name of the User, suitable for display to end-users.The name SHOULD be the full name of the User being described, if known.
required: false
caseExact: false
mutability: readWrite
returned: default
uniqueness: none
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseDto'
components:
schemas:
SchemasAttributeDto:
type: object
properties:
name:
type:
- string
- 'null'
description: The attribute's name
example: displayName
type:
type:
- string
- 'null'
description: The attribute's data type
example: string
multiValued:
type: boolean
description: A Boolean value indicating the attribute's plurality
example: false
description:
type:
- string
- 'null'
description: The attribute's human-readable description
example: The name of the User, suitable for display to end-users
required:
type: boolean
description: A Boolean value that specifies whether or not the attribute is required
example: false
canonicalValues:
type:
- array
- 'null'
items:
type: string
description: 'A collection of suggested canonical values that MAY be used.
Example: ["work", "home", "mobile"]'
caseExact:
type: boolean
description: A Boolean value that specifies whether or not a string attribute is case sensitive
example: false
mutability:
type:
- string
- 'null'
description: 'A single keyword indicating the circumstances under which the value of the attribute can be(re)defined.
Possible values: readOnly, readWrite, immutable, writeOnly'
example: readWrite
returned:
type:
- string
- 'null'
description: "A single keyword that indicates when an attribute and associated values are returned in response to a \nGET request or in response to a PUT, POST, or PATCH request.
\nPossible values: always, never, default, request"
example: default
uniqueness:
type:
- string
- 'null'
description: 'A single keyword value that specifies how the service provider enforces uniqueness of attribute values. br/>
Possible values: none, server, global'
example: none
subAttributes:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/SchemasAttributeDto'
description: 'When an attribute is of type "complex", "subAttributes" defines a set of sub-attributes.
It has the same schema as "attributes".'
additionalProperties: false
description: A complex type that defines service provider attributes and their qualities
SchemasResponseDto:
type: object
properties:
id:
type:
- string
- 'null'
description: The unique URI of the schema
example: urn:ietf:params:scim:schemas:core:2.0:User
name:
type:
- string
- 'null'
description: The schema's human-readable name
example: User
description:
type:
- string
- 'null'
description: The schema's human-readable description
example: User Schema
attributes:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/SchemasAttributeDto'
description: A list of attributes that defines the schema
meta:
$ref: '#/components/schemas/MetaDto'
additionalProperties: false
MetaDto:
type: object
properties:
resourceType:
type:
- string
- 'null'
description: The name of the resource type of the resource
example: User
created:
type: string
description: The "DateTime" that the resource was added to the service provider
format: date-time
example: '2022-02-02T12:59:59.123456'
lastModified:
type: string
description: 'The most recent "DateTime" that the details of this were updated at the service provider.
If this resource has never been modified since its initial creation, the value will be the same as the value of "created"'
format: date-time
example: '2022-02-02T12:59:59.123456'
location:
type:
- string
- 'null'
description: The URI of the resource being returned
example: https://company.com/scim/Users/12345678-1234-1234-1234-123456789011
version:
type: integer
description: The version of the resource being returned
format: int32
example: 0
additionalProperties: false
description: A complex attribute containing resource metadata, assigned by the service provider
SchemasListResponseDto:
type: object
properties:
schemas:
type:
- array
- 'null'
items:
type: string
description: 'List of one or more URIs that indicate included SCIM schemas that are used to indicate the attributes contained within a resource.
Example: [ "urn:ietf:params:scim:api:messages:2.0:ListResponse" ]'
totalResults:
type: integer
description: The total number of results returned by the list or query operation
format: int32
example: 1
itemsPerPage:
type: integer
description: The number of resources returned in a list response page
format: int32
example: 1
startIndex:
type: integer
description: The 1-based index of the first result in the current set of list results
format: int32
example: 1
Resources:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/SchemasResponseDto'
description: A list of all the resource types. This MAY be a subset of the full set of resources if pagination is requested
additionalProperties: false
ErrorResponseDto:
type: object
properties:
schemas:
type:
- array
- 'null'
items:
type: string
description: 'List of one or more URIs that indicate included SCIM schemas that are used to indicate the attributes contained within a resource.
Example: [ "urn:ietf:params:scim:api:messages:2.0:Error" ]'
status:
type:
- string
- 'null'
description: The HTTP status code of the error response
example: '400'
scimType:
type:
- string
- 'null'
description: The type of error
example: invalidSyntax
detail:
type:
- string
- 'null'
description: The summary of the error
example: The request is not well-formatted
additionalProperties: false
securitySchemes:
Bearer:
type: apiKey
description: Please insert JWT with Bearer into field
name: Authorization
in: header