---
id: create-oauth-client
sidebar_label: Create OAuth Client
hide_title: true
hide_table_of_contents: true
api: {"operationId":"createOauthClient","security":[{"oauth2":["sp:oauth-client:manage"]}],"tags":["OAuth Clients"],"description":"This creates an OAuth client.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"businessName":{"type":"string","nullable":true,"description":"The name of the business the API Client should belong to","example":"Acme-Solar"},"homepageUrl":{"type":"string","nullable":true,"description":"The homepage URL associated with the owner of the API Client","example":"http://localhost:12345"},"name":{"type":"string","nullable":true,"description":"A human-readable name for the API Client","example":"Demo API Client"},"description":{"type":"string","nullable":true,"description":"A description of the API Client","example":"An API client used for the authorization_code, refresh_token, and client_credentials flows"},"accessTokenValiditySeconds":{"type":"integer","format":"int32","description":"The number of seconds an access token generated for this API Client is valid for","example":750},"refreshTokenValiditySeconds":{"type":"integer","format":"int32","description":"The number of seconds a refresh token generated for this API Client is valid for","example":86400},"redirectUris":{"type":"array","nullable":true,"items":{"type":"string"},"description":"A list of the approved redirect URIs. Provide one or more URIs when assigning the AUTHORIZATION_CODE grant type to a new OAuth Client.","example":["http://localhost:12345","http://localhost:67890"]},"grantTypes":{"type":"array","nullable":true,"items":{"description":"OAuth2 Grant Type","type":"string","example":"CLIENT_CREDENTIALS","enum":["CLIENT_CREDENTIALS","AUTHORIZATION_CODE","REFRESH_TOKEN"]},"description":"A list of OAuth 2.0 grant types this API Client can be used with","example":["AUTHORIZATION_CODE","CLIENT_CREDENTIALS","REFRESH_TOKEN"]},"accessType":{"description":"The access type (online or offline) of this API Client","example":"OFFLINE","type":"string","enum":["ONLINE","OFFLINE"]},"type":{"description":"The type of the API Client (public or confidential)","example":"CONFIDENTIAL","type":"string","enum":["CONFIDENTIAL","PUBLIC"]},"internal":{"type":"boolean","description":"An indicator of whether the API Client can be used for requests internal within the product.","example":false},"enabled":{"type":"boolean","description":"An indicator of whether the API Client is enabled for use","example":true},"strongAuthSupported":{"type":"boolean","description":"An indicator of whether the API Client supports strong authentication","example":false},"claimsSupported":{"type":"boolean","description":"An indicator of whether the API Client supports the serialization of SAML claims when used with the authorization_code flow","example":false},"scope":{"type":"array","nullable":true,"items":{"type":"string","default":"sp:scopes:all"},"description":"Scopes of the API Client. If no scope is specified, the client will be created with the default scope \"sp:scopes:all\". This means the API Client will have all the rights of the owner who created it.","example":["demo:api-client-scope:first","demo:api-client-scope:second"]}},"required":["name","description","accessTokenValiditySeconds","grantTypes","accessType","enabled"]}}}},"responses":{"200":{"description":"Request succeeded.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"ID of the OAuth client","example":"2c9180835d2e5168015d32f890ca1581"},"secret":{"type":"string","description":"Secret of the OAuth client (This field is only returned on the intial create call.)","example":"5c32dd9b21adb51c77794d46e71de117a1d0ddb36a7ff941fa28014ab7de2cf3"},"businessName":{"type":"string","description":"The name of the business the API Client should belong to","example":"Acme-Solar"},"homepageUrl":{"type":"string","description":"The homepage URL associated with the owner of the API Client","example":"http://localhost:12345"},"name":{"type":"string","description":"A human-readable name for the API Client","example":"Demo API Client"},"description":{"type":"string","description":"A description of the API Client","example":"An API client used for the authorization_code, refresh_token, and client_credentials flows"},"accessTokenValiditySeconds":{"type":"integer","format":"int32","description":"The number of seconds an access token generated for this API Client is valid for","example":750},"refreshTokenValiditySeconds":{"type":"integer","format":"int32","description":"The number of seconds a refresh token generated for this API Client is valid for","example":86400},"redirectUris":{"type":"array","items":{"type":"string"},"description":"A list of the approved redirect URIs used with the authorization_code flow","example":["http://localhost:12345"]},"grantTypes":{"type":"array","items":{"description":"OAuth2 Grant Type","type":"string","example":"CLIENT_CREDENTIALS","enum":["CLIENT_CREDENTIALS","AUTHORIZATION_CODE","REFRESH_TOKEN"]},"description":"A list of OAuth 2.0 grant types this API Client can be used with","example":["AUTHORIZATION_CODE","CLIENT_CREDENTIALS","REFRESH_TOKEN"]},"accessType":{"description":"The access type (online or offline) of this API Client","example":"OFFLINE","type":"string","enum":["ONLINE","OFFLINE"]},"type":{"description":"The type of the API Client (public or confidential)","example":"CONFIDENTIAL","type":"string","enum":["CONFIDENTIAL","PUBLIC"]},"internal":{"type":"boolean","description":"An indicator of whether the API Client can be used for requests internal to IDN","example":false},"enabled":{"type":"boolean","description":"An indicator of whether the API Client is enabled for use","example":true},"strongAuthSupported":{"type":"boolean","description":"An indicator of whether the API Client supports strong authentication","example":false},"claimsSupported":{"type":"boolean","description":"An indicator of whether the API Client supports the serialization of SAML claims when used with the authorization_code flow","example":false},"created":{"type":"string","format":"date-time","description":"The date and time, down to the millisecond, when the API Client was created","example":"2017-07-11T18:45:37.098Z"},"modified":{"type":"string","format":"date-time","description":"The date and time, down to the millisecond, when the API Client was last updated","example":"2018-06-25T20:22:28.104Z"},"scope":{"type":"array","nullable":true,"items":{"type":"string","default":"sp:scopes:all"},"description":"Scopes of the API Client.","example":["demo:api-client-scope:first","demo:api-client-scope:second"]}},"required":["id","secret","businessName","homepageUrl","name","description","accessTokenValiditySeconds","refreshTokenValiditySeconds","redirectUris","grantTypes","accessType","type","internal","enabled","strongAuthSupported","claimsSupported","created","modified","scope"]}}}},"400":{"description":"Client Error - Returned if the request body is invalid.","content":{"application/json":{"schema":{"type":"object","properties":{"detailCode":{"type":"string","description":"Fine-grained error code providing more detail of the error.","example":"400.1 Bad Request Content"},"trackingId":{"type":"string","description":"Unique tracking id for the error.","example":"e7eab60924f64aa284175b9fa3309599"},"messages":{"type":"array","description":"Generic localized reason for error","items":{"type":"object","properties":{"locale":{"type":"string","description":"The locale for the message text, a BCP 47 language tag.","example":"en-US"},"localeOrigin":{"type":"string","enum":["DEFAULT","REQUEST"],"description":"An indicator of how the locale was selected. *DEFAULT* means the locale is the system default. *REQUEST* means the locale was selected from the request context (i.e., best match based on the *Accept-Language* header). Additional values may be added in the future without notice.","example":"DEFAULT"},"text":{"type":"string","description":"Actual text of the error message in the indicated locale.","example":"The request was syntactically correct but its content is semantically invalid."}}}},"causes":{"type":"array","description":"Plain-text descriptive reasons to provide additional detail to the text provided in the messages field","items":{"type":"object","properties":{"locale":{"type":"string","description":"The locale for the message text, a BCP 47 language tag.","example":"en-US"},"localeOrigin":{"type":"string","enum":["DEFAULT","REQUEST"],"description":"An indicator of how the locale was selected. *DEFAULT* means the locale is the system default. *REQUEST* means the locale was selected from the request context (i.e., best match based on the *Accept-Language* header). Additional values may be added in the future without notice.","example":"DEFAULT"},"text":{"type":"string","description":"Actual text of the error message in the indicated locale.","example":"The request was syntactically correct but its content is semantically invalid."}}}}}}}}},"401":{"description":"Unauthorized - Returned if there is no authorization header, or if the JWT token is expired.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"A message describing the error","example":"JWT validation failed: JWT is expired"}}}}}},"403":{"description":"Forbidden - Returned if the user you are running as, doesn't have access to this end-point.","content":{"application/json":{"schema":{"type":"object","properties":{"detailCode":{"type":"string","description":"Fine-grained error code providing more detail of the error.","example":"400.1 Bad Request Content"},"trackingId":{"type":"string","description":"Unique tracking id for the error.","example":"e7eab60924f64aa284175b9fa3309599"},"messages":{"type":"array","description":"Generic localized reason for error","items":{"type":"object","properties":{"locale":{"type":"string","description":"The locale for the message text, a BCP 47 language tag.","example":"en-US"},"localeOrigin":{"type":"string","enum":["DEFAULT","REQUEST"],"description":"An indicator of how the locale was selected. *DEFAULT* means the locale is the system default. *REQUEST* means the locale was selected from the request context (i.e., best match based on the *Accept-Language* header). Additional values may be added in the future without notice.","example":"DEFAULT"},"text":{"type":"string","description":"Actual text of the error message in the indicated locale.","example":"The request was syntactically correct but its content is semantically invalid."}}}},"causes":{"type":"array","description":"Plain-text descriptive reasons to provide additional detail to the text provided in the messages field","items":{"type":"object","properties":{"locale":{"type":"string","description":"The locale for the message text, a BCP 47 language tag.","example":"en-US"},"localeOrigin":{"type":"string","enum":["DEFAULT","REQUEST"],"description":"An indicator of how the locale was selected. *DEFAULT* means the locale is the system default. *REQUEST* means the locale was selected from the request context (i.e., best match based on the *Accept-Language* header). Additional values may be added in the future without notice.","example":"DEFAULT"},"text":{"type":"string","description":"Actual text of the error message in the indicated locale.","example":"The request was syntactically correct but its content is semantically invalid."}}}}}},"examples":{"403":{"summary":"An example of a 403 response object","value":{"detailCode":"403 Forbidden","trackingId":"b21b1f7ce4da4d639f2c62a57171b427","messages":[{"locale":"en-US","localeOrigin":"DEFAULT","text":"The server understood the request but refuses to authorize it."}]}}}}}},"429":{"description":"Too Many Requests - Returned in response to too many requests in a given period of time - rate limited. The Retry-After header in the response includes how long to wait before trying again.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"description":"A message describing the error","example":" Rate Limit Exceeded "}}}}}},"500":{"description":"Internal Server Error - Returned if there is an unexpected error.","content":{"application/json":{"schema":{"type":"object","properties":{"detailCode":{"type":"string","description":"Fine-grained error code providing more detail of the error.","example":"400.1 Bad Request Content"},"trackingId":{"type":"string","description":"Unique tracking id for the error.","example":"e7eab60924f64aa284175b9fa3309599"},"messages":{"type":"array","description":"Generic localized reason for error","items":{"type":"object","properties":{"locale":{"type":"string","description":"The locale for the message text, a BCP 47 language tag.","example":"en-US"},"localeOrigin":{"type":"string","enum":["DEFAULT","REQUEST"],"description":"An indicator of how the locale was selected. *DEFAULT* means the locale is the system default. *REQUEST* means the locale was selected from the request context (i.e., best match based on the *Accept-Language* header). Additional values may be added in the future without notice.","example":"DEFAULT"},"text":{"type":"string","description":"Actual text of the error message in the indicated locale.","example":"The request was syntactically correct but its content is semantically invalid."}}}},"causes":{"type":"array","description":"Plain-text descriptive reasons to provide additional detail to the text provided in the messages field","items":{"type":"object","properties":{"locale":{"type":"string","description":"The locale for the message text, a BCP 47 language tag.","example":"en-US"},"localeOrigin":{"type":"string","enum":["DEFAULT","REQUEST"],"description":"An indicator of how the locale was selected. *DEFAULT* means the locale is the system default. *REQUEST* means the locale was selected from the request context (i.e., best match based on the *Accept-Language* header). Additional values may be added in the future without notice.","example":"DEFAULT"},"text":{"type":"string","description":"Actual text of the error message in the indicated locale.","example":"The request was syntactically correct but its content is semantically invalid."}}}}}},"examples":{"500":{"summary":"An example of a 500 response object","value":{"detailCode":"500.0 Internal Fault","trackingId":"b21b1f7ce4da4d639f2c62a57171b427","messages":[{"locale":"en-US","localeOrigin":"DEFAULT","text":"An internal fault occurred."}]}}}}}}},"method":"post","path":"/oauth-clients","servers":[{"url":"https://{tenant}.api.identitynow.com/beta","description":"This is the beta API server.","variables":{"tenant":{"default":"sailpoint","description":"This is the name of your tenant, typically your company's name."}}}],"securitySchemes":{"oauth2":{"type":"oauth2","description":"OAuth2 Bearer token (JWT). See [IdentityNow REST API Authentication](https://developer.sailpoint.com/idn/api/authentication) for more information.\n- Directions for generating a [personal access token](https://developer.sailpoint.com/idn/api/authentication#personal-access-tokens)\n- Directions using [client credentials flow](https://developer.sailpoint.com/idn/api/authentication#client-credentials-grant-flow)\n- Directions for using [authorization code flow](https://developer.sailpoint.com/idn/api/authentication#authorization-code-grant-flow)\n\nWhich authentication method should I choose?  See our [guide](https://developer.sailpoint.com/idn/api/authentication#which-oauth-20-grant-flow-should-i-use)\n\nLearn more about how to find your `tokenUrl` and `authorizationUrl` [in our docs](https://developer.sailpoint.com/idn/api/authentication#find-your-tenants-oauth-details)\n","flows":{"clientCredentials":{"tokenUrl":"https://tenant.api.identitynow.com/oauth/token","scopes":{"sp:scopes:default":"default scope","sp:scopes:all":"access to all scopes"}},"authorizationCode":{"authorizationUrl":"https://tenant.identitynow.com/oauth/authorize","tokenUrl":"https://tenant.api.identitynow.com/oauth/token","scopes":{"sp:scopes:default":"default scope","sp:scopes:all":"access to all scopes"}}}}},"jsonRequestBodyExample":{"businessName":"Acme-Solar","homepageUrl":"http://localhost:12345","name":"Demo API Client","description":"An API client used for the authorization_code, refresh_token, and client_credentials flows","accessTokenValiditySeconds":750,"refreshTokenValiditySeconds":86400,"redirectUris":["http://localhost:12345","http://localhost:67890"],"grantTypes":["AUTHORIZATION_CODE","CLIENT_CREDENTIALS","REFRESH_TOKEN"],"accessType":"OFFLINE","type":"CONFIDENTIAL","internal":false,"enabled":true,"strongAuthSupported":false,"claimsSupported":false,"scope":["demo:api-client-scope:first","demo:api-client-scope:second"]},"info":{"title":"IdentityNow Beta API","description":"Use these APIs to interact with the IdentityNow platform to achieve repeatable, automated processes with greater scalability. These APIs are in beta and are subject to change. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs.","termsOfService":"https://developer.sailpoint.com/discuss/tos","contact":{"name":"Developer Relations","url":"https://developer.sailpoint.com/discuss/api-help"},"license":{"name":"MIT","url":"https://opensource.org/licenses/MIT"},"version":"3.1.0-beta"},"postman":{"name":"Create OAuth Client","description":{"content":"This creates an OAuth client.","type":"text/plain"},"url":{"path":["oauth-clients"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}},"auth":{"type":"oauth2","oauth2":[]}}}
sidebar_class_name: "post api-method"
info_path: idn/api/beta/identitynow-beta-api
custom_edit_url: "https://github.com/sailpoint-oss/developer.sailpoint.com/issues/new?assignees=&labels=&template=bug-report.md&title=%5BBug%5D+Your+Bug+Report+Here Requesting changes to 'Create OAuth Client' (create-oauth-client)"
---

import ApiTabs from "@theme/ApiTabs";
import MimeTabs from "@theme/MimeTabs";
import ParamsItem from "@theme/ParamsItem";
import ResponseSamples from "@theme/ResponseSamples";
import SchemaItem from "@theme/SchemaItem";
import SchemaTabs from "@theme/SchemaTabs";
import DiscriminatorTabs from "@theme/DiscriminatorTabs";
import TabItem from "@theme/TabItem";

## Create OAuth Client



This creates an OAuth client.

<MimeTabs><TabItem label={"application/json"} value={"application/json-schema"}><details style={{}} data-collapsed={false} open={true}><summary style={{"textAlign":"left"}}><strong>Request Body</strong><strong style={{"fontSize":"var(--ifm-code-font-size)","color":"var(--openapi-required)"}}> required</strong></summary><div style={{"textAlign":"left","marginLeft":"1rem"}}></div><ul style={{"marginLeft":"1rem"}}><SchemaItem collapsible={false} name={"businessName"} required={false} deprecated={undefined} schemaDescription={"The name of the business the API Client should belong to"} schemaName={"string"} qualifierMessage={undefined} defaultValue={undefined}></SchemaItem><SchemaItem collapsible={false} name={"homepageUrl"} required={false} deprecated={undefined} schemaDescription={"The homepage URL associated with the owner of the API Client"} schemaName={"string"} qualifierMessage={undefined} defaultValue={undefined}></SchemaItem><SchemaItem collapsible={false} name={"name"} required={true} deprecated={undefined} schemaDescription={"A human-readable name for the API Client"} schemaName={"string"} qualifierMessage={undefined} defaultValue={undefined}></SchemaItem><SchemaItem collapsible={false} name={"description"} required={true} deprecated={undefined} schemaDescription={"A description of the API Client"} schemaName={"string"} qualifierMessage={undefined} defaultValue={undefined}></SchemaItem><SchemaItem collapsible={false} name={"accessTokenValiditySeconds"} required={true} deprecated={undefined} schemaDescription={"The number of seconds an access token generated for this API Client is valid for"} schemaName={"int32"} qualifierMessage={undefined} defaultValue={undefined}></SchemaItem><SchemaItem collapsible={false} name={"refreshTokenValiditySeconds"} required={false} deprecated={undefined} schemaDescription={"The number of seconds a refresh token generated for this API Client is valid for"} schemaName={"int32"} qualifierMessage={undefined} defaultValue={undefined}></SchemaItem><SchemaItem collapsible={false} name={"redirectUris"} required={false} deprecated={undefined} schemaDescription={"A list of the approved redirect URIs. Provide one or more URIs when assigning the AUTHORIZATION_CODE grant type to a new OAuth Client."} schemaName={"string[]"} qualifierMessage={undefined} defaultValue={undefined}></SchemaItem><SchemaItem collapsible={false} name={"grantTypes"} required={true} deprecated={undefined} schemaDescription={"A list of OAuth 2.0 grant types this API Client can be used with"} schemaName={"string[]"} qualifierMessage={"**Possible values:** [`CLIENT_CREDENTIALS`, `AUTHORIZATION_CODE`, `REFRESH_TOKEN`]"} defaultValue={undefined}></SchemaItem><SchemaItem collapsible={false} name={"accessType"} required={true} deprecated={undefined} schemaDescription={"The access type (online or offline) of this API Client"} schemaName={"string"} qualifierMessage={"**Possible values:** [`ONLINE`, `OFFLINE`]"} defaultValue={undefined}></SchemaItem><SchemaItem collapsible={false} name={"type"} required={false} deprecated={undefined} schemaDescription={"The type of the API Client (public or confidential)"} schemaName={"string"} qualifierMessage={"**Possible values:** [`CONFIDENTIAL`, `PUBLIC`]"} defaultValue={undefined}></SchemaItem><SchemaItem collapsible={false} name={"internal"} required={false} deprecated={undefined} schemaDescription={"An indicator of whether the API Client can be used for requests internal within the product."} schemaName={"boolean"} qualifierMessage={undefined} defaultValue={undefined}></SchemaItem><SchemaItem collapsible={false} name={"enabled"} required={true} deprecated={undefined} schemaDescription={"An indicator of whether the API Client is enabled for use"} schemaName={"boolean"} qualifierMessage={undefined} defaultValue={undefined}></SchemaItem><SchemaItem collapsible={false} name={"strongAuthSupported"} required={false} deprecated={undefined} schemaDescription={"An indicator of whether the API Client supports strong authentication"} schemaName={"boolean"} qualifierMessage={undefined} defaultValue={undefined}></SchemaItem><SchemaItem collapsible={false} name={"claimsSupported"} required={false} deprecated={undefined} schemaDescription={"An indicator of whether the API Client supports the serialization of SAML claims when used with the authorization_code flow"} schemaName={"boolean"} qualifierMessage={undefined} defaultValue={undefined}></SchemaItem><SchemaItem collapsible={false} name={"scope"} required={false} deprecated={undefined} schemaDescription={"Scopes of the API Client. If no scope is specified, the client will be created with the default scope \"sp:scopes:all\". This means the API Client will have all the rights of the owner who created it."} schemaName={"string[]"} qualifierMessage={undefined} defaultValue={undefined}></SchemaItem></ul></details></TabItem></MimeTabs><div><ApiTabs><TabItem label={"200"} value={"200"}><div>

Request succeeded.

</div><div><MimeTabs schemaType={"response"}><TabItem label={"application/json"} value={"application/json"}><SchemaTabs><TabItem label={"Schema"} value={"Schema"}><details style={{}} data-collapsed={false} open={true}><summary style={{"textAlign":"left"}}><strong>Schema</strong></summary><div style={{"textAlign":"left","marginLeft":"1rem"}}></div><ul style={{"marginLeft":"1rem"}}><SchemaItem collapsible={false} name={"id"} required={false} deprecated={undefined} schemaDescription={"ID of the OAuth client"} schemaName={"string"} qualifierMessage={undefined} defaultValue={undefined}></SchemaItem><SchemaItem collapsible={false} name={"secret"} required={false} deprecated={undefined} schemaDescription={"Secret of the OAuth client (This field is only returned on the intial create call.)"} schemaName={"string"} qualifierMessage={undefined} defaultValue={undefined}></SchemaItem><SchemaItem collapsible={false} name={"businessName"} required={false} deprecated={undefined} schemaDescription={"The name of the business the API Client should belong to"} schemaName={"string"} qualifierMessage={undefined} defaultValue={undefined}></SchemaItem><SchemaItem collapsible={false} name={"homepageUrl"} required={false} deprecated={undefined} schemaDescription={"The homepage URL associated with the owner of the API Client"} schemaName={"string"} qualifierMessage={undefined} defaultValue={undefined}></SchemaItem><SchemaItem collapsible={false} name={"name"} required={false} deprecated={undefined} schemaDescription={"A human-readable name for the API Client"} schemaName={"string"} qualifierMessage={undefined} defaultValue={undefined}></SchemaItem><SchemaItem collapsible={false} name={"description"} required={false} deprecated={undefined} schemaDescription={"A description of the API Client"} schemaName={"string"} qualifierMessage={undefined} defaultValue={undefined}></SchemaItem><SchemaItem collapsible={false} name={"accessTokenValiditySeconds"} required={false} deprecated={undefined} schemaDescription={"The number of seconds an access token generated for this API Client is valid for"} schemaName={"int32"} qualifierMessage={undefined} defaultValue={undefined}></SchemaItem><SchemaItem collapsible={false} name={"refreshTokenValiditySeconds"} required={false} deprecated={undefined} schemaDescription={"The number of seconds a refresh token generated for this API Client is valid for"} schemaName={"int32"} qualifierMessage={undefined} defaultValue={undefined}></SchemaItem><SchemaItem collapsible={false} name={"redirectUris"} required={false} deprecated={undefined} schemaDescription={"A list of the approved redirect URIs used with the authorization_code flow"} schemaName={"string[]"} qualifierMessage={undefined} defaultValue={undefined}></SchemaItem><SchemaItem collapsible={false} name={"grantTypes"} required={false} deprecated={undefined} schemaDescription={"A list of OAuth 2.0 grant types this API Client can be used with"} schemaName={"string[]"} qualifierMessage={"**Possible values:** [`CLIENT_CREDENTIALS`, `AUTHORIZATION_CODE`, `REFRESH_TOKEN`]"} defaultValue={undefined}></SchemaItem><SchemaItem collapsible={false} name={"accessType"} required={false} deprecated={undefined} schemaDescription={"The access type (online or offline) of this API Client"} schemaName={"string"} qualifierMessage={"**Possible values:** [`ONLINE`, `OFFLINE`]"} defaultValue={undefined}></SchemaItem><SchemaItem collapsible={false} name={"type"} required={false} deprecated={undefined} schemaDescription={"The type of the API Client (public or confidential)"} schemaName={"string"} qualifierMessage={"**Possible values:** [`CONFIDENTIAL`, `PUBLIC`]"} defaultValue={undefined}></SchemaItem><SchemaItem collapsible={false} name={"internal"} required={false} deprecated={undefined} schemaDescription={"An indicator of whether the API Client can be used for requests internal to IDN"} schemaName={"boolean"} qualifierMessage={undefined} defaultValue={undefined}></SchemaItem><SchemaItem collapsible={false} name={"enabled"} required={false} deprecated={undefined} schemaDescription={"An indicator of whether the API Client is enabled for use"} schemaName={"boolean"} qualifierMessage={undefined} defaultValue={undefined}></SchemaItem><SchemaItem collapsible={false} name={"strongAuthSupported"} required={false} deprecated={undefined} schemaDescription={"An indicator of whether the API Client supports strong authentication"} schemaName={"boolean"} qualifierMessage={undefined} defaultValue={undefined}></SchemaItem><SchemaItem collapsible={false} name={"claimsSupported"} required={false} deprecated={undefined} schemaDescription={"An indicator of whether the API Client supports the serialization of SAML claims when used with the authorization_code flow"} schemaName={"boolean"} qualifierMessage={undefined} defaultValue={undefined}></SchemaItem><SchemaItem collapsible={false} name={"created"} required={false} deprecated={undefined} schemaDescription={"The date and time, down to the millisecond, when the API Client was created"} schemaName={"date-time"} qualifierMessage={undefined} defaultValue={undefined}></SchemaItem><SchemaItem collapsible={false} name={"modified"} required={false} deprecated={undefined} schemaDescription={"The date and time, down to the millisecond, when the API Client was last updated"} schemaName={"date-time"} qualifierMessage={undefined} defaultValue={undefined}></SchemaItem><SchemaItem collapsible={false} name={"scope"} required={false} deprecated={undefined} schemaDescription={"Scopes of the API Client."} schemaName={"string[]"} qualifierMessage={undefined} defaultValue={undefined}></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"id\": \"2c9180835d2e5168015d32f890ca1581\",\n  \"secret\": \"5c32dd9b21adb51c77794d46e71de117a1d0ddb36a7ff941fa28014ab7de2cf3\",\n  \"businessName\": \"Acme-Solar\",\n  \"homepageUrl\": \"http://localhost:12345\",\n  \"name\": \"Demo API Client\",\n  \"description\": \"An API client used for the authorization_code, refresh_token, and client_credentials flows\",\n  \"accessTokenValiditySeconds\": 750,\n  \"refreshTokenValiditySeconds\": 86400,\n  \"redirectUris\": [\n    \"http://localhost:12345\"\n  ],\n  \"grantTypes\": [\n    \"AUTHORIZATION_CODE\",\n    \"CLIENT_CREDENTIALS\",\n    \"REFRESH_TOKEN\"\n  ],\n  \"accessType\": \"OFFLINE\",\n  \"type\": \"CONFIDENTIAL\",\n  \"internal\": false,\n  \"enabled\": true,\n  \"strongAuthSupported\": false,\n  \"claimsSupported\": false,\n  \"created\": \"2017-07-11T18:45:37.098Z\",\n  \"modified\": \"2018-06-25T20:22:28.104Z\",\n  \"scope\": [\n    \"demo:api-client-scope:first\",\n    \"demo:api-client-scope:second\"\n  ]\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"400"} value={"400"}><div>

Client Error - Returned if the request body is invalid.

</div><div><MimeTabs schemaType={"response"}><TabItem label={"application/json"} value={"application/json"}><SchemaTabs><TabItem label={"Schema"} value={"Schema"}><details style={{}} data-collapsed={false} open={true}><summary style={{"textAlign":"left"}}><strong>Schema</strong></summary><div style={{"textAlign":"left","marginLeft":"1rem"}}></div><ul style={{"marginLeft":"1rem"}}><SchemaItem collapsible={false} name={"detailCode"} required={false} deprecated={undefined} schemaDescription={"Fine-grained error code providing more detail of the error."} schemaName={"string"} qualifierMessage={undefined} defaultValue={undefined}></SchemaItem><SchemaItem collapsible={false} name={"trackingId"} required={false} deprecated={undefined} schemaDescription={"Unique tracking id for the error."} schemaName={"string"} qualifierMessage={undefined} defaultValue={undefined}></SchemaItem><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}}><summary style={{}}><strong>messages</strong><span style={{"opacity":"0.6"}}> object[]</span></summary><div style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

