Get OAuth Client
GEThttps://sailpoint.api.identitynow.com/v2024/oauth-clients/:id
This gets details of an OAuth client.
Request
Path Parameters
The OAuth client id
Responses
- 200
- 400
- 401
- 403
- 404
- 429
- 500
Request succeeded.
- application/json
- Schema
- Example (auto)
Schema
ID of the OAuth client
2c9180835d2e5168015d32f890ca1581
The name of the business the API Client should belong to
Acme-Solar
The homepage URL associated with the owner of the API Client
http://localhost:12345
A human-readable name for the API Client
Demo API Client
A description of the API Client
An API client used for the authorization_code, refresh_token, and client_credentials flows
The number of seconds an access token generated for this API Client is valid for
750
The number of seconds a refresh token generated for this API Client is valid for
86400
A list of the approved redirect URIs used with the authorization_code flow
["http://localhost:12345"]
A list of OAuth 2.0 grant types this API Client can be used with
Possible values: [CLIENT_CREDENTIALS
, AUTHORIZATION_CODE
, REFRESH_TOKEN
]
["AUTHORIZATION_CODE","CLIENT_CREDENTIALS","REFRESH_TOKEN"]
Access type of API Client indicating online or offline use
Possible values: [ONLINE
, OFFLINE
]
OFFLINE
Type of an API Client indicating public or confidentials use
Possible values: [CONFIDENTIAL
, PUBLIC
]
CONFIDENTIAL
An indicator of whether the API Client can be used for requests internal to IDN
false
An indicator of whether the API Client is enabled for use
true
An indicator of whether the API Client supports strong authentication
false
An indicator of whether the API Client supports the serialization of SAML claims when used with the authorization_code flow
false
The date and time, down to the millisecond, when the API Client was created
2017-07-11T18:45:37.098Z
The date and time, down to the millisecond, when the API Client was last updated
2018-06-25T20:22:28.104Z
The date and time, down to the millisecond, when this API Client was last used to generate an access token. This timestamp does not get updated on every API Client usage, but only once a day. This property can be useful for identifying which API Clients are no longer actively used and can be removed.
2017-07-11T18:45:37.098Z
Scopes of the API Client.
["demo:api-client-scope:first","demo:api-client-scope:second"]
{
"id": "2c9180835d2e5168015d32f890ca1581",
"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,
"created": "2017-07-11T18:45:37.098Z",
"modified": "2018-06-25T20:22:28.104Z",
"secret": "string",
"metadata": "string",
"lastUsed": "2017-07-11T18:45:37.098Z",
"scope": [
"demo:api-client-scope:first",
"demo:api-client-scope:second"
]
}
Client Error - Returned if the request body is invalid.
- application/json
- Schema
- Example (auto)
Schema
Fine-grained error code providing more detail of the error.
400.1 Bad Request Content
Unique tracking id for the error.
e7eab60924f64aa284175b9fa3309599
messages object[]
causes object[]
{
"detailCode": "400.1 Bad Request Content",
"trackingId": "e7eab60924f64aa284175b9fa3309599",
"messages": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
],
"causes": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
]
}
Unauthorized - Returned if there is no authorization header, or if the JWT token is expired.
- application/json
- Schema
- Example (auto)
Schema
A message describing the error
JWT validation failed: JWT is expired
{
"error": "JWT validation failed: JWT is expired"
}
Forbidden - Returned if the user you are running as, doesn't have access to this end-point.
- application/json
- Schema
- Example (auto)
- 403
Schema
Fine-grained error code providing more detail of the error.
400.1 Bad Request Content
Unique tracking id for the error.
e7eab60924f64aa284175b9fa3309599
messages object[]
causes object[]
{
"detailCode": "400.1 Bad Request Content",
"trackingId": "e7eab60924f64aa284175b9fa3309599",
"messages": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
],
"causes": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
]
}
An example of a 403 response object
{
"detailCode": "403 Forbidden",
"trackingId": "b21b1f7ce4da4d639f2c62a57171b427",
"messages": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The server understood the request but refuses to authorize it."
}
]
}
Not Found - returned if the request URL refers to a resource or object that does not exist
- application/json
- Schema
- Example (auto)
- 404
Schema
Fine-grained error code providing more detail of the error.
400.1 Bad Request Content
Unique tracking id for the error.
e7eab60924f64aa284175b9fa3309599
messages object[]
causes object[]
{
"detailCode": "400.1 Bad Request Content",
"trackingId": "e7eab60924f64aa284175b9fa3309599",
"messages": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
],
"causes": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
]
}
An example of a 404 response object
{
"detailCode": "404 Not found",
"trackingId": "b21b1f7ce4da4d639f2c62a57171b427",
"messages": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The server did not find a current representation for the target resource."
}
]
}
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.
- application/json
- Schema
- Example (auto)
Schema
A message describing the error
Rate Limit Exceeded
{
"message": " Rate Limit Exceeded "
}
Internal Server Error - Returned if there is an unexpected error.
- application/json
- Schema
- Example (auto)
- 500
Schema
Fine-grained error code providing more detail of the error.
400.1 Bad Request Content
Unique tracking id for the error.
e7eab60924f64aa284175b9fa3309599
messages object[]
causes object[]
{
"detailCode": "400.1 Bad Request Content",
"trackingId": "e7eab60924f64aa284175b9fa3309599",
"messages": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
],
"causes": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
]
}
An example of a 500 response object
{
"detailCode": "500.0 Internal Fault",
"trackingId": "b21b1f7ce4da4d639f2c62a57171b427",
"messages": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "An internal fault occurred."
}
]
}
Authorization: oauth2
type: Personal Access Tokenscopes: sp:oauth-client:manage, sp:oauth-client:read
- go
- powershellSailPoint SDK
- pythonSailPoint SDK
- csharp
- curl
- dart
- http
- java
- javascript
- kotlin
- c
- nodejs
- objective-c
- ocaml
- php
- r
- ruby
- rust
- shell
- swift
- NATIVE
package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://sailpoint.api.identitynow.com/v2024/oauth-clients/:id"
method := "GET"
client := &http.Client {
}
req, err := http.NewRequest(method, url, nil)
if err != nil {
fmt.Println(err)
return
}
req.Header.Add("Accept", "application/json")
req.Header.Add("Authorization", "Bearer <TOKEN>")
res, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer res.Body.Close()
body, err := io.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}