Schemas

The Schemas API provides operations to manage custom User profiles as well as endpoints to discover the structure of the Log Stream configuration.

Okta's Universal Directory allows administrators to define custom User profiles for Okta Users and Applications. Okta adopts a subset of JSON Schema Draft 4 as the schema language to describe and validate extensible User profiles. For Log Stream Schemas, Okta uses JSON Schema Draft 2020-12. JSON Schema is a lightweight declarative format for describing the structure, constraints, and validation of JSON documents.

Note: Okta implements only a subset of JSON Schema Draft 4 and JSON Schema Draft 2020-12. This document describes which parts apply to Okta, and any extensions Okta has made to JSON Schema Draft 4 and JSON Schema Draft 2020-12.

Retrieve the default Application User Schema for an Application
OAuth 2.0: okta.schemas.read

Retrieves the Schema for an App User

Request
path Parameters
appId
required
string

Application ID

Example: 0oafxqCAJWWGELFTYASJ
Responses
200

successful operation

403

Forbidden

404

Not Found

429

Too Many Requests

get/api/v1/meta/schemas/apps/{appId}/default
Request samples
Response samples
application/json
{
  • "$schema": "string",
  • "created": "string",
  • "definitions": {
    • "base": {
      },
    • "custom": {
      }
    },
  • "id": "string",
  • "lastUpdated": "string",
  • "name": "string",
  • "properties": {
    • "profile": {
      }
    },
  • "title": "string",
  • "type": "string",
  • "_links": {
    • "self": {
      }
    }
}

Update the default Application User Schema for an Application
OAuth 2.0: okta.schemas.manage

Partially updates on the User Profile properties of the Application User Schema

Request
path Parameters
appId
required
string

Application ID

Example: 0oafxqCAJWWGELFTYASJ
Request Body schema: application/json
optional
object (UserSchemaDefinitions)
object (UserSchemaBase)
id
string
object (UserSchemaBaseProperties)
required
Array of strings
type
string
object (UserSchemaPublic)
id
string
object
required
Array of strings
type
string
object (UserSchemaProperties)
object (UserSchemaPropertiesProfile)
Array of objects (UserSchemaPropertiesProfileItem)
title
string
Responses
200

successful operation

400

Bad Request

403

Forbidden

404

Not Found

429

Too Many Requests

post/api/v1/meta/schemas/apps/{appId}/default
Request samples
application/json
{
  • "definitions": {
    • "custom": {
      }
    }
}
Response samples
application/json
{
  • "name": "Example App",
  • "title": "Example App User",
  • "lastUpdated": "2017-07-18T23:18:43.000Z",
  • "created": "2017-07-18T22:35:30.000Z",
  • "definitions": {
    • "base": {
      },
    • "custom": {
      }
    },
  • "type": "object",
  • "properties": {
    • "profile": {
      }
    }
}

Retrieve the default Group Schema
OAuth 2.0: okta.schemas.read

Retrieves the group schema

Responses
200

successful operation

403

Forbidden

429

Too Many Requests

get/api/v1/meta/schemas/group/default
Request samples
Response samples
application/json
{
  • "_links": {},
  • "created": "2021-01-30T00:18:24.000Z",
  • "definitions": {
    • "base": {
      },
    • "custom": {
      }
    },
  • "description": "Okta group profile template",
  • "lastUpdated": "2021-02-25T23:05:31.000Z",
  • "name": "group",
  • "properties": {
    • "profile": {
      }
    },
  • "title": "Okta group",
  • "type": "object"
}

Update the default Group Schema
OAuth 2.0: okta.schemas.manage

Updates the default group schema. This updates, adds, or removes one or more custom Group Profile properties in the schema.

Request
Request Body schema: application/json
object (GroupSchemaDefinitions)
object (GroupSchemaBase)
object (GroupSchemaBaseProperties)
required
Array of strings
type
string
object (GroupSchemaCustom)
object
required
Array of strings
type
string
description
string
object (UserSchemaProperties)
object (UserSchemaPropertiesProfile)
Array of objects (UserSchemaPropertiesProfileItem)
title
string
Responses
200