Generic localized reason for error

</div><SchemaItem collapsible={false} name={"locale"} required={false} deprecated={undefined} schemaDescription={"The locale for the message text, a BCP 47 language tag."} schemaName={"string"} qualifierMessage={undefined} defaultValue={undefined}></SchemaItem><SchemaItem collapsible={false} name={"localeOrigin"} required={false} deprecated={undefined} schemaDescription={"An indicator of how the locale was selected. *DEFAULT* means the locale is the system default. *REQUEST* means the locale was selected from the request context (i.e., best match based on the *Accept-Language* header). Additional values may be added in the future without notice."} schemaName={"string"} qualifierMessage={"**Possible values:** [`DEFAULT`, `REQUEST`]"} defaultValue={undefined}></SchemaItem><SchemaItem collapsible={false} name={"text"} required={false} deprecated={undefined} schemaDescription={"Actual text of the error message in the indicated locale."} schemaName={"string"} qualifierMessage={undefined} defaultValue={undefined}></SchemaItem></div></details></SchemaItem><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}}><summary style={{}}><strong>causes</strong><span style={{"opacity":"0.6"}}> object[]</span></summary><div style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

Plain-text descriptive reasons to provide additional detail to the text provided in the messages field

</div><SchemaItem collapsible={false} name={"locale"} required={false} deprecated={undefined} schemaDescription={"The locale for the message text, a BCP 47 language tag."} schemaName={"string"} qualifierMessage={undefined} defaultValue={undefined}></SchemaItem><SchemaItem collapsible={false} name={"localeOrigin"} required={false} deprecated={undefined} schemaDescription={"An indicator of how the locale was selected. *DEFAULT* means the locale is the system default. *REQUEST* means the locale was selected from the request context (i.e., best match based on the *Accept-Language* header). Additional values may be added in the future without notice."} schemaName={"string"} qualifierMessage={"**Possible values:** [`DEFAULT`, `REQUEST`]"} defaultValue={undefined}></SchemaItem><SchemaItem collapsible={false} name={"text"} required={false} deprecated={undefined} schemaDescription={"Actual text of the error message in the indicated locale."} schemaName={"string"} qualifierMessage={undefined} defaultValue={undefined}></SchemaItem></div></details></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"detailCode\": \"400.1 Bad Request Content\",\n  \"trackingId\": \"e7eab60924f64aa284175b9fa3309599\",\n  \"messages\": [\n    {\n      \"locale\": \"en-US\",\n      \"localeOrigin\": \"DEFAULT\",\n      \"text\": \"The request was syntactically correct but its content is semantically invalid.\"\n    }\n  ],\n  \"causes\": [\n    {\n      \"locale\": \"en-US\",\n      \"localeOrigin\": \"DEFAULT\",\n      \"text\": \"The request was syntactically correct but its content is semantically invalid.\"\n    }\n  ]\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"401"} value={"401"}><div>

