{"openapi":"3.1.0","info":{"title":"Okta Schemas (BYOK) API","version":"0.1.0","description":"Okta Schemas (BYOK) lets an AI assistant read your own Okta Schemas data through the Okta Schemas API with a key you supply (Okta API token). Read-only: 7 tools (get_user_schema, get_group_schema, get_app_user_schema, list_linked_object_definitions, get_linked_object_definition, list_user_types, get_user_type). The BYOK key travels with each request, is used for that one call only and is never...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-okta-schemas.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-okta-schemas/docs"},"termsOfService":"https://connectorbay.com/byok-okta-schemas/terms"},"servers":[{"url":"https://byok-okta-schemas.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-okta-schemas/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/get_user_schema":{"post":{"operationId":"get_user_schema","summary":"Get a user profile schema: the required base attributes and the definitions of custom attributes (type, mutability, scop","description":"Get a user profile schema: the required base attributes and the definitions of custom attributes (type, mutability, scope). No user values are returned. Use for \"Which custom profile attributes are defined in our Okta user schema\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"org":{"description":"Your Okta org subdomain: the part before .okta.com, for example 'acme' for acme.okta.com.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Org","type":"string"},"schema_id":{"description":"User schema id: 'default' for the default user type, or the schema id of another user type (shown in the user type's schema link).","maxLength":200,"title":"Schema Id","type":"string"}},"required":["org","schema_id"],"title":"get_user_schemaArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_group_schema":{"post":{"operationId":"get_group_schema","summary":"Get the group profile schema: the required base attributes and the definitions of custom group attributes. Use for \"Whic","description":"Get the group profile schema: the required base attributes and the definitions of custom group attributes. Use for \"Which custom attributes do Okta groups have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"org":{"description":"Your Okta org subdomain: the part before .okta.com, for example 'acme' for acme.okta.com.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Org","type":"string"}},"required":["org"],"title":"get_group_schemaArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_app_user_schema":{"post":{"operationId":"get_app_user_schema","summary":"Get the user profile schema of one application: base attributes and custom attribute definitions used for provisioning. ","description":"Get the user profile schema of one application: base attributes and custom attribute definitions used for provisioning. Use for \"Which profile attributes does Okta application 0oa1gjh63g214q0Hq0g4 define for its users\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"org":{"description":"Your Okta org subdomain: the part before .okta.com, for example 'acme' for acme.okta.com.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Org","type":"string"},"app_id":{"description":"Okta application id, for example 0oa1gjh63g214q0Hq0g4.","maxLength":200,"title":"App Id","type":"string"}},"required":["org","app_id"],"title":"get_app_user_schemaArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_linked_object_definitions":{"post":{"operationId":"list_linked_object_definitions","summary":"List linked object definitions (relationships between users such as manager and subordinate) with the names, titles and ","description":"List linked object definitions (relationships between users such as manager and subordinate) with the names, titles and descriptions of both sides. Use for \"Which user relationships such as manager are defined in Okta\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"org":{"description":"Your Okta org subdomain: the part before .okta.com, for example 'acme' for acme.okta.com.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Org","type":"string"}},"required":["org"],"title":"list_linked_object_definitionsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_linked_object_definition":{"post":{"operationId":"get_linked_object_definition","summary":"Get one linked object definition by its primary or associated name: titles and descriptions of both sides. Use for \"How ","description":"Get one linked object definition by its primary or associated name: titles and descriptions of both sides. Use for \"How is the Okta linked object 'manager' defined\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"org":{"description":"Your Okta org subdomain: the part before .okta.com, for example 'acme' for acme.okta.com.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Org","type":"string"},"linked_object_name":{"description":"Name of the linked object definition, for example manager.","maxLength":200,"title":"Linked Object Name","type":"string"}},"required":["org","linked_object_name"],"title":"get_linked_object_definitionArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_user_types":{"post":{"operationId":"list_user_types","summary":"List user types (for example the default Person type and custom types) with name, display name, default flag and dates. ","description":"List user types (for example the default Person type and custom types) with name, display name, default flag and dates. Use for \"Which user types does our Okta org have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"org":{"description":"Your Okta org subdomain: the part before .okta.com, for example 'acme' for acme.okta.com.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Org","type":"string"}},"required":["org"],"title":"list_user_typesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_user_type":{"post":{"operationId":"get_user_type","summary":"Get one user type: name, display name, description, default flag and dates. Use for \"Is Okta user type otyfnjfba4ye7pgjB","description":"Get one user type: name, display name, description, default flag and dates. Use for \"Is Okta user type otyfnjfba4ye7pgjB0g3 the default type\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"org":{"description":"Your Okta org subdomain: the part before .okta.com, for example 'acme' for acme.okta.com.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Org","type":"string"},"type_id":{"description":"Okta user type id, for example otyfnjfba4ye7pgjB0g3.","maxLength":200,"title":"Type Id","type":"string"}},"required":["org","type_id"],"title":"get_user_typeArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}