---
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":{"description":"The number of seconds an access token generated for this API Client is valid for","type":"integer","format":"int32","example":750},"refreshTokenValiditySeconds":{"description":"The number of seconds a refresh token generated for this API Client is valid for","example":86400,"type":"integer","format":"int32"},"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"]},"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":{"description":"The number of seconds an access token generated for this API Client is valid for","example":750,"type":"integer","format":"int32"},"refreshTokenValiditySeconds":{"description":"The number of seconds a refresh token generated for this API Client is valid for","example":86400,"type":"integer","format":"int32"},"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/v3","description":"This is the production 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"],"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 V3 API","description":"Use these APIs to interact with the IdentityNow platform to achieve repeatable, automated processes with greater scalability. 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.0.0"},"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/v3/identitynow-v-3-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>