Unauthorized - Returned if there is no authorization header, or if the JWT token is expired.

</div><div><MimeTabs schemaType={"response"}><TabItem label={"application/json"} value={"application/json"}><SchemaTabs><TabItem label={"Schema"} value={"Schema"}><details style={{}} data-collapsed={false} open={true}><summary style={{"textAlign":"left"}}><strong>Schema</strong></summary><div style={{"textAlign":"left","marginLeft":"1rem"}}></div><ul style={{"marginLeft":"1rem"}}><SchemaItem collapsible={false} name={"error"} required={false} deprecated={undefined} schemaDescription={"A message describing the error"} schemaName={""} qualifierMessage={undefined} defaultValue={undefined}></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"error\": \"JWT validation failed: JWT is expired\"\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"403"} value={"403"}><div>

Forbidden - Returned if the user you are running as, doesn't have access to this end-point.

</div><div><MimeTabs schemaType={"response"}><TabItem label={"application/json"} value={"application/json"}><SchemaTabs><TabItem label={"Schema"} value={"Schema"}><details style={{}} data-collapsed={false} open={true}><summary style={{"textAlign":"left"}}><strong>Schema</strong></summary><div style={{"textAlign":"left","marginLeft":"1rem"}}></div><ul style={{"marginLeft":"1rem"}}><SchemaItem collapsible={false} name={"detailCode"} required={false} deprecated={undefined} schemaDescription={"Fine-grained error code providing more detail of the error."} schemaName={"string"} qualifierMessage={undefined} defaultValue={undefined}></SchemaItem><SchemaItem collapsible={false} name={"trackingId"} required={false} deprecated={undefined} schemaDescription={"Unique tracking id for the error."} schemaName={"string"} qualifierMessage={undefined} defaultValue={undefined}></SchemaItem><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}}><summary style={{}}><strong>messages</strong><span style={{"opacity":"0.6"}}> object[]</span></summary><div style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

