Adobe Status API
Machine-readable Adobe service status — read current and historical incidents, maintenance events, affected products and regions for every Adobe cloud service, as an OpenAPI contract rather than only an HTML status page.
Machine-readable Adobe service status — read current and historical incidents, maintenance events, affected products and regions for every Adobe cloud service, as an OpenAPI contract rather than only an HTML status page.
openapi: 3.0.1
info:
title: Adobe Status API Reference
description: >
This guide will help you complete the setup needed to call Status API's. <br /><br />
The following sections contain sample code snippets for generating tokens. Once the setup is complete, you can find the API specs under Events and Registry.
All the API's have CLI, Javascript and NodeJS code request samples. <br /><br />
If you chose to use Postman to call the Status API's, please see the section 'Postman Collection'. It has downloadable collection files that you can use to get started. <br /><br />
You will need OAuth token and API key to call Status API's. Please find the sample code below.<br />
<SecurityDefinitions />
# Code Snippets
## NodeJS
- Make sure `node` installed on your machine
- Add all required packages into the project eg., `npm install axios`
- Get the credentials from the developer console website -> 'OAuth Server-to-Server' credentials page of your project and replace the values in the sample code
```javascript
const axios = require("axios")
const oauth_token_endpoint = 'https://ims-na1.adobelogin.com/ims/token/v3';
// Get the below values from the developer console project's 'OAuth Server-to-Server' credentials page
const CLIENT_ID = 'a68bc04-----------92e86df4513ff';
const CLIENT_SECRET = process.env.CLIENT_SECRET;
const SCOPES = 'creative_cloud, openid, additional_info.ownerOrg, AdobeID, org.read, read_organizations, additional_info.roles, gnav, additional_info.company, additional_info.projectedProductContext';
const query_params= `client_id=${CLIENT_ID}`;
const REQUEST_URL = oauth_token_endpoint + '?' + query_params;
const get_access_token = async auth_code => {
return await axios ({
method: 'post',
url: REQUEST_URL,
data: {
'client_secret': CLIENT_SECRET,
'grant_type': 'client_credentials',
'scope': SCOPES
},
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
});
};
get_access_token().then((response)=> {
if(response.status === 200) {
console.log(response.data); // access token
}
});
```
## Python
- Below code tested in Python version 3.9
- Install requests and os. eg., `pip3 install "requests"`
- Get the credentials from the developer console website -> 'OAuth Server-to-Server' credentials page of your project and replace the values in the sample code
```python
import requests
import os
# Update CLIENT_ID and CLIENT_SECRET with your config
# which can be obtain from the Adobe Developer Console integration
CLIENT_ID = "a68bc04-----------92e86df4513ff";
CLIENT_SECRET = os.environ['CLIENT_SECRET'];
SCOPES = "creative_cloud, openid, additional_info.ownerOrg, AdobeID, org.read, read_organizations, additional_info.roles, gnav, additional_info.company, additional_info.projectedProductContext";
headers = {"content-type": "application/x-www-form-urlencoded"}
url = "https://ims-na1.adobelogin.com/ims/token/v3"
data = {
"client_secret": CLIENT_SECRET,
"grant_type": "client_credentials",
"scope": SCOPES
}
params = {'client_id': CLIENT_ID}
response = requests.post(url, params=params, data=data, headers=headers)
if(response.status_code == 200):
print(response.text) # access token
```
# Postman Collection
- Download Status API postman collection and environment variable from here - [Postman Collection](/adobe-status/postman-collection-and-env.zip)
- Import both collection and environment variables into your postman
- Replace CLIENT_ID and CLIENT_SECRET in environment variable with yours and run collection endpoints
### Environment Variable Reference

### Status API Postman Collection Reference


