Skip to main content
POST
/
clients
TypeScript
import { ManagementClient } from "auth0";

async function main() {
    const client = new ManagementClient({
        token: "<token>",
    });
    await client.clients.create({
        name: "name",
    });
}
main();
{
  "client_id": "AaiyAPdpYdesoKnqjj8HJqRn4T5titww",
  "tenant": "",
  "name": "My application",
  "description": "",
  "global": false,
  "client_secret": "MG_TNT2ver-SylNat-_VeMmd-4m0Waba0jr1troztBniSChEw0glxEmgEi2Kw40H",
  "app_type": "native",
  "logo_uri": "<string>",
  "is_first_party": false,
  "oidc_conformant": false,
  "callbacks": [
    "<string>"
  ],
  "allowed_origins": [
    "<string>"
  ],
  "web_origins": [
    "<string>"
  ],
  "client_aliases": [
    "<string>"
  ],
  "allowed_clients": [
    "<string>"
  ],
  "allowed_logout_urls": [
    "<string>"
  ],
  "session_transfer": {
    "can_create_session_transfer_token": false,
    "enforce_cascade_revocation": true,
    "allowed_authentication_methods": [
      "cookie"
    ],
    "enforce_device_binding": "ip",
    "allow_refresh_token": false,
    "enforce_online_refresh_tokens": true
  },
  "oidc_logout": {
    "backchannel_logout_urls": [
      "<string>"
    ],
    "backchannel_logout_initiators": {
      "mode": "custom",
      "selected_initiators": [
        "rp-logout"
      ]
    },
    "backchannel_logout_session_metadata": {
      "include": true
    }
  },
  "grant_types": [
    "<string>"
  ],
  "jwt_configuration": {
    "lifetime_in_seconds": 36000,
    "secret_encoded": true,
    "scopes": {},
    "alg": "HS256"
  },
  "signing_keys": [
    {
      "pkcs7": "",
      "cert": "",
      "subject": ""
    }
  ],
  "encryption_key": {
    "pub": "<string>",
    "cert": "<string>",
    "subject": "<string>"
  },
  "sso": false,
  "sso_disabled": false,
  "cross_origin_authentication": true,
  "cross_origin_loc": "<string>",
  "custom_login_page_on": true,
  "custom_login_page": "",
  "custom_login_page_preview": "",
  "form_template": "",
  "addons": {
    "aws": {
      "principal": "<string>",
      "role": "<string>",
      "lifetime_in_seconds": 22050
    },
    "azure_blob": {
      "accountName": "<string>",
      "storageAccessKey": "<string>",
      "containerName": "<string>",
      "blobName": "<string>",
      "expiration": 1,
      "signedIdentifier": "<string>",
      "blob_read": true,
      "blob_write": true,
      "blob_delete": true,
      "container_read": true,
      "container_write": true,
      "container_delete": true,
      "container_list": true
    },
    "azure_sb": {
      "namespace": "<string>",
      "sasKeyName": "<string>",
      "sasKey": "<string>",
      "entityPath": "<string>",
      "expiration": 123
    },
    "rms": {
      "url": "<string>"
    },
    "mscrm": {
      "url": "<string>"
    },
    "slack": {
      "team": "<string>"
    },
    "sentry": {
      "org_slug": "<string>",
      "base_url": "<string>"
    },
    "box": {},
    "cloudbees": {},
    "concur": {},
    "dropbox": {},
    "echosign": {
      "domain": "<string>"
    },
    "egnyte": {
      "domain": "<string>"
    },
    "firebase": {
      "secret": "<string>",
      "private_key_id": "<string>",
      "private_key": "<string>",
      "client_email": "<string>",
      "lifetime_in_seconds": 123
    },
    "newrelic": {
      "account": "<string>"
    },
    "office365": {
      "domain": "<string>",
      "connection": "<string>"
    },
    "salesforce": {
      "entity_id": "<string>"
    },
    "salesforce_api": {
      "clientid": "<string>",
      "principal": "<string>",
      "communityName": "<string>",
      "community_url_section": "<string>"
    },
    "salesforce_sandbox_api": {
      "clientid": "<string>",
      "principal": "<string>",
      "communityName": "<string>",
      "community_url_section": "<string>"
    },
    "samlp": {
      "mappings": {},
      "audience": "<string>",
      "recipient": "<string>",
      "createUpnClaim": true,
      "mapUnknownClaimsAsIs": true,
      "passthroughClaimsWithNoMapping": true,
      "mapIdentities": true,
      "signatureAlgorithm": "<string>",
      "digestAlgorithm": "<string>",
      "issuer": "<string>",
      "destination": "<string>",
      "lifetimeInSeconds": 123,
      "signResponse": true,
      "nameIdentifierFormat": "<string>",
      "nameIdentifierProbes": [
        "<string>"
      ],
      "authnContextClassRef": "<string>"
    },
    "layer": {
      "providerId": "<string>",
      "keyId": "<string>",
      "privateKey": "<string>",
      "principal": "<string>",
      "expiration": 1
    },
    "sap_api": {
      "clientid": "<string>",
      "usernameAttribute": "<string>",
      "tokenEndpointUrl": "<string>",
      "scope": "<string>",
      "servicePassword": "<string>",
      "nameIdentifierFormat": "<string>"
    },
    "sharepoint": {
      "url": "<string>",
      "external_url": [
        "<string>"
      ]
    },
    "springcm": {
      "acsurl": "<string>"
    },
    "wams": {
      "masterkey": "<string>"
    },
    "wsfed": {},
    "zendesk": {
      "accountName": "<string>"
    },
    "zoom": {
      "account": "<string>"
    },
    "sso_integration": {
      "name": "<string>",
      "version": "<string>"
    },
    "oag": {}
  },
  "token_endpoint_auth_method": "none",
  "is_token_endpoint_ip_header_trusted": false,
  "client_metadata": {},
  "mobile": {
    "android": {
      "app_package_name": "",
      "sha256_cert_fingerprints": [
        "<string>"
      ]
    },
    "ios": {
      "team_id": "",
      "app_bundle_identifier": ""
    }
  },
  "initiate_login_uri": "<string>",
  "native_social_login": "<unknown>",
  "refresh_token": {
    "rotation_type": "non-rotating",
    "expiration_type": "non-expiring",
    "leeway": 0,
    "token_lifetime": 78894000,
    "infinite_token_lifetime": true,
    "idle_token_lifetime": 2,
    "infinite_idle_token_lifetime": false,
    "policies": [
      {
        "audience": "<string>",
        "scope": [
          "<string>"
        ]
      }
    ]
  },
  "default_organization": {
    "organization_id": "<string>",
    "flows": [
      "client_credentials"
    ]
  },
  "organization_usage": "deny",
  "organization_require_behavior": "no_prompt",
  "organization_discovery_methods": [
    "email"
  ],
  "client_authentication_methods": {
    "private_key_jwt": {
      "credentials": [
        {
          "id": "<string>"
        }
      ]
    },
    "tls_client_auth": {
      "credentials": [
        {
          "id": "<string>"
        }
      ]
    },
    "self_signed_tls_client_auth": {
      "credentials": [
        {
          "id": "<string>"
        }
      ]
    }
  },
  "require_pushed_authorization_requests": false,
  "require_proof_of_possession": false,
  "signed_request_object": {
    "required": false,
    "credentials": [
      {
        "id": "<string>"
      }
    ]
  },
  "compliance_level": "none",
  "skip_non_verifiable_callback_uri_confirmation_prompt": true,
  "token_exchange": {
    "allow_any_profile_of_type": [
      "custom_authentication"
    ]
  },
  "par_request_expiry": 305,
  "token_quota": {
    "client_credentials": {
      "enforce": true,
      "per_day": 1073741824,
      "per_hour": 1073741824
    }
  },
  "express_configuration": {
    "initiate_login_uri_template": "<string>",
    "user_attribute_profile_id": "<string>",
    "connection_profile_id": "<string>",
    "enable_client": true,
    "enable_organization": true,
    "okta_oin_client_id": "<string>",
    "admin_login_domain": "<string>",
    "linked_clients": [
      {
        "client_id": "<string>"
      }
    ],
    "oin_submission_id": "<string>"
  },
  "resource_server_identifier": "<string>",
  "async_approval_notification_channels": [
    "guardian-push"
  ]
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

name
string
required

Name of this client (min length: 1 character, does not allow < or >).

Pattern: ^[^<>]+$
description
string

Free text description of this client (max length: 140 characters).

Maximum string length: 140
logo_uri
string<absolute-uri-or-empty>

URL of the logo to display for this client. Recommended size is 150x150 pixels.

callbacks
string<callback-url>[]

Comma-separated list of URLs whitelisted for Auth0 to use as a callback to the client after authentication.

oidc_logout
object

Configuration for OIDC backchannel logout

oidc_backchannel_logout
object

Configuration for OIDC backchannel logout (deprecated, in favor of oidc_logout)

session_transfer
object

Native to Web SSO Configuration

allowed_origins
string<url-with-placeholders>[]

Comma-separated list of URLs allowed to make requests from JavaScript to Auth0 API (typically used with CORS). By default, all your callback URLs will be allowed. This field allows you to enter other origins if necessary. You can also use wildcards at the subdomain level (e.g., https://*.contoso.com). Query strings and hash information are not taken into account when validating these URLs.

web_origins
string<url-with-placeholders>[]

Comma-separated list of allowed origins for use with Cross-Origin Authentication, Device Flow, and web message response mode.

client_aliases
string[]

List of audiences/realms for SAML protocol. Used by the wsfed addon.

Minimum string length: 1
allowed_clients
string[]

List of allow clients and API ids that are allowed to make delegation requests. Empty means all all your clients are allowed.

Minimum string length: 1
allowed_logout_urls
string<url-with-placeholders>[]

Comma-separated list of URLs that are valid to redirect to after logout from Auth0. Wildcards are allowed for subdomains.

grant_types
string[]

List of grant types supported for this application. Can include authorization_code, implicit, refresh_token, client_credentials, password, http://auth0.com/oauth/grant-type/password-realm, http://auth0.com/oauth/grant-type/mfa-oob, http://auth0.com/oauth/grant-type/mfa-otp, http://auth0.com/oauth/grant-type/mfa-recovery-code, urn:openid:params:grant-type:ciba, urn:ietf:params:oauth:grant-type:device_code, and urn:auth0:params:oauth:grant-type:token-exchange:federated-connection-access-token.

Minimum string length: 1
token_endpoint_auth_method
enum<string>
default:none

Defines the requested authentication method for the token endpoint. Can be none (public client without a client secret), client_secret_post (client uses HTTP POST parameters), or client_secret_basic (client uses HTTP Basic).

Available options:
none,
client_secret_post,
client_secret_basic
is_token_endpoint_ip_header_trusted
boolean
default:false

If true, trust that the IP specified in the auth0-forwarded-for header is the end-user's IP for brute-force-protection on token endpoint.

app_type
enum<string>

The type of application this client represents

Available options:
native,
spa,
regular_web,
non_interactive,
resource_server,
express_configuration,
rms,
box,
cloudbees,
concur,
dropbox,
mscrm,
echosign,
egnyte,
newrelic,
office365,
salesforce,
sentry,
sharepoint,
slack,
springcm,
zendesk,
zoom,
sso_integration,
oag
is_first_party
boolean
default:true

Whether this client a first party client or not

oidc_conformant
boolean
default:false

Whether this client conforms to strict OIDC specifications (true) or uses legacy features (false).

jwt_configuration
object

Configuration related to JWTs for the client.

encryption_key
object

Encryption used for WsFed responses with this client.

sso
boolean

Applies only to SSO clients and determines whether Auth0 will handle Single Sign On (true) or whether the Identity Provider will (false).

cross_origin_authentication
boolean
default:false

Whether this client can be used to make cross-origin authentication requests (true) or it is not allowed to make such requests (false).

cross_origin_loc
string<url>

URL of the location in your site where the cross origin verification takes place for the cross-origin auth flow when performing Auth in your own domain instead of Auth0 hosted login page.

sso_disabled
boolean

true to disable Single Sign On, false otherwise (default: false)

custom_login_page_on
boolean

true if the custom login page is to be used, false otherwise. Defaults to true

custom_login_page
string

The content (HTML, CSS, JS) of the custom login page.

Minimum string length: 1
custom_login_page_preview
string

The content (HTML, CSS, JS) of the custom login page. (Used on Previews)

Minimum string length: 1
form_template
string

HTML form template to be used for WS-Federation.

Minimum string length: 1
addons
object

Addons enabled for this client and their associated configurations.

client_metadata
object

Metadata associated with the client, in the form of an object with string values (max 255 chars). Maximum of 10 metadata properties allowed. Field names (max 255 chars) are alphanumeric and may only include the following special characters: :,-+=_*?"/()<>@ [Tab] [Space]

mobile
object

Additional configuration for native mobile apps.

initiate_login_uri
string<absolute-https-uri-with-placeholders-or-empty>

Initiate login uri, must be https

native_social_login
object

Configure native social settings

refresh_token
object

Refresh token configuration

default_organization
object

Defines the default Organization ID and flows

organization_usage
enum<string>
default:deny

Defines how to proceed during an authentication transaction with regards an organization. Can be deny (default), allow or require.

Available options:
deny,
allow,
require
organization_require_behavior
enum<string>
default:no_prompt

Defines how to proceed during an authentication transaction when client.organization_usage: 'require'. Can be no_prompt (default), pre_login_prompt or post_login_prompt. post_login_prompt requires oidc_conformant: true.

Available options:
no_prompt,
pre_login_prompt,
post_login_prompt
organization_discovery_methods
enum<string>[]

Defines the available methods for organization discovery during the pre_login_prompt. Users can discover their organization either by email, organization_name or both.

Minimum array length: 1

Method for discovering organizations during the pre_login_prompt. email allows users to find their organization by entering their email address and performing domain matching, while organization_name requires users to enter the organization name directly. These methods can be combined.

Available options:
email,
organization_name
client_authentication_methods
object

Defines client authentication methods.

require_pushed_authorization_requests
boolean
default:false

Makes the use of Pushed Authorization Requests mandatory for this client

require_proof_of_possession
boolean
default:false

Makes the use of Proof-of-Possession mandatory for this client

signed_request_object
object

JWT-secured Authorization Requests (JAR) settings.

compliance_level
enum<string> | null

Defines the compliance level for this client, which may restrict it's capabilities

Available options:
none,
fapi1_adv_pkj_par,
fapi1_adv_mtls_par,
fapi2_sp_pkj_mtls,
fapi2_sp_mtls_mtls,
null
skip_non_verifiable_callback_uri_confirmation_prompt
boolean

Controls whether a confirmation prompt is shown during login flows when the redirect URI uses non-verifiable callback URIs (for example, a custom URI schema such as myapp://, or localhost). If set to true, a confirmation prompt will not be shown. We recommend that this is set to false for improved protection from malicious apps. See https://auth0.com/docs/secure/security-guidance/measures-against-app-impersonation for more information.

token_exchange
object

Configuration for token exchange.

par_request_expiry
integer | null

Specifies how long, in seconds, a Pushed Authorization Request URI remains valid

Required range: 10 <= x <= 600
token_quota
object
resource_server_identifier
string

The identifier of the resource server that this client is linked to.

Required string length: 1 - 600
express_configuration
object

Application specific configuration for use with the OIN Express Configuration feature.

async_approval_notification_channels
enum<string>[]

Array of notification channels for contacting the user when their approval is required. Valid values are guardian-push, email.

Minimum array length: 1
Available options:
guardian-push,
email

Response

Client successfully created.

client_id
string
default:AaiyAPdpYdesoKnqjj8HJqRn4T5titww

ID of this client.

tenant
string
default:""

Name of the tenant this client belongs to.

name
string
default:My application

Name of this client (min length: 1 character, does not allow < or >).

description
string
default:""

Free text description of this client (max length: 140 characters).

global
boolean
default:false

Whether this is your global 'All Applications' client representing legacy tenant settings (true) or a regular client (false).

client_secret
string
default:MG_TNT2ver-SylNat-_VeMmd-4m0Waba0jr1troztBniSChEw0glxEmgEi2Kw40H

Client secret (which you must not make public).

app_type
enum<string>

The type of application this client represents

Available options:
native,
spa,
regular_web,
non_interactive,
resource_server,
express_configuration,
rms,
box,
cloudbees,
concur,
dropbox,
mscrm,
echosign,
egnyte,
newrelic,
office365,
salesforce,
sentry,
sharepoint,
slack,
springcm,
zendesk,
zoom,
sso_integration,
oag
logo_uri
string

URL of the logo to display for this client. Recommended size is 150x150 pixels.

is_first_party
boolean
default:false

Whether this client a first party client (true) or not (false).

oidc_conformant
boolean
default:false

Whether this client conforms to strict OIDC specifications (true) or uses legacy features (false).

callbacks
string[]

Comma-separated list of URLs whitelisted for Auth0 to use as a callback to the client after authentication.

allowed_origins
string[]

Comma-separated list of URLs allowed to make requests from JavaScript to Auth0 API (typically used with CORS). By default, all your callback URLs will be allowed. This field allows you to enter other origins if necessary. You can also use wildcards at the subdomain level (e.g., https://*.contoso.com). Query strings and hash information are not taken into account when validating these URLs.

web_origins
string[]

Comma-separated list of allowed origins for use with Cross-Origin Authentication, Device Flow, and web message response mode.

client_aliases
string[]

List of audiences/realms for SAML protocol. Used by the wsfed addon.

allowed_clients
string[]

List of allow clients and API ids that are allowed to make delegation requests. Empty means all all your clients are allowed.

allowed_logout_urls
string[]

Comma-separated list of URLs that are valid to redirect to after logout from Auth0. Wildcards are allowed for subdomains.

session_transfer
object

Native to Web SSO Configuration

oidc_logout
object

Configuration for OIDC backchannel logout

grant_types
string[]

List of grant types supported for this application. Can include authorization_code, implicit, refresh_token, client_credentials, password, http://auth0.com/oauth/grant-type/password-realm, http://auth0.com/oauth/grant-type/mfa-oob, http://auth0.com/oauth/grant-type/mfa-otp, http://auth0.com/oauth/grant-type/mfa-recovery-code, urn:openid:params:grant-type:ciba, urn:ietf:params:oauth:grant-type:device_code, and urn:auth0:params:oauth:grant-type:token-exchange:federated-connection-access-token.

jwt_configuration
object

Configuration related to JWTs for the client.

signing_keys
object[] | null

Signing certificates associated with this client.

encryption_key
object

Encryption used for WsFed responses with this client.

sso
boolean
default:false

Applies only to SSO clients and determines whether Auth0 will handle Single Sign On (true) or whether the Identity Provider will (false).

sso_disabled
boolean
default:false

Whether Single Sign On is disabled (true) or enabled (true). Defaults to true.

cross_origin_authentication
boolean

Whether this client can be used to make cross-origin authentication requests (true) or it is not allowed to make such requests (false).

cross_origin_loc
string<url>

URL of the location in your site where the cross origin verification takes place for the cross-origin auth flow when performing Auth in your own domain instead of Auth0 hosted login page.

custom_login_page_on
boolean
default:true

Whether a custom login page is to be used (true) or the default provided login page (false).

custom_login_page
string
default:""

The content (HTML, CSS, JS) of the custom login page.

custom_login_page_preview
string
default:""

The content (HTML, CSS, JS) of the custom login page. (Used on Previews)

form_template
string
default:""

HTML form template to be used for WS-Federation.

addons
object

Addons enabled for this client and their associated configurations.

token_endpoint_auth_method
enum<string>
default:none

Defines the requested authentication method for the token endpoint. Can be none (public client without a client secret), client_secret_post (client uses HTTP POST parameters), or client_secret_basic (client uses HTTP Basic).

Available options:
none,
client_secret_post,
client_secret_basic
is_token_endpoint_ip_header_trusted
boolean
default:false

If true, trust that the IP specified in the auth0-forwarded-for header is the end-user's IP for brute-force-protection on token endpoint.

client_metadata
object

Metadata associated with the client, in the form of an object with string values (max 255 chars). Maximum of 10 metadata properties allowed. Field names (max 255 chars) are alphanumeric and may only include the following special characters: :,-+=_*?"/()<>@ [Tab] [Space]

mobile
object

Additional configuration for native mobile apps.

initiate_login_uri
string<absolute-https-uri-with-placeholders-or-empty>

Initiate login uri, must be https

native_social_login
any
refresh_token
object

Refresh token configuration

default_organization
object

Defines the default Organization ID and flows

organization_usage
enum<string>
default:deny

Defines how to proceed during an authentication transaction with regards an organization. Can be deny (default), allow or require.

Available options:
deny,
allow,
require
organization_require_behavior
enum<string>
default:no_prompt

Defines how to proceed during an authentication transaction when client.organization_usage: 'require'. Can be no_prompt (default), pre_login_prompt or post_login_prompt. post_login_prompt requires oidc_conformant: true.

Available options:
no_prompt,
pre_login_prompt,
post_login_prompt
organization_discovery_methods
enum<string>[]

Defines the available methods for organization discovery during the pre_login_prompt. Users can discover their organization either by email, organization_name or both.

Minimum array length: 1

Method for discovering organizations during the pre_login_prompt. email allows users to find their organization by entering their email address and performing domain matching, while organization_name requires users to enter the organization name directly. These methods can be combined.

Available options:
email,
organization_name
client_authentication_methods
object

Defines client authentication methods.

require_pushed_authorization_requests
boolean
default:false

Makes the use of Pushed Authorization Requests mandatory for this client

require_proof_of_possession
boolean
default:false

Makes the use of Proof-of-Possession mandatory for this client

signed_request_object
object

JWT-secured Authorization Requests (JAR) settings.

compliance_level
enum<string> | null

Defines the compliance level for this client, which may restrict it's capabilities

Available options:
none,
fapi1_adv_pkj_par,
fapi1_adv_mtls_par,
fapi2_sp_pkj_mtls,
fapi2_sp_mtls_mtls,
null
skip_non_verifiable_callback_uri_confirmation_prompt
boolean

Controls whether a confirmation prompt is shown during login flows when the redirect URI uses non-verifiable callback URIs (for example, a custom URI schema such as myapp://, or localhost). If set to true, a confirmation prompt will not be shown. We recommend that this is set to false for improved protection from malicious apps. See https://auth0.com/docs/secure/security-guidance/measures-against-app-impersonation for more information.

token_exchange
object

Configuration for token exchange.

par_request_expiry
integer | null

Specifies how long, in seconds, a Pushed Authorization Request URI remains valid

Required range: 10 <= x <= 600
token_quota
object
express_configuration
object

Application specific configuration for use with the OIN Express Configuration feature.

resource_server_identifier
string

The identifier of the resource server that this client is linked to.

async_approval_notification_channels
enum<string>[]

Array of notification channels for contacting the user when their approval is required. Valid values are guardian-push, email.

Minimum array length: 1
Available options:
guardian-push,
email