Generic localized reason for error

</div><SchemaItem collapsible={false} name={"locale"} required={false} deprecated={undefined} schemaDescription={"The locale for the message text, a BCP 47 language tag."} schemaName={"string"} qualifierMessage={undefined} defaultValue={undefined}></SchemaItem><SchemaItem collapsible={false} name={"localeOrigin"} required={false} deprecated={undefined} schemaDescription={"An indicator of how the locale was selected. *DEFAULT* means the locale is the system default. *REQUEST* means the locale was selected from the request context (i.e., best match based on the *Accept-Language* header). Additional values may be added in the future without notice."} schemaName={"string"} qualifierMessage={"**Possible values:** [`DEFAULT`, `REQUEST`]"} defaultValue={undefined}></SchemaItem><SchemaItem collapsible={false} name={"text"} required={false} deprecated={undefined} schemaDescription={"Actual text of the error message in the indicated locale."} schemaName={"string"} qualifierMessage={undefined} defaultValue={undefined}></SchemaItem></div></details></SchemaItem><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}}><summary style={{}}><strong>causes</strong><span style={{"opacity":"0.6"}}> object[]</span></summary><div style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

Plain-text descriptive reasons to provide additional detail to the text provided in the messages field

</div><SchemaItem collapsible={false} name={"locale"} required={false} deprecated={undefined} schemaDescription={"The locale for the message text, a BCP 47 language tag."} schemaName={"string"} qualifierMessage={undefined} defaultValue={undefined}></SchemaItem><SchemaItem collapsible={false} name={"localeOrigin"} required={false} deprecated={undefined} schemaDescription={"An indicator of how the locale was selected. *DEFAULT* means the locale is the system default. *REQUEST* means the locale was selected from the request context (i.e., best match based on the *Accept-Language* header). Additional values may be added in the future without notice."} schemaName={"string"} qualifierMessage={"**Possible values:** [`DEFAULT`, `REQUEST`]"} defaultValue={undefined}></SchemaItem><SchemaItem collapsible={false} name={"text"} required={false} deprecated={undefined} schemaDescription={"Actual text of the error message in the indicated locale."} schemaName={"string"} qualifierMessage={undefined} defaultValue={undefined}></SchemaItem></div></details></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"detailCode\": \"400.1 Bad Request Content\",\n  \"trackingId\": \"e7eab60924f64aa284175b9fa3309599\",\n  \"messages\": [\n    {\n      \"locale\": \"en-US\",\n      \"localeOrigin\": \"DEFAULT\",\n      \"text\": \"The request was syntactically correct but its content is semantically invalid.\"\n    }\n  ],\n  \"causes\": [\n    {\n      \"locale\": \"en-US\",\n      \"localeOrigin\": \"DEFAULT\",\n      \"text\": \"The request was syntactically correct but its content is semantically invalid.\"\n    }\n  ]\n}"} language={"json"}></ResponseSamples></TabItem><TabItem label={"403"} value={"403"}><p> An example of a 403 response object</p><ResponseSamples responseExample={"{\n  \"detailCode\": \"403 Forbidden\",\n  \"trackingId\": \"b21b1f7ce4da4d639f2c62a57171b427\",\n  \"messages\": [\n    {\n      \"locale\": \"en-US\",\n      \"localeOrigin\": \"DEFAULT\",\n      \"text\": \"The server understood the request but refuses to authorize it.\"\n    }\n  ]\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"429"} value={"429"}><div>

Too Many Requests - Returned in response to too many requests in a given period of time - rate limited. The Retry-After header in the response includes how long to wait before trying again.

</div><div><MimeTabs schemaType={"response"}><TabItem label={"application/json"} value={"application/json"}><SchemaTabs><TabItem label={"Schema"} value={"Schema"}><details style={{}} data-collapsed={false} open={true}><summary style={{"textAlign":"left"}}><strong>Schema</strong></summary><div style={{"textAlign":"left","marginLeft":"1rem"}}></div><ul style={{"marginLeft":"1rem"}}><SchemaItem collapsible={false} name={"message"} required={false} deprecated={undefined} schemaDescription={"A message describing the error"} schemaName={""} qualifierMessage={undefined} defaultValue={undefined}></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"message\": \" Rate Limit Exceeded \"\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"500"} value={"500"}><div>

Internal Server Error - Returned if there is an unexpected error.

</div><div><MimeTabs schemaType={"response"}><TabItem label={"application/json"} value={"application/json"}><SchemaTabs><TabItem label={"Schema"} value={"Schema"}><details style={{}} data-collapsed={false} open={true}><summary style={{"textAlign":"left"}}><strong>Schema</strong></summary><div style={{"textAlign":"left","marginLeft":"1rem"}}></div><ul style={{"marginLeft":"1rem"}}><SchemaItem collapsible={false} name={"detailCode"} required={false} deprecated={undefined} schemaDescription={"Fine-grained error code providing more detail of the error."} schemaName={"string"} qualifierMessage={undefined} defaultValue={undefined}></SchemaItem><SchemaItem collapsible={false} name={"trackingId"} required={false} deprecated={undefined} schemaDescription={"Unique tracking id for the error."} schemaName={"string"} qualifierMessage={undefined} defaultValue={undefined}></SchemaItem><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}}><summary style={{}}><strong>messages</strong><span style={{"opacity":"0.6"}}> object[]</span></summary><div style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

