POST
/api/apisAuthenticatedRegister 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 serversAuthentication & permissionsAuthenticated
Any authenticated user
- Accepted credentials
- Auth server session (refresh token cookie)
cookie "refresh_token_<auth_server_app_id>" - Access token (cookie)
cookie "access_token_<auth_server_app_id>" - Access token (Bearer)
Authorization: Bearer <JWT>
- Auth server session (refresh token cookie)
- 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_creationsetting 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.
| Property | Type | Description |
|---|---|---|
| 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_id | string | null | null | |
| owner_uid | string (uuid) | null (uuid) | null | |
| created_by | string (uuid) | null (uuid) | null | |
| allow_dynamic_clients | boolean | |
| 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
| Property | Type | Description |
|---|---|---|
| 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"
}'