Skip to content
GitHub

Client Configuration

A Client is an application registered within a tenant that needs to authenticate users or obtain tokens from the identity provider.

Table name: client

FieldTypeDescription
tenant_idCHAR(10)Tenant identifier (Part of Primary Key)
client_idVARCHAR(100)Unique client identifier (Part of Primary Key, auto-generated)
client_nameVARCHAR(100)Human-readable client name (must be unique within tenant)
client_secretVARCHAR(100)Client secret for authentication (auto-generated)
client_uriVARCHAR(2083)URL of the client’s home page
contactsJSONArray of contact email addresses
grant_typesJSONOAuth 2.0 grant types supported (e.g., [“authorization_code”, “refresh_token”])
logo_uriVARCHAR(2083)URL of the client’s logo
policy_uriVARCHAR(2083)URL of the client’s privacy policy
redirect_urisJSONArray of authorized redirect URIs
response_typesJSONOAuth 2.0 response types supported (e.g., [“code”])
client_typeCHAR(11)Client type: “first_party” (this clients can access all apis) or “third_party” (this clients can access only oidc apis) (default: “third_party”)
is_defaultBOOLEANWhether this is the default client for the tenant (default: false)
created_atTIMESTAMPTimestamp when client was created
updated_atTIMESTAMPTimestamp when client was last updated

Endpoint: POST /v1/admin/client

Headers:

  • Content-Type: application/json
  • tenant-id: <your-tenant-id> (required)

Request Body:

{
  "client_name": "My Application",
  "client_uri": "https://myapp.com",
  "contacts": ["admin@myapp.com", "support@myapp.com"],
  "grant_types": ["authorization_code", "refresh_token"],
  "logo_uri": "https://myapp.com/logo.png",
  "policy_uri": "https://myapp.com/privacy",
  "redirect_uris": ["https://myapp.com/callback", "https://myapp.com/silent-renew"],
  "response_types": ["code"],
  "client_type": "third_party",
  "is_default": false
}

Request Parameters:

ParameterTypeRequiredDescription
client_namestringYesHuman-readable name for the client (must be unique within tenant)
grant_typesarrayYesOAuth 2.0 grant types: [“authorization_code”, “client_credentials”, “refresh_token”]
redirect_urisarrayYesList of authorized redirect URIs (must be valid URIs)
response_typesarrayYesOAuth 2.0 response types: [“code”]
client_uristringNoURL of the client’s home page
contactsarrayNoList of contact email addresses
logo_uristringNoURL of the client’s logo
policy_uristringNoURL of the client’s privacy policy
client_typestringNoClient type: “first_party” (this clients can access all apis) or “third_party” (this clients can access only oidc apis) (default: “third_party”)
is_defaultbooleanNoWhether this is the default client (default: false)

Response: 201 Created

{
  "client_id": "aB3dE5fG7hI9jK1lM",
  "client_name": "My Application",
  "client_secret": "xyz789abc123...",
  "client_uri": "https://myapp.com",
  "contacts": ["admin@myapp.com"],
  "grant_types": ["authorization_code", "refresh_token"],
  "logo_uri": "https://myapp.com/logo.png",
  "policy_uri": "https://myapp.com/privacy",
  "redirect_uris": ["https://myapp.com/callback"],
  "response_types": ["code"],
  "client_type": "third_party",
  "is_default": false
}

Important Notes:

  • client_id and client_secret are automatically generated
  • Store the client_secret securely as it cannot be retrieved later
  • Grant types and response types must be valid OAuth 2.0 values