# Throttling Policy
We have a throttling policy in place. We accept up to 50 requests / 5 secs per user's session. Your throttled requests will receive an error code—HTTP Status 429 (Too Many Requests) response with a Retry-After header, following the [RFC 7231](https://tools.ietf.org/html/rfc7231#section-7.1.3) HTTP standard.
contact:
name: Status.adobe
url: https://status.adobe.com
email: statuscom-adobe-support@adobe.com
version: '1.0'
servers:
- url: https://status.adobe.io/
security:
- Authorization: []
api_key: []
tags:
- name: Events
description: >-
Query and view all ongoing events, events from the past 40 days, and
future maintenance, that will impact Adobe Products and Services.
- name: Registry
description: Query and view the product taxonomy of Adobe Products and Services.
paths:
/api/v1/clouds:
get:
tags:
- Registry
summary: Clouds
description: List the top-level product families for all Adobe Products and Services.
operationId: cloudsUsingGET
parameters:
- name: cloudId
in: query
description: List of cloud ids for which you want to retrieve the cloud detail.
style: form
explode: true
schema:
type: array
items:
type: string
- name: cloudName
in: query
description: Partial or complete cloud name for which you want to retrieve the cloud detail.
style: form
explode: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Cloud'
'400':
description: Bad Request
content: {}
'401':
description: Unauthorized
content: {}
'403':
description: Forbidden
content: {}
'404':
description: Not Found
content: {}
'429':
description: Too Many Requests
content: {}
'500':
description: Internal Server Error
content: {}
x-codeSamples:
- lang: cURL
label: CLI
source: >-
curl --location --request GET 'https://status.adobe.io/api/v1/clouds?api_key=<key>&cloudId=<string>' \
--header 'Authorization: Bearer <token>'
- lang: JavaScript
label: JavaScript
source: {$ref: code/JS/clouds.js}
- lang: JavaScript
label: NodeJS
source: {$ref: code/Node/clouds.js}
/api/v1/products:
get:
tags:
- Registry
summary: Products
description: List all the Adobe Products and Services across Clouds.
operationId: productsUsingGET
parameters:
- name: cloudId
in: query
description: List of cloud ids for which you want to retrieve the events.
style: form
explode: true
schema:
type: array
items:
type: string
- name: productId
in: query
description: List of product ids for which you want to retrieve the product detail.
style: form
explode: true
schema:
type: array
items:
type: string
- name: productName
in: query
description: Partial or complete product name for which you want to retrieve the product detail.
style: form
explode: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Product'
'400':
description: Bad Request
content: {}
'401':
description: Unauthorized
content: {}
'403':
description: Forbidden
content: {}
'404':
description: Not Found
content: {}
'429':
description: Too Many Requests
content: {}
'500':
description: Internal Server Error
content: {}
x-codeSamples:
- lang: cURL
label: CLI
source: >-
curl --location --request GET 'https://status.adobe.io/api/v1/products?api_key=<key>&cloudId=<string>&productId=<string>' \
--header 'Authorization: Bearer <token>'
- lang: JavaScript
label: JavaScript
source: {$ref: code/JS/products.js}
- lang: JavaScript
label: NodeJS
source: {$ref: code/Node/products.js}
/api/v1/eventTypes:
get:
tags:
- Registry
summary: Event Types
description: >-
List all the types of events that can impact Adobe Products and
Services.
operationId: eventTypesUsingGET
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
additionalProperties:
type: string
'400':
description: Bad Request
content: {}
'401':
description: Unauthorized
content: {}
'403':
description: Forbidden
content: {}
'404':
description: Not Found
content: {}
'429':
description: Too Many Requests
content: {}
'500':
description: Internal Server Error
content: {}
x-codeSamples:
- lang: cURL
label: CLI
source: >-
curl --location --request GET 'https://status.adobe.io/api/v1/eventTypes?api_key=<key>' \
--header 'Authorization: Bearer <token>'
- lang: JavaScript
label: JavaScript
source: {$ref: code/JS/eventtypes.js}
- lang: JavaScript
label: NodeJS
source: {$ref: code/Node/eventtypes.js}
/api/v1/events:
get:
tags:
- Events
summary: All Events
description: >-
List all ongoing issues and maintenances that are impacting Adobe
Products and Services.
operationId: eventsUsingGET
parameters:
- name: cloudIds
in: query
description: List of cloud ids for which you want to retrieve the events.
style: form
explode: true
schema:
type: array
items:
type: string
- name: environmentIds
in: query
description: List of environmentIds for which you want to retrieve the events.
style: form
explode: true
schema:
type: array
items:
type: string
- name: from
in: query
description: Retrieve the events starting from Date (yyyy-MM-dd format).
schema:
type: string
format: date
- name: offeringIds
in: query
description: List of offeringIds for which you want to retrieve the events.
style: form
explode: true
schema:
type: array
items:
type: string
- name: productIds
in: query
description: List of product ids for which you want to retrieve the events.
style: form
explode: true
schema:
type: array
items:
type: string
- name: regionIds
in: query
description: List of regionIds for which you want to retrieve the events.
style: form
explode: true
schema:
type: array
items:
type: string
- name: search
in: query
description: Product name search
schema:
type: string
- name: serviceIds
in: query
description: List of serviceIds for which you want to retrieve the events.
style: form
explode: true
schema:
type: array
items:
type: string
- name: to
in: query
description: Retrieve the events till Date (yyyy-MM-dd format).
schema:
type: string
format: date
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Event'
'400':
description: Bad Request
content: {}
'401':
description: Unauthorized
content: {}
'403':
description: Forbidden
content: {}
'404':
description: Not Found
content: {}
'429':
description: Too Many Requests
content: {}
'500':
description: Internal Server Error
content: {}
x-codeSamples:
- lang: cURL
label: CLI
source: >-
curl --location --request GET
'https://status.adobe.io/api/v1/events?api_key=<key>&cloudIds=<string>&environmentIds=<string>&from=<date>&offeringIds=<string>&productIds=<string>®ionIds=<string>&search=<string>&serviceIds=<string>&to=<date>' \
--header 'Authorization: Bearer <token>'
- lang: JavaScript
label: JavaScript
source: {$ref: code/JS/event.js}
- lang: JavaScript
label: NodeJS
source: {$ref: code/Node/event.js}
/api/v1/events/incidents:
get:
tags:
- Events
summary: All Issues
description: List all ongoing issues that are impacting Adobe Products and Services.
operationId: incidentsUsingGET
parameters:
- name: cloudIds
in: query
description: List of cloud ids for which you want to retrieve the incidents.
style: form
explode: true
schema:
type: array
items:
type: string
- name: environmentIds
in: query
description: List of environmentIds for which you want to retrieve the incidents.
style: form
explode: true
schema:
type: array
items:
type: string
- name: from
in: query
description: Retrieve the events starting from Date (yyyy-MM-dd format).
schema:
type: string
format: date
- name: offeringIds
in: query
description: List of offeringIds for which you want to retrieve the incidents.
style: form
explode: true
schema:
type: array
items:
type: string
- name: productIds
in: query
description: List of product ids for which you want to retrieve the incidents.
style: form
explode: true
schema:
type: array
items:
type: string
- name: regionIds
in: query
description: List of regionIds for which you want to retrieve the incidents.
style: form
explode: true
schema:
type: array
items:
type: string
- name: search
in: query
description: Product name search
schema:
type: string
- name: serviceIds
in: query
description: List of serviceIds for which you want to retrieve the incidents.
style: form
explode: true
schema:
type: array
items:
type: string
- name: to
in: query
description: Retrieve the events till Date (yyyy-MM-dd format).
schema:
type: string
format: date
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/IncidentDto'
'400':
description: Bad Request
content: {}
'401':
description: Unauthorized
content: {}
'403':
description: Forbidden
content: {}
'404':
description: Not Found
content: {}
'429':
description: Too Many Requests
content: {}
'500':
description: Internal Server Error
content: {}
x-codeSamples:
- lang: cURL
label: CLI
source: >-
curl --location --request GET 'https://status.adobe.io/api/v1/events/incidents?api_key=<key>&cloudIds=<string>&environmentIds=<string>&from=<date>&offeringIds=<string>&productIds=<string>®ionIds=<string>&search=<string>&serviceIds=<string>&to=<date>' \
--header 'Authorization: Bearer <token>'
- lang: JavaScript
label: JavaScript
source: {$ref: code/JS/incident.js}
- lang: JavaScript
label: NodeJS
source: {$ref: code/Node/incident.js}
/api/v1/events/maintenance:
get:
tags:
- Events
summary: All Maintenances
description: >-
List all ongoing maintenances that are impacting Adobe Products and
Services.
operationId: maintenanceUsingGET
parameters:
- name: cloudIds
in: query
description: List of cloud ids for which you want to retrieve the Maintenance.
style: form
explode: true
schema:
type: array
items:
type: string
- name: environmentIds
in: query
description: >-
List of environmentIds for which you want to retrieve the
Maintenance.
style: form
explode: true
schema:
type: array
items:
type: string
- name: from
in: query
description: Retrieve the events starting from Date (yyyy-MM-dd format).
schema:
type: string
format: date
- name: offeringIds
in: query
description: List of offeringIds for which you want to retrieve the Maintenance.
style: form
explode: true
schema:
type: array
items:
type: string
- name: productIds
in: query
description: List of product ids for which you want to retrieve the Maintenance.
style: form
explode: true
schema:
type: array
items:
type: string
- name: regionIds
in: query
description: List of regionIds for which you want to retrieve the Maintenance.
style: form
explode: true
schema:
type: array
items:
type: string
- name: search
in: query
description: Product name search
schema:
type: string
- name: serviceIds
in: query
description: List of serviceIds for which you want to retrieve the Maintenance.
style: form
explode: true
schema:
type: array
items:
type: string
- name: to
in: query
description: Retrieve the events till Date (yyyy-MM-dd format).
schema:
type: string
format: date
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/MaintenanceDto'
'400':
description: Bad Request
content: {}
'401':
description: Unauthorized
content: {}
'403':
description: Forbidden
content: {}
'404':
description: Not Found
content: {}
'429':
description: Too Many Requests
content: {}
'500':
description: Internal Server Error
content: {}
x-codeSamples:
- lang: cURL
label: CLI
source: >-
curl --location --request GET 'https://status.adobe.io/api/v1/events/maintenance?api_key=<key>&cloudIds=<string>&environmentIds=<string>&from=<date>&offeringIds=<string>&productIds=<string>®ionIds=<string>&search=<string>&serviceIds=<string>&to=<date>' \
--header 'Authorization: Bearer <token>'
- lang: JavaScript
label: JavaScript
source: {$ref: code/JS/maintenance.js}
- lang: JavaScript
label: NodeJS
source: {$ref: code/Node/maintenance.js}
/api/v1/events/scheduled:
get:
tags:
- Events
summary: All Scheduled Maintenances
description: >-
View all upcoming scheduled maintenances that are impacting Adobe
Products and Services.
operationId: scheduledUsingGET
parameters:
- name: cloudIds
in: query
description: List of cloud ids for which you want to retrieve the Maintenance.
style: form
explode: true
schema:
type: array
items:
type: string
- name: environmentIds
in: query
description: >-
List of environmentIds for which you want to retrieve the
Maintenance.
style: form
explode: true
schema:
type: array
items:
type: string
- name: from
in: query
description: Retrieve the events starting from Date (yyyy-MM-dd format).
schema:
type: string
format: date
- name: offeringIds
in: query
description: List of offeringIds for which you want to retrieve the Maintenance.
style: form
explode: true
schema:
type: array
items:
type: string
- name: productIds
in: query
description: List of product ids for which you want to retrieve the Maintenance.
style: form
explode: true
schema:
type: array
items:
type: string
- name: regionIds
in: query
description: List of regionIds for which you want to retrieve the Maintenance.
style: form
explode: true
schema:
type: array
items:
type: string
- name: search
in: query
description: Product name search
schema:
type: string
- name: serviceIds
in: query
description: List of serviceIds for which you want to retrieve the Maintenance.
style: form
explode: true
schema:
type: array
items:
type: string
- name: to
in: query
description: Retrieve the events till Date (yyyy-MM-dd format).
schema:
type: string
format: date
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/MaintenanceDto'
'400':
description: Bad Request
content: {}
'401':
description: Unauthorized
content: {}
'403':
description: Forbidden
content: {}
'404':
description: Not Found
content: {}
'429':
description: Too Many Requests
content: {}
'500':
description: Internal Server Error
content: {}
x-codeSamples:
- lang: cURL
label: CLI
source: >-
curl --location --request GET 'https://status.adobe.io/api/v1/events/scheduled?api_key=<key>&cloudIds=<string>&environmentIds=<string>&from=<date>&offeringIds=<string>&productIds=<string>®ionIds=<string>&search=<string>&serviceIds=<string>&to=<date>' \
--header 'Authorization: Bearer <token>'
- lang: JavaScript
label: JavaScript
source: {$ref: code/JS/scheduled.js}
- lang: JavaScript
label: NodeJS
source: {$ref: code/Node/scheduled.js}
/api/v1/regions:
get:
tags:
- Registry
summary: Regions
description: List all the regions that can be impacted by Adobe Status Events.
operationId: regionsUsingGET
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/RegionDto'
'400':
description: Bad Request
content: {}
'401':
description: Unauthorized
content: {}
'403':
description: Forbidden
content: {}
'404':
description: Not Found
content: {}
'429':
description: Too Many Requests
content: {}
'500':
description: Internal Server Error
content: {}
x-codeSamples:
- lang: cURL
label: CLI
source: >-
curl --location --request GET 'https://status.adobe.io/api/v1/regions?api_key=<key>' \
--header 'Authorization: Bearer <token>'
- lang: JavaScript
label: JavaScript
source: {$ref: code/JS/regions.js}
- lang: JavaScript
label: NodeJS
source: {$ref: code/Node/regions.js}
/api/v1/locales:
get:
tags:
- Registry
summary: Locales
description: >-
List all the locales for the messages for an event impacting Adobe
products.
operationId: localesUsingGET
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/LocaleDto'
'400':
description: Bad Request
content: {}
'401':
description: Unauthorized
content: {}
'403':
description: Forbidden
content: {}
'404':
description: Not Found
content: {}
'429':
description: Too Many Requests
content: {}
'500':
description: Internal Server Error
content: {}
x-codeSamples:
- lang: cURL
label: CLI
source: >-
curl --location --request GET 'https://status.adobe.io/api/v1/locales?api_key=<key>' \
--header 'Authorization: Bearer <token>'
- lang: JavaScript
label: JavaScript
source: {$ref: code/JS/locales.js}
- lang: JavaScript
label: NodeJS
source: {$ref: code/Node/locales.js}
/api/v1/messages:
get:
tags:
- Registry
summary: Messages
description: List all the messages for an event impacting Adobe products.
operationId: messagesUsingGET
parameters:
- name: messageToken
in: query
description: Message token for which you want to retrieve the messages.
style: form
explode: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/MessagesDto'
'400':
description: Bad Request
content: {}
'401':
description: Unauthorized
content: {}
'403':
description: Forbidden
content: {}
'404':
description: Not Found
content: {}
'429':
description: Too Many Requests
content: {}
'500':
description: Internal Server Error
content: {}
x-codeSamples:
- lang: cURL
label: CLI
source: >-
curl --location --request GET 'https://status.adobe.io/api/v1/messages?api_key=<key>' \
--header 'Authorization: Bearer <token>'
- lang: JavaScript
label: JavaScript
source: {$ref: code/JS/messages.js}
- lang: JavaScript
label: NodeJS
source: {$ref: code/Node/messages.js}
/api/v1/messages/{locale}:
get:
tags:
- Registry
summary: Messages By Locale
description: >-
List all the messages for a locale, for an event impacting Adobe
products.<br /> <b>Note:</b> Use Locales API(`/api/v1/locales`) to get
supported locales
operationId: messagesUsingGET_1
parameters:
- name: locale
in: path
description: Locale for fetching message details.
required: true
schema:
type: string
- name: messageToken
in: query
description: Message token for which you want to retrieve the messages.
style: form
explode: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/MessagesDto'
'400':
description: Bad Request
content: {}
'401':
description: Unauthorized
content: {}
'403':
description: Forbidden
content: {}
'404':
description: Not Found
content: {}
'429':
description: Too Many Requests
content: {}
'500':
description: Internal Server Error
content: {}
x-codeSamples:
- lang: cURL
label: CLI
source: >-
curl --location --request GET 'https://status.adobe.io/api/v1/messages/es?api_key=<key>' \
--header 'Authorization: Bearer <token>'
- lang: JavaScript
label: JavaScript
source: {$ref: code/JS/messagesbylocale.js}
- lang: JavaScript
label: NodeJS
source: {$ref: code/Node/messagesbylocale.js}
components:
schemas:
Cloud:
title: Cloud
type: object
properties:
cloudProducts:
uniqueItems: true
type: array
items:
$ref: '#/components/schemas/CloudProduct'
id:
type: string
name:
type: string
CloudProduct:
title: CloudProduct
type: object
properties:
id:
type: string
name:
type: string
Environment:
title: Environment
type: object
properties:
id:
type: string
name:
type: string
regionId:
uniqueItems: true
type: array
items:
type: string
Error:
title: Error
type: object
properties:
error_code:
type: string
message:
type: string
Event:
title: Event
type: object
properties:
incidents:
type: array
items:
$ref: '#/components/schemas/IncidentDto'
maintenances:
type: array
items:
$ref: '#/components/schemas/MaintenanceDto'
EventCapabilities:
title: EventCapabilities
type: object
properties:
id:
type: string
name:
type: string
productServices:
uniqueItems: true
type: a
# --- truncated at 32 KB (49 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/adobe-suite/refs/heads/main/openapi/adobe-suite-status-openapi.yaml