POST/api/apps/{app_id}/service-accountAuthenticated

Create an app's service account

Creates the client application's service account ahead of its first client_credentials grant, so its uid can be granted permissions on resource servers up front. Idempotent: an existing service account is returned with created: false and status 200. Requires management access; hardcoded apps cannot be configured.

operationId post_api_apps_app_id_service_accountClient applications

Authentication & permissionsAuthenticated

Any authenticated user

Accepted credentials
Who may call
Any authenticated user

Path parameters

NameTypeDescription
app_id*string

Client application id

Responses

application/json
AppServiceAccountCreationResponse
PropertyTypeDescription
success*true
message*string
service_account*AppServiceAccountSummary | null

Null until the first client_credentials grant (or explicit creation)

uid*string

The service account's user id (sub / uid of its tokens)

email*string

Synthetic, undeliverable address under the reserved .invalid TLD

created_at*number

Unix epoch milliseconds

disabled*boolean

A disabled service account is refused the client_credentials grant

created*boolean

False when the service account already existed

JSONExample
"success"true
"message""string"
"service_account"
"uid""string"
"email""string"
"created_at"1.5
"disabled"true
"created"true

application/json
AppServiceAccountCreationResponse
PropertyTypeDescription
success*true
message*string
service_account*AppServiceAccountSummary | null

Null until the first client_credentials grant (or explicit creation)

uid*string

The service account's user id (sub / uid of its tokens)

email*string

Synthetic, undeliverable address under the reserved .invalid TLD

created_at*number

Unix epoch milliseconds

disabled*boolean

A disabled service account is refused the client_credentials grant

created*boolean

False when the service account already existed

JSONExample
"success"true
"message""string"
"service_account"
"uid""string"
"email""string"
"created_at"1.5
"disabled"true
"created"true

Example request

bashcurl
curl -X POST 'https://auth.schemavaults.com/api/apps/<app_id>/service-account' \
  -b 'refresh_token_<auth_server_app_id>=<value>'