successful operation

400

Bad Request

403

Forbidden

429

Too Many Requests

post/api/v1/meta/schemas/group/default
Request samples
application/json
{
  • "definitions": {
    • "custom": {
      }
    }
}
Response samples
application/json
{
  • "Response with a subset of properties for brevity": {
    • "$ref": "#/components/examples/GroupSchemaResponse"
    }
}

List the Log Stream Schemas
OAuth 2.0: okta.logStreams.read

Lists the schema for all log stream types visible for this org

Responses
200

successful operation

403

Forbidden

429

Too Many Requests

get/api/v1/meta/schemas/logStream
Request samples
Response samples
application/json
[
  • {
    • "title": "AWS EventBridge",
    • "type": "object",
    • "properties": {
      },
    • "required": [
      ],
    • "errorMessage": {
      }
    },
  • {
    • "title": "Splunk Cloud",
    • "type": "object",
    • "properties": {
      },
    • "required": [
      ],
    • "errorMessage": {
      }
    }
]

Retrieve the Log Stream Schema for the schema type
OAuth 2.0: okta.logStreams.read

Retrieves the schema for a Log Stream type. The logStreamType element in the URL specifies the Log Stream type, which is either aws_eventbridge or splunk_cloud_logstreaming. Use the aws_eventbridge literal to retrieve the AWS EventBridge type schema, and use the splunk_cloud_logstreaming literal retrieve the Splunk Cloud type schema.

Request
path Parameters
logStreamType
required
string (LogStreamType)

Specifies the streaming provider used

Supported providers:

Select the provider type to see provider-specific configurations in the settings property:

Enum: "aws_eventbridge" "splunk_cloud_logstreaming"
Responses
200

successful operation

403

Forbidden

404

Not Found

429

Too Many Requests

get/api/v1/meta/schemas/logStream/{logStreamType}
Request samples
Response samples
application/json
{
  • "title": "AWS EventBridge",
  • "type": "object",
  • "properties": {
    • "settings": {
      },
    • "name": {
      }
    },
  • "required": [
    • "name",
    • "settings"
    ],
  • "errorMessage": {
    • "properties": {
      }
    }
}

Retrieve a User Schema
OAuth 2.0: okta.schemas.read

Retrieves the schema for a Schema Id

Request
path Parameters
schemaId
required
string
Responses
200

Success

403

Forbidden

404

Not Found

429

Too Many Requests

get/api/v1/meta/schemas/user/{schemaId}
Request samples
Response samples
application/json
{
  • "name": "user",
  • "title": "Default Okta User",
  • "lastUpdated": "2015-09-05T10:40:45.000Z",
  • "created": "2015-02-02T10:27:36.000Z",
  • "definitions": {
    • "base": {
      },
    • "custom": {
      }
    },
  • "type": "object",
  • "properties": {
    • "profile": {
      }
    }
}

Update a User Schema
OAuth 2.0: okta.schemas.manage

Partially updates on the User Profile properties of the user schema

Request
path Parameters
schemaId
required
string
Request Body schema: application/json
required
object (UserSchemaDefinitions)
object (UserSchemaBase)
id
string
object (UserSchemaBaseProperties)
required
Array of strings
type
string
object (UserSchemaPublic)
id
string
object
required
Array of strings
type
string
object (UserSchemaProperties)
object (UserSchemaPropertiesProfile)
Array of objects (UserSchemaPropertiesProfileItem)
title
string
Responses
200

Success

400

Bad Request

403

Forbidden

404

Not Found

429

Too Many Requests

post/api/v1/meta/schemas/user/{schemaId}
Request samples
application/json
{
  • "definitions": {
    • "custom": {
      }
    }
}
Response samples
application/json
{
  • "name": "user",
  • "title": "Default Okta User",
  • "lastUpdated": "2015-09-05T10:40:45.000Z",
  • "created": "2015-02-02T10:27:36.000Z",
  • "definitions": {
    • "base": {
      },
    • "custom": {
      }
    },
  • "type": "object",
  • "properties": {
    • "profile": {
      }
    }
}