Generic localized reason for error

</div><SchemaItem collapsible={false} name={"locale"} required={false} deprecated={undefined} schemaDescription={"The locale for the message text, a BCP 47 language tag."} schemaName={"string"} qualifierMessage={undefined} defaultValue={undefined}></SchemaItem><SchemaItem collapsible={false} name={"localeOrigin"} required={false} deprecated={undefined} schemaDescription={"An indicator of how the locale was selected. *DEFAULT* means the locale is the system default. *REQUEST* means the locale was selected from the request context (i.e., best match based on the *Accept-Language* header). Additional values may be added in the future without notice."} schemaName={"string"} qualifierMessage={"**Possible values:** [`DEFAULT`, `REQUEST`]"} defaultValue={undefined}></SchemaItem><SchemaItem collapsible={false} name={"text"} required={false} deprecated={undefined} schemaDescription={"Actual text of the error message in the indicated locale."} schemaName={"string"} qualifierMessage={undefined} defaultValue={undefined}></SchemaItem></div></details></SchemaItem><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}}><summary style={{}}><strong>causes</strong><span style={{"opacity":"0.6"}}> object[]</span></summary><div style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

Plain-text descriptive reasons to provide additional detail to the text provided in the messages field

</div><SchemaItem collapsible={false} name={"locale"} required={false} deprecated={undefined} schemaDescription={"The locale for the message text, a BCP 47 language tag."} schemaName={"string"} qualifierMessage={undefined} defaultValue={undefined}></SchemaItem><SchemaItem collapsible={false} name={"localeOrigin"} required={false} deprecated={undefined} schemaDescription={"An indicator of how the locale was selected. *DEFAULT* means the locale is the system default. *REQUEST* means the locale was selected from the request context (i.e., best match based on the *Accept-Language* header). Additional values may be added in the future without notice."} schemaName={"string"} qualifierMessage={"**Possible values:** [`DEFAULT`, `REQUEST`]"} defaultValue={undefined}></SchemaItem><SchemaItem collapsible={false} name={"text"} required={false} deprecated={undefined} schemaDescription={"Actual text of the error message in the indicated locale."} schemaName={"string"} qualifierMessage={undefined} defaultValue={undefined}></SchemaItem></div></details></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"detailCode\": \"400.1 Bad Request Content\",\n  \"trackingId\": \"e7eab60924f64aa284175b9fa3309599\",\n  \"messages\": [\n    {\n      \"locale\": \"en-US\",\n      \"localeOrigin\": \"DEFAULT\",\n      \"text\": \"The request was syntactically correct but its content is semantically invalid.\"\n    }\n  ],\n  \"causes\": [\n    {\n      \"locale\": \"en-US\",\n      \"localeOrigin\": \"DEFAULT\",\n      \"text\": \"The request was syntactically correct but its content is semantically invalid.\"\n    }\n  ]\n}"} language={"json"}></ResponseSamples></TabItem><TabItem label={"500"} value={"500"}><p> An example of a 500 response object</p><ResponseSamples responseExample={"{\n  \"detailCode\": \"500.0 Internal Fault\",\n  \"trackingId\": \"b21b1f7ce4da4d639f2c62a57171b427\",\n  \"messages\": [\n    {\n      \"locale\": \"en-US\",\n      \"localeOrigin\": \"DEFAULT\",\n      \"text\": \"An internal fault occurred.\"\n    }\n  ]\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem></ApiTabs></div>