mirror of
https://github.com/LukeHagar/developer.sailpoint.com.git
synced 2025-12-09 12:27:47 +00:00
234 lines
6.2 KiB
YAML
234 lines
6.2 KiB
YAML
|
|
get:
|
|
operationId: getSchema
|
|
tags:
|
|
- Sources
|
|
summary: Get Source Schema by ID
|
|
description: |
|
|
Get the Source Schema by ID in IdentityNow.
|
|
parameters:
|
|
- in: path
|
|
name: sourceId
|
|
required: true
|
|
schema:
|
|
type: string
|
|
description: The Source id.
|
|
example: 2c9180835d191a86015d28455b4a2329
|
|
- in: path
|
|
name: schemaId
|
|
schema:
|
|
type: string
|
|
required: true
|
|
description: The Schema id.
|
|
example: 2c9180835d191a86015d28455b4a2329
|
|
responses:
|
|
'200':
|
|
description: The requested Schema was successfully retrieved.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '../schemas/Schema.yaml'
|
|
'400':
|
|
$ref: '../../v3/responses/400.yaml'
|
|
'401':
|
|
$ref: '../../v3/responses/401.yaml'
|
|
'403':
|
|
$ref: '../../v3/responses/403.yaml'
|
|
'404':
|
|
$ref: '../../v3/responses/404.yaml'
|
|
'429':
|
|
$ref: '../../v3/responses/429.yaml'
|
|
'500':
|
|
$ref: '../../v3/responses/500.yaml'
|
|
put:
|
|
operationId: replaceSchema
|
|
tags:
|
|
- Sources
|
|
summary: Update Source Schema (Full)
|
|
description: |
|
|
This API will completely replace an existing Schema with the submitted payload. Some fields of the Schema cannot be updated. These fields are listed below.
|
|
|
|
* id
|
|
* name
|
|
* created
|
|
* modified
|
|
|
|
Any attempt to modify these fields will result in an error response with a status code of 400.
|
|
|
|
> `id` must remain in the request body, but it cannot be changed. If `id` is omitted from the request body, the result will be a 400 error.
|
|
parameters:
|
|
- in: path
|
|
name: sourceId
|
|
required: true
|
|
schema:
|
|
type: string
|
|
description: The Source id.
|
|
example: 2c9180835d191a86015d28455b4a2329
|
|
- in: path
|
|
name: schemaId
|
|
schema:
|
|
type: string
|
|
required: true
|
|
description: The Schema id.
|
|
example: 2c9180835d191a86015d28455b4a2329
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '../schemas/Schema.yaml'
|
|
responses:
|
|
'200':
|
|
description: The Schema was successfully replaced.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '../schemas/Schema.yaml'
|
|
'400':
|
|
$ref: '../../v3/responses/400.yaml'
|
|
'401':
|
|
$ref: '../../v3/responses/401.yaml'
|
|
'403':
|
|
$ref: '../../v3/responses/403.yaml'
|
|
'404':
|
|
$ref: '../../v3/responses/404.yaml'
|
|
'429':
|
|
$ref: '../../v3/responses/429.yaml'
|
|
'500':
|
|
$ref: '../../v3/responses/500.yaml'
|
|
patch:
|
|
operationId: updateSchema
|
|
tags:
|
|
- Sources
|
|
summary: Update Source Schema (Partial)
|
|
description: >-
|
|
Use this API to selectively update an existing Schema using a JSONPatch payload.
|
|
|
|
The following schema fields are immutable and cannot be updated:
|
|
|
|
* id
|
|
|
|
* name
|
|
|
|
* created
|
|
|
|
* modified
|
|
|
|
|
|
To switch an account attribute to a group, you need to have the following in place:
|
|
|
|
* `isEntitlement: true`
|
|
* Must define a schema for the group and [add it to the source](https://developer.sailpoint.com/idn/api/v3/create-schema) before updating the `isGroup` flag. For example, here is the `group` account attribute referencing a schema that defines the group:
|
|
```json
|
|
{
|
|
"name": "groups",
|
|
"type": "STRING",
|
|
"schema": {
|
|
"type": "CONNECTOR_SCHEMA",
|
|
"id": "2c9180887671ff8c01767b4671fc7d60",
|
|
"name": "group"
|
|
},
|
|
"description": "The groups, roles etc. that reference account group objects",
|
|
"isMulti": true,
|
|
"isEntitlement": true,
|
|
"isGroup": true
|
|
}
|
|
```
|
|
parameters:
|
|
- in: path
|
|
name: sourceId
|
|
required: true
|
|
schema:
|
|
type: string
|
|
description: The Source id.
|
|
example: 2c9180835d191a86015d28455b4a2329
|
|
- in: path
|
|
name: schemaId
|
|
schema:
|
|
type: string
|
|
required: true
|
|
description: The Schema id.
|
|
example: 2c9180835d191a86015d28455b4a2329
|
|
requestBody:
|
|
required: true
|
|
description: The JSONPatch payload used to update the schema.
|
|
content:
|
|
application/json-patch+json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '../schemas/JsonPatchOperation.yaml'
|
|
examples:
|
|
add-attribute:
|
|
summary: Add an attribute to the end of the list
|
|
value: [
|
|
{
|
|
"op": "add",
|
|
"path": "/attributes/-",
|
|
"value": {
|
|
"name": "location",
|
|
"type": "STRING",
|
|
"schema": null,
|
|
"description": "Employee location",
|
|
"isMulti": false,
|
|
"isEntitlement": false,
|
|
"isGroup": false
|
|
}
|
|
}
|
|
]
|
|
responses:
|
|
'200':
|
|
description: The Schema was successfully updated.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '../schemas/Schema.yaml'
|
|
'400':
|
|
$ref: '../../v3/responses/400.yaml'
|
|
'401':
|
|
$ref: '../../v3/responses/401.yaml'
|
|
'403':
|
|
$ref: '../../v3/responses/403.yaml'
|
|
'404':
|
|
$ref: '../../v3/responses/404.yaml'
|
|
'429':
|
|
$ref: '../../v3/responses/429.yaml'
|
|
'500':
|
|
$ref: '../../v3/responses/500.yaml'
|
|
delete:
|
|
operationId: deleteSchema
|
|
tags:
|
|
- Sources
|
|
summary: Delete Source Schema by ID
|
|
parameters:
|
|
- in: path
|
|
name: sourceId
|
|
required: true
|
|
schema:
|
|
type: string
|
|
description: The Source id.
|
|
example: 2c9180835d191a86015d28455b4a2329
|
|
- in: path
|
|
name: schemaId
|
|
schema:
|
|
type: string
|
|
required: true
|
|
description: The Schema id.
|
|
example: 2c9180835d191a86015d28455b4a2329
|
|
responses:
|
|
'204':
|
|
$ref: '../../v3/responses/204.yaml'
|
|
description: The Schema was successfully deleted.
|
|
'400':
|
|
$ref: '../../v3/responses/400.yaml'
|
|
'401':
|
|
$ref: '../../v3/responses/401.yaml'
|
|
'403':
|
|
$ref: '../../v3/responses/403.yaml'
|
|
'404':
|
|
$ref: '../../v3/responses/404.yaml'
|
|
'429':
|
|
$ref: '../../v3/responses/429.yaml'
|
|
'500':
|
|
$ref: '../../v3/responses/500.yaml'
|