POST/api/apisAuthenticated

Register an API server

Registers a new API server (resource server). The body's ownership fields decide who owns it: platform (administrators only), an organization the caller owns/administers, or the caller's own account (when user-owned resources are enabled). hardcoded must be false; created_at/created_by are set by the server.

operationId post_api_apisAPI servers

Authentication & permissionsAuthenticated

Any authenticated user

Accepted credentials
Who may call
Any authenticated user
Notes
Platform-owned API servers: administrators only. Organization-owned: organization owners/admins. User-owned: any user when the allow_user_owned_resource_creation setting is on.

Request body

Required — The API server to register; hardcoded must be false.

application/json
ApiServerDefinitionAn API server (resource server) registration: identity, listing visibility, ownership (platform / organization / user) and dynamic-client policy.
PropertyTypeDescription
api_server_id*string

minLength: 2maxLength: 64pattern: ^[a-z0-9_-]*$

api_server_name*string

maxLength: 64

api_server_description*string

maxLength: 512

created_at*number

minimum: 0

public*boolean
hardcoded*boolean
owner_type"platform" | "organization" | "user" | "dynamic-client-registration"
owner_organization_idstring | null | null
owner_uidstring (uuid) | null (uuid) | null
created_bystring (uuid) | null (uuid) | null
allow_dynamic_clientsboolean
resource_url_match_mode"exact" | "prefix"
JSONExample
"api_server_id""string"
"api_server_name""string"
"api_server_description""string"
"created_at"1.5
"public"true
"hardcoded"true
"owner_type""platform"
"owner_organization_id""string"
"owner_uid""123e4567-e89b-12d3-a456-426614174000"
"created_by""123e4567-e89b-12d3-a456-426614174000"
"allow_dynamic_clients"true
"resource_url_match_mode""exact"

Responses

application/json
ResourceCreationResponse
PropertyTypeDescription
success*true
message*string
resource_id*string

Identifier of the created / affected resource

JSONExample
"success"true
"message""string"
"resource_id""string"

Example request

bashcurl
curl -X POST 'https://auth.schemavaults.com/api/apis' \
  -b 'refresh_token_<auth_server_app_id>=<value>' \
  -H 'Content-Type: application/json' \
  -d '{
  "api_server_id": "string",
  "api_server_name": "string",
  "api_server_description": "string",
  "created_at": 1.5,
  "public": true,
  "hardcoded": true,
  "owner_type": "platform",
  "owner_organization_id": "string",
  "owner_uid": "123e4567-e89b-12d3-a456-426614174000",
  "created_by": "123e4567-e89b-12d3-a456-426614174000",
  "allow_dynamic_clients": true,
  "resource_url_match_mode": "exact"
}'

Other methods on this path