Authorize
Summary
Authorize is our implementation of the OAuth 2.0 framework. It enables secure authorization using standard methods that can easily be integrated in your app. If you're familiar with OAuth 2.0, everything should look familiar. If not, you may want to check out the OAuth 2.0 resources here.
Want to try this API out on our Playground?
Go play nowpost /clientCredentials/oauth2/token/in/gcb | Client Credentials Grant: Retrieve Access Token |
get /authCode/oauth2/authorize | Authorization Code Grant: Retrieve Authorization Code |
post /authCode/oauth2/refresh | Authorization Code Grant: Refresh Access Token |
post /authCode/oauth2/revoke | Authorization Code Grant: Revoke Access Token |
post /authCode/oauth2/token/in/gcb | Authorization Code Grant: Retrieve Access Token |
Client Credentials Grant: Retrieve Access Token
This API is used to retrieve the access token for your application credentials. You can use this for APIs which do not require customer credential verification and consent (e.g. Onboarding).
- cURL
- Ruby
- Python
- PHP
- Java
- Node
- Go
- Swift
Example Request
Example Request
Example Request
Example Request
Example Request
Example Request
Example Request
Example Request
-
access_token
- The access token value received after exchanging the authorization token. This field should be passed as Authorization header in API request calls
- type : string
-
refresh_token
- You can use this token to refresh an expired access_token.
- type : string
-
scope
- Set of scopes allowed by customer and separated by space
- type : string
-
token_type
- Type of the access token issued. This is bearer token for authorization_code grant type
- type : string
-
expires_in
- Validity of access token in seconds
- type : number
error |
invalid_request |
invalid_grant |
unsupported_grant_type |
unauthorized_client |
-
error_description
- Human-readable ASCII [USASCII] text providing additional information, used to assist the client developer in understanding the error that occurred
- type : string
-
error
- If the request fails due to a missing, invalid, or mismatching redirection URI, or if the client identifier is missing or invalid, the authorization server SHOULD inform the resource owner of the error and MUST NOT automatically redirect the user-agent to the invalid redirection URI.
- type : string
- enum : invalid_request, unauthorized_client, access_denied, unsupported_response_type, invalid_scope, server_error, temporarily_unavailable, unsupported_token_type
-
error_uri
- A URI identifying a human-readable web page with information about the error, used to provide the client developer with additional information about the error.
- type : string
-
required
- error
{
"properties": {
"error_description": {
"description": "Human-readable ASCII [USASCII] text providing additional information, used to assist the client developer in understanding the error that occurred",
"type": "string"
},
"error": {
"description": "If the request fails due to a missing, invalid, or mismatching redirection URI, or if the client identifier is missing or invalid, the authorization server SHOULD inform the resource owner of the error and MUST NOT automatically redirect the user-agent to the invalid redirection URI.",
"type": "string",
"enum": [
"invalid_request",
"unauthorized_client",
"access_denied",
"unsupported_response_type",
"invalid_scope",
"server_error",
"temporarily_unavailable",
"unsupported_token_type"
]
},
"error_uri": {
"description": "A URI identifying a human-readable web page with information about the error, used to provide the client developer with additional information about the error.",
"type": "string"
}
},
"required": [
"error"
]
}
error |
invalid_client |
-
error_description
- Human-readable ASCII [USASCII] text providing additional information, used to assist the client developer in understanding the error that occurred
- type : string
-
error
- If the request fails due to a missing, invalid, or mismatching redirection URI, or if the client identifier is missing or invalid, the authorization server SHOULD inform the resource owner of the error and MUST NOT automatically redirect the user-agent to the invalid redirection URI.
- type : string
- enum : invalid_request, unauthorized_client, access_denied, unsupported_response_type, invalid_scope, server_error, temporarily_unavailable, unsupported_token_type
-
error_uri
- A URI identifying a human-readable web page with information about the error, used to provide the client developer with additional information about the error.
- type : string
-
required
- error
{
"properties": {
"error_description": {
"description": "Human-readable ASCII [USASCII] text providing additional information, used to assist the client developer in understanding the error that occurred",
"type": "string"
},
"error": {
"description": "If the request fails due to a missing, invalid, or mismatching redirection URI, or if the client identifier is missing or invalid, the authorization server SHOULD inform the resource owner of the error and MUST NOT automatically redirect the user-agent to the invalid redirection URI.",
"type": "string",
"enum": [
"invalid_request",
"unauthorized_client",
"access_denied",
"unsupported_response_type",
"invalid_scope",
"server_error",
"temporarily_unavailable",
"unsupported_token_type"
]
},
"error_uri": {
"description": "A URI identifying a human-readable web page with information about the error, used to provide the client developer with additional information about the error.",
"type": "string"
}
},
"required": [
"error"
]
}
Authorization Code Grant: Retrieve Authorization Code
This API is used to validate the customer credentials in Citi login Page and redirect back the authorisation code post successful validation.
- cURL
- Ruby
- Python
- PHP
- Java
- Node
- Go
- Swift
Example Request
Example Request
Example Request
Example Request
Example Request
Example Request
Example Request
Example Request
field name | field type | mandatory | description |
redirect_uri | location | yes | This is the absolute uri provided in the request |
code | query | yes | The authorization code |
state | query | yes | The same value as sent by the client in the state parameter, if any |
If an error occurs during authorization, two situations can occur. The first is, that the client is not authenticated or recognized. For instance, a wrong redirect URI was sent in the request. In that case the authorization server must not redirect the resource owner to the redirect URI. Instead it should inform the resource owner of the error. The second situation is that client is authenticated correctly, but that something else failed. In that case the following error response is sent to the client, included in the redirect_uri
field name | field type | mandatory | description |
redirect_uri | location | yes | This is the absolute uri provided in the request |
state | query | yes | The same value as sent by the client in the state parameter, if any |
error | query | yes | |
error_description | query | no | |
error_uri | query | no |
Here is the list of errors:
error |
invalid_request |
unauthorized_client |
unsupported_response_type |
invalid_scope |
access_denied |
Authorization Code Grant: Refresh Access Token
This API is used to exchange for a new set of valid access and refresh tokens in case access token has expired and still have a valid refresh token.
- cURL
- Ruby
- Python
- PHP
- Java
- Node
- Go
- Swift
Example Request
Example Request
Example Request
Example Request
Example Request
Example Request
Example Request
Example Request
-
access_token
- This field should be passed as Authorization header in API request calls
- type : string
-
refresh_token
- The refresh token value
- type : string
-
scope
- The list of scopes separated by space
- type : string
-
token_type
- The token type
- type : string
-
expires_in
- The access token expiry time (in seconds)
- type : number
error |
invalid_request |
invalid_grant |
unsupported_grant_type |
unauthorized_client |
-
error_description
- Human-readable ASCII [USASCII] text providing additional information, used to assist the client developer in understanding the error that occurred
- type : string
-
error
- If the request fails due to a missing, invalid, or mismatching redirection URI, or if the client identifier is missing or invalid, the authorization server SHOULD inform the resource owner of the error and MUST NOT automatically redirect the user-agent to the invalid redirection URI.
- type : string
- enum : invalid_request, unauthorized_client, access_denied, unsupported_response_type, invalid_scope, server_error, temporarily_unavailable, unsupported_token_type
-
error_uri
- A URI identifying a human-readable web page with information about the error, used to provide the client developer with additional information about the error.
- type : string
-
required
- error
{
"properties": {
"error_description": {
"description": "Human-readable ASCII [USASCII] text providing additional information, used to assist the client developer in understanding the error that occurred",
"type": "string"
},
"error": {
"description": "If the request fails due to a missing, invalid, or mismatching redirection URI, or if the client identifier is missing or invalid, the authorization server SHOULD inform the resource owner of the error and MUST NOT automatically redirect the user-agent to the invalid redirection URI.",
"type": "string",
"enum": [
"invalid_request",
"unauthorized_client",
"access_denied",
"unsupported_response_type",
"invalid_scope",
"server_error",
"temporarily_unavailable",
"unsupported_token_type"
]
},
"error_uri": {
"description": "A URI identifying a human-readable web page with information about the error, used to provide the client developer with additional information about the error.",
"type": "string"
}
},
"required": [
"error"
]
}
error |
invalid_client |
-
error_description
- Human-readable ASCII [USASCII] text providing additional information, used to assist the client developer in understanding the error that occurred
- type : string
-
error
- If the request fails due to a missing, invalid, or mismatching redirection URI, or if the client identifier is missing or invalid, the authorization server SHOULD inform the resource owner of the error and MUST NOT automatically redirect the user-agent to the invalid redirection URI.
- type : string
- enum : invalid_request, unauthorized_client, access_denied, unsupported_response_type, invalid_scope, server_error, temporarily_unavailable, unsupported_token_type
-
error_uri
- A URI identifying a human-readable web page with information about the error, used to provide the client developer with additional information about the error.
- type : string
-
required
- error
{
"properties": {
"error_description": {
"description": "Human-readable ASCII [USASCII] text providing additional information, used to assist the client developer in understanding the error that occurred",
"type": "string"
},
"error": {
"description": "If the request fails due to a missing, invalid, or mismatching redirection URI, or if the client identifier is missing or invalid, the authorization server SHOULD inform the resource owner of the error and MUST NOT automatically redirect the user-agent to the invalid redirection URI.",
"type": "string",
"enum": [
"invalid_request",
"unauthorized_client",
"access_denied",
"unsupported_response_type",
"invalid_scope",
"server_error",
"temporarily_unavailable",
"unsupported_token_type"
]
},
"error_uri": {
"description": "A URI identifying a human-readable web page with information about the error, used to provide the client developer with additional information about the error.",
"type": "string"
}
},
"required": [
"error"
]
}
Authorization Code Grant: Revoke Access Token
This API is used to revoke the access token. Along with the access token, the corresponding refresh token is also revoked and vice-versa.
- cURL
- Ruby
- Python
- PHP
- Java
- Node
- Go
- Swift
Example Request
Example Request
Example Request
Example Request
Example Request
Example Request
Example Request
Example Request
-
status
- The status of the token revocation request.
- type : string
error |
invalid_request |
invalid_grant |
unauthorized_client |
unsupported_grant_type |
-
error_description
- Human-readable ASCII [USASCII] text providing additional information, used to assist the client developer in understanding the error that occurred
- type : string
-
error
- If the request fails due to a missing, invalid, or mismatching redirection URI, or if the client identifier is missing or invalid, the authorization server SHOULD inform the resource owner of the error and MUST NOT automatically redirect the user-agent to the invalid redirection URI.
- type : string
- enum : invalid_request, unauthorized_client, access_denied, unsupported_response_type, invalid_scope, server_error, temporarily_unavailable, unsupported_token_type
-
error_uri
- A URI identifying a human-readable web page with information about the error, used to provide the client developer with additional information about the error.
- type : string
-
required
- error
{
"properties": {
"error_description": {
"description": "Human-readable ASCII [USASCII] text providing additional information, used to assist the client developer in understanding the error that occurred",
"type": "string"
},
"error": {
"description": "If the request fails due to a missing, invalid, or mismatching redirection URI, or if the client identifier is missing or invalid, the authorization server SHOULD inform the resource owner of the error and MUST NOT automatically redirect the user-agent to the invalid redirection URI.",
"type": "string",
"enum": [
"invalid_request",
"unauthorized_client",
"access_denied",
"unsupported_response_type",
"invalid_scope",
"server_error",
"temporarily_unavailable",
"unsupported_token_type"
]
},
"error_uri": {
"description": "A URI identifying a human-readable web page with information about the error, used to provide the client developer with additional information about the error.",
"type": "string"
}
},
"required": [
"error"
]
}
error |
invalid_client |
-
error_description
- Human-readable ASCII [USASCII] text providing additional information, used to assist the client developer in understanding the error that occurred
- type : string
-
error
- If the request fails due to a missing, invalid, or mismatching redirection URI, or if the client identifier is missing or invalid, the authorization server SHOULD inform the resource owner of the error and MUST NOT automatically redirect the user-agent to the invalid redirection URI.
- type : string
- enum : invalid_request, unauthorized_client, access_denied, unsupported_response_type, invalid_scope, server_error, temporarily_unavailable, unsupported_token_type
-
error_uri
- A URI identifying a human-readable web page with information about the error, used to provide the client developer with additional information about the error.
- type : string
-
required
- error
{
"properties": {
"error_description": {
"description": "Human-readable ASCII [USASCII] text providing additional information, used to assist the client developer in understanding the error that occurred",
"type": "string"
},
"error": {
"description": "If the request fails due to a missing, invalid, or mismatching redirection URI, or if the client identifier is missing or invalid, the authorization server SHOULD inform the resource owner of the error and MUST NOT automatically redirect the user-agent to the invalid redirection URI.",
"type": "string",
"enum": [
"invalid_request",
"unauthorized_client",
"access_denied",
"unsupported_response_type",
"invalid_scope",
"server_error",
"temporarily_unavailable",
"unsupported_token_type"
]
},
"error_uri": {
"description": "A URI identifying a human-readable web page with information about the error, used to provide the client developer with additional information about the error.",
"type": "string"
}
},
"required": [
"error"
]
}
Authorization Code Grant: Retrieve Access Token
This API is used to validate the authorisation code and return back the access token.
- cURL
- Ruby
- Python
- PHP
- Java
- Node
- Go
- Swift
Example Request
Example Request
Example Request
Example Request
Example Request
Example Request
Example Request
Example Request
-
access_token
- The access token value received after exchanging the authorization token. This field should be passed as Authorization header in API request calls
- type : string
-
refresh_token
- You can use this token to refresh an expired access_token.
- type : string
-
scope
- Set of scopes allowed by customer and separated by space
- type : string
-
token_type
- Type of the access token issued. This is bearer token for authorization_code grant type
- type : string
-
expires_in
- Validity of access token in seconds
- type : number
error |
invalid_request |
invalid_grant |
unsupported_grant_type |
unauthorized_client |
-
error_description
- Human-readable ASCII [USASCII] text providing additional information, used to assist the client developer in understanding the error that occurred
- type : string
-
error
- If the request fails due to a missing, invalid, or mismatching redirection URI, or if the client identifier is missing or invalid, the authorization server SHOULD inform the resource owner of the error and MUST NOT automatically redirect the user-agent to the invalid redirection URI.
- type : string
- enum : invalid_request, unauthorized_client, access_denied, unsupported_response_type, invalid_scope, server_error, temporarily_unavailable, unsupported_token_type
-
error_uri
- A URI identifying a human-readable web page with information about the error, used to provide the client developer with additional information about the error.
- type : string
-
required
- error
{
"properties": {
"error_description": {
"description": "Human-readable ASCII [USASCII] text providing additional information, used to assist the client developer in understanding the error that occurred",
"type": "string"
},
"error": {
"description": "If the request fails due to a missing, invalid, or mismatching redirection URI, or if the client identifier is missing or invalid, the authorization server SHOULD inform the resource owner of the error and MUST NOT automatically redirect the user-agent to the invalid redirection URI.",
"type": "string",
"enum": [
"invalid_request",
"unauthorized_client",
"access_denied",
"unsupported_response_type",
"invalid_scope",
"server_error",
"temporarily_unavailable",
"unsupported_token_type"
]
},
"error_uri": {
"description": "A URI identifying a human-readable web page with information about the error, used to provide the client developer with additional information about the error.",
"type": "string"
}
},
"required": [
"error"
]
}
error |
invalid_client |
-
error_description
- Human-readable ASCII [USASCII] text providing additional information, used to assist the client developer in understanding the error that occurred
- type : string
-
error
- If the request fails due to a missing, invalid, or mismatching redirection URI, or if the client identifier is missing or invalid, the authorization server SHOULD inform the resource owner of the error and MUST NOT automatically redirect the user-agent to the invalid redirection URI.
- type : string
- enum : invalid_request, unauthorized_client, access_denied, unsupported_response_type, invalid_scope, server_error, temporarily_unavailable, unsupported_token_type
-
error_uri
- A URI identifying a human-readable web page with information about the error, used to provide the client developer with additional information about the error.
- type : string
-
required
- error
{
"properties": {
"error_description": {
"description": "Human-readable ASCII [USASCII] text providing additional information, used to assist the client developer in understanding the error that occurred",
"type": "string"
},
"error": {
"description": "If the request fails due to a missing, invalid, or mismatching redirection URI, or if the client identifier is missing or invalid, the authorization server SHOULD inform the resource owner of the error and MUST NOT automatically redirect the user-agent to the invalid redirection URI.",
"type": "string",
"enum": [
"invalid_request",
"unauthorized_client",
"access_denied",
"unsupported_response_type",
"invalid_scope",
"server_error",
"temporarily_unavailable",
"unsupported_token_type"
]
},
"error_uri": {
"description": "A URI identifying a human-readable web page with information about the error, used to provide the client developer with additional information about the error.",
"type": "string"
}
},
"required": [
"error"
]
}