Developer
News and Updates
Get Support
Sign in
Get Support
Sign in
DOCUMENTATION
Cloud
Data Center
Resources
Sign in
Sign in
DOCUMENTATION
Cloud
Data Center
Resources
Sign in
  • API Token
  • API Key
  • OAuth Client
  • Service Account
Cloud
API Access / Reference / REST API

OAuth Client

Postman Collection
OpenAPI
GET

Get all OAuth clients in an org

Retrieves all OAuth clients for the specified organization.

Scopes

OAuth 2.0 scopes required: read:service-accounts-tokens:admin

Forge and OAuth2 apps cannot access this REST resource.

Request

Path parameters

orgId

string

Required

Query parameters

pageSize

integer

cursor

string

Responses

Returned if the request is successful.

Headers

X-RateLimit-Limit

integer

X-RateLimit-Remaining

integer

X-RateLimit-Reset

string

application/json

OAuthClientListResponse
GET/orgs/{orgId}/oauth-clients
1 2 3 curl --request GET \ --url 'https://api.atlassian.com/admin/api-access/v1/orgs/{orgId}/oauth-clients' \ --header 'Accept: application/json'
200Response
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 { "data": [ { "tokenEndpointAuthMethod": "private_key_jwt", "clientId": "<string>", "name": "<string>", "createdAt": 1763149545609, "updatedAt": 1763149545609, "status": "ACTIVE" } ], "links": { "self": "<string>", "next": "<string>", "prev": "<string>" } }
POST

Create an OAuth client

Creates a new OAuth client for a service account in the specified organization. Set tokenEndpointAuthMethod to private_key_jwt and supply publicKeys to authenticate using a signed JWT. Private Key JWT must be enabled for your organization. The response contains clientId and, when available, the supplied keyId; clientSecret is null for private_key_jwt clients.

An active admin session with org management permissions is supported. API access requires OAuth client creation to be enabled for your organization.

Scopes

OAuth 2.0 scopes required: write:service-accounts-tokens:admin

Forge and OAuth2 apps cannot access this REST resource.

Request

Path parameters

orgId

string

Required

Request bodyapplication/json

Details to create an OAuth client

name

string

Required
serviceAccountId

string

Required
scopes

array<string>

Required
tokenEndpointAuthMethod

string

publicKeys

array<OAuthClientPublicKey>

Responses

Returned if the OAuth client is successfully created.

Headers

X-RateLimit-Limit

integer

X-RateLimit-Remaining

integer

X-RateLimit-Reset

string

application/json

OAuthClientCredentials

Credentials returned when an OAuth client is created. Save any client secret securely; it is not returned by GET endpoints.

POST/orgs/{orgId}/oauth-clients
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 curl --request POST \ --url 'https://api.atlassian.com/admin/api-access/v1/orgs/{orgId}/oauth-clients' \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --data '{ "name": "Automation client", "serviceAccountId": "service-account-id", "scopes": [ "read:jira-work" ], "tokenEndpointAuthMethod": "private_key_jwt", "publicKeys": [ { "source": "external_uri", "value": "https://auth.example.com/.well-known/jwks.json", "kid": "client-key-2026-01" } ] }'
201Response
1 2 3 4 5 { "clientId": "oauth-client-id", "clientSecret": null, "keyId": "client-key-2026-01" }
POST

Get OAuth client count in an org

Gets the count of OAuth clients in the specified organization.

Scopes

OAuth 2.0 scopes required: read:service-accounts-tokens:admin

Forge and OAuth2 apps cannot access this REST resource.

Request

Path parameters

orgId

string

Required

Responses

Returned if the request is successful.

Headers

X-RateLimit-Limit

integer

X-RateLimit-Remaining

integer

X-RateLimit-Reset

string

application/json

object
POST/orgs/{orgId}/oauth-clients/count
1 2 3 curl --request POST \ --url 'https://api.atlassian.com/admin/api-access/v1/orgs/{orgId}/oauth-clients/count' \ --header 'Accept: application/json'
200Response
1 2 3 { "total": 53 }
GET

Get an OAuth client

Retrieves a specific OAuth client by ID for the specified organization.

Scopes

OAuth 2.0 scopes required: read:service-accounts-tokens:admin

Forge and OAuth2 apps cannot access this REST resource.

Request

Path parameters

orgId

string

Required
clientId

string

Required

Responses

Returned if the request is successful.

Headers

X-RateLimit-Limit

integer

X-RateLimit-Remaining

integer

X-RateLimit-Reset

string

application/json

OAuthClient

Represents an OAuth client associated with an organization.

GET/orgs/{orgId}/oauth-clients/{clientId}
1 2 3 curl --request GET \ --url 'https://api.atlassian.com/admin/api-access/v1/orgs/{orgId}/oauth-clients/{clientId}' \ --header 'Accept: application/json'
200Response
1 2 3 4 5 6 7 8 { "tokenEndpointAuthMethod": "private_key_jwt", "clientId": "<string>", "name": "<string>", "createdAt": 1763149545609, "updatedAt": 1763149545609, "status": "ACTIVE" }
DEL

Delete an OAuth client

Deletes an existing OAuth client from the specified organization.

Scopes

OAuth 2.0 scopes required: delete:service-accounts-tokens:admin

Forge and OAuth2 apps cannot access this REST resource.

Request

Path parameters

orgId

string

Required
clientId

string

Required

Responses

Returned if the OAuth client is successfully deleted.

Headers

X-RateLimit-Limit

integer

X-RateLimit-Remaining

integer

X-RateLimit-Reset

string

DEL/orgs/{orgId}/oauth-clients/{clientId}
1 2 curl --request DELETE \ --url 'https://api.atlassian.com/admin/api-access/v1/orgs/{orgId}/oauth-clients/{clientId}'
PATCH

Update an OAuth client

Updates the name, token endpoint authentication method, or public keys of an OAuth client in the specified organization. Omitted fields remain unchanged. Supply publicKeys to replace the configured key set, including when rotating keys. When switching to private_key_jwt, supply the public keys to use for authentication. Private Key JWT must be enabled for your organization.

The response includes the supplied keyId when available. When explicitly switching from private_key_jwt to a client-secret method (basic, post, basic_pkce, or post_pkce), the response can include clientSecret. Save it securely at this point; GET responses do not return it. Other updates return a null clientSecret.

Scopes

OAuth 2.0 scopes required: write:service-accounts-tokens:admin

Forge and OAuth2 apps cannot access this REST resource.

Request

Path parameters

orgId

string

Required
clientId

string

Required

Request bodyapplication/json

name

string

tokenEndpointAuthMethod

string

publicKeys

array<OAuthClientPublicKey>

Responses

Returned if the OAuth client is successfully updated.

application/json

OAuthClientUpdateResult

The OAuth client details returned after an update.

PATCH/orgs/{orgId}/oauth-clients/{clientId}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 curl --request PATCH \ --url 'https://api.atlassian.com/admin/api-access/v1/orgs/{orgId}/oauth-clients/{clientId}' \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --data '{ "tokenEndpointAuthMethod": "private_key_jwt", "publicKeys": [ { "source": "external_uri", "value": "https://auth.example.com/.well-known/jwks.json", "kid": "client-key-2026-02" } ] }'
200Response
1 2 3 4 5 6 7 8 { "clientId": "oauth-client-id", "name": "Automation client", "tokenEndpointAuthMethod": "private_key_jwt", "keyId": "client-key-2026-02", "disabled": false, "clientSecret": null }

Rate this page: