API ReferenceApplications
POST
/v1/oauth/tenant/select

Authorization

Descope Project ID:Refresh JWT
AuthorizationBearer <token>

Project ID:Refresh JWT as bearer token.

In: header

Request Body

application/json

tenant*string
Length1 <= length <= 100
client_id*string
Length1 <= length <= 200
client_secret?string
Lengthlength <= 1000

Select the active tenant for a user that authenticated through a federated (OAuth/OIDC) application. Send the refresh token returned from the OAuth token endpoint as the bearer token, along with the application client_id and the tenant to select. Returns a new set of OIDC-compliant tokens (access, refresh and ID tokens) with the selected tenant as the dct claim, minted with the application's JWT template and session settings and preserving the originally granted scopes. The user must be a member of the selected tenant, and subsequent calls should use the newly returned refresh token

curl -X POST "https://api.descope.com/v1/oauth/tenant/select" \  -H "Content-Type: application/json" \  -d '{    "tenant": "string",    "client_id": "string"  }'
{  "access_token": "string",  "token_type": "string",  "refresh_token": "string",  "id_token": "string",  "expires_in": 0,  "scope": "string",  "error": "string",  "description": "string",  "issued_token_type": "string",  "authorization_details": {    "values": [      null    ]  },  "session_id": "string",  "signed_in": true,  "refresh_token_expires_in": 0}
export interface Response {access_token?: stringtoken_type?: stringrefresh_token?: stringid_token?: stringexpires_in?: numberscope?: string/** * Those fields are in use just in case of error of device flow scenario (where device polling on the specific error response) */error?: stringdescription?: stringissued_token_type?: stringauthorization_details?: GoogleProtobuf/** * Poppy Session this token belongs to; absent when the request did not use a Poppy Session */session_id?: string/** * Whether the Poppy Session is signed in to an account; absent when the request did not use a Poppy Session */signed_in?: boolean/** * Lifetime in seconds of the refresh token born from a Poppy Session sign-in */refresh_token_expires_in?: number}/** * `ListValue` is a wrapper around a repeated field of values. *  *  The JSON representation for `ListValue` is JSON array. */export interface GoogleProtobuf {/** * Repeated field of dynamically typed values. */values?: {[k: string]: unknown}[]}
Was this helpful?