Xeonr Developer Docs
API SpecificationOAuth Clients

Create Client

POST
/xeonr.auth.api.v1.ClientsService/CreateClient

Creates a new OAuth client with the specified configuration. The client secret will be returned only in this response if has_secret is true.

Required scopes: auth:clients:edit

AuthorizationBearer <token>

JWT access token obtained via OAuth2 flow or service account

In: header

Header Parameters

Connect-Protocol-Version*number

Define the version of the Connect protocol

Value in1
Connect-Timeout-Ms?number

Define the timeout, in ms

Request Body

application/json

hasSecret?boolean

Indicates if the Client should have a secret

name?string

Name of the new OAuth Client

Length1 <= length <= 64
redirectUri?stringDeprecated

URI to redirect to after authentication.

Deprecated: use redirect_uris. When set and redirect_uris is empty it is folded into the registered set as a single entry (backward compatibility).

Formaturi
Lengthlength <= 256
redirectUris?redirect_uris

The full set of allowed redirect URIs. At least one redirect URI is required (here or in the deprecated redirect_uri). Each must be an absolute URI.

supportsRefreshToken?boolean

Indicates if the Client supports refresh tokens

supportsImplicitGrant?boolean

Indicates if the Client supports implicit grant flow

supportsDeviceCodeGrant?boolean

Indicates if the Client supports device code grant flow

supportsCodeGrant?boolean

Indicates if the Client supports authorization code grant flow

supportsClientCredentials?boolean

Indicates if the Client supports the client_credentials grant (RFC 6749 §4.4). Only effective for confidential, application-owned clients.

websiteUrl?string

Website URL of the OAuth Client

Formaturi
Length1 <= length <= 128
description?string

Description of the OAuth Client

Length1 <= length <= 256
usesManagedBuckets?boolean

validate confidential is true

applicationId?string|null

the owning application_id

applicationBindings?

a list of enabled APIs

allowedDelegators?allowed_delegators

List of client IDs from which this client will accept delegated tokens via token exchange (RFC 8693)

backchannelLogoutUri?string|null

Backchannel logout URI for OIDC Back-Channel Logout 1.0 (must be HTTPS, or HTTP for localhost)

Formaturi
backchannelLogoutSessionRequired?boolean

Whether the RP requires a sid claim in the logout token

frontchannelLogoutUri?string|null

Front-channel logout URI for OIDC Front-Channel Logout 1.0 (must be HTTPS, or HTTP for localhost)

Formaturi
frontchannelLogoutSessionRequired?boolean

Whether the RP requires sid and iss in the logout request

postLogoutRedirectUris?post_logout_redirect_uris

List of allowed post-logout redirect URIs for RP-Initiated Logout

isVerified?boolean

Whether the client is verified (admin only - ignored for non-admin users)

iacManaged?boolean
onBehalfOfUserId?string|null

Create the client owned by this user URN instead of the calling user. Service-account only; requires the caller to be an auth-application SA. Mutually exclusive with application_id.

[key: string]?never

Response Body

application/json

application/json

curl -X POST "https://auth.xeonr.io/xeonr.auth.api.v1.ClientsService/CreateClient" \  -H "Connect-Protocol-Version: 1" \  -H "Content-Type: application/json" \  -d '{}'
{
  "Client": {
    "clientId": "550e8400-e29b-41d4-a716-446655440000",
    "clientSecret": "sk_live_a1b2c3d4e5f6g7h8i9j0...",
    "name": "My OAuth App",
    "redirectUri": "https://myapp.example.com/oauth/callback",
    "redirectUris": [
      "https://myapp.example.com/oauth/callback"
    ],
    "supportsRefreshToken": true,
    "supportsImplicitGrant": true,
    "supportsDeviceCodeGrant": true,
    "supportsCodeGrant": true,
    "supportsClientCredentials": true,
    "websiteUrl": "https://myapp.example.com",
    "createdAt": "2023-01-15T01:30:15.01Z",
    "updatedAt": "2023-01-15T01:30:15.01Z",
    "description": "A sample OAuth application for demonstration purposes",
    "isVerified": true,
    "applicationId": "app_prod_myapp",
    "usesManagedBuckets": true,
    "applicationBindings": [
      {
        "applicationId": "app_prod_myapp",
        "config": {
          "jsonConfig": {
            "property1": {},
            "property2": {}
          }
        },
        "iacManaged": true
      }
    ],
    "allowedDelegators": [
      "550e8400-e29b-41d4-a716-446655440001"
    ],
    "logoUrl": "https://cdn.example.com/logos/myapp.png",
    "backchannelLogoutUri": "https://myapp.example.com/backchannel-logout",
    "backchannelLogoutSessionRequired": true,
    "frontchannelLogoutUri": "https://myapp.example.com/frontchannel-logout",
    "frontchannelLogoutSessionRequired": true,
    "postLogoutRedirectUris": [
      "https://myapp.example.com/logged-out"
    ],
    "hasSecret": true,
    "iacManaged": true,
    "brandProfileId": "string"
  }
}
{
  "code": "not_found",
  "message": "string",
  "details": [
    {
      "type": "string",
      "value": "string",
      "debug": {}
    }
  ]
}