openapi: 3.2.0
info:
title: Adobe Status API Reference Registry API
description: "This guide will help you complete the setup needed to call Status API's.
\nThe 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.
\nIf 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.
\nYou will need OAuth token and API key to call Status API's. Please find the sample code below.
\n \n\n\n\n# Code Snippets\n## NodeJS\n- Make sure `node` installed on your machine\n- Add all required packages into the project eg., `npm install axios`\n- 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\n\n```javascript\nconst axios = require(\"axios\")\n\nconst oauth_token_endpoint = 'https://ims-na1.adobelogin.com/ims/token/v3';\n\n// Get the below values from the developer console project's 'OAuth Server-to-Server' credentials page\nconst CLIENT_ID = 'a68bc04-----------92e86df4513ff';\nconst CLIENT_SECRET = process.env.CLIENT_SECRET;\nconst SCOPES = 'creative_cloud, openid, additional_info.ownerOrg, AdobeID, org.read, read_organizations, additional_info.roles, gnav, additional_info.company, additional_info.projectedProductContext';\n\nconst query_params= `client_id=${CLIENT_ID}`;\nconst REQUEST_URL = oauth_token_endpoint + '?' + query_params;\n\n\nconst get_access_token = async auth_code => {\n \n return await axios ({\n method: 'post',\n url: REQUEST_URL,\n data: {\n 'client_secret': CLIENT_SECRET,\n 'grant_type': 'client_credentials',\n 'scope': SCOPES\n },\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded'\n }\n });\n};\n\nget_access_token().then((response)=> {\n if(response.status === 200) {\n console.log(response.data); // access token \n }\n});\n```\n## Python\n- Below code tested in Python version 3.9\n- Install requests and os. eg., `pip3 install \"requests\"`\n- 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 \n\n```python\nimport requests\nimport os\n\n# Update CLIENT_ID and CLIENT_SECRET with your config\n# which can be obtain from the Adobe Developer Console integration\nCLIENT_ID = \"a68bc04-----------92e86df4513ff\";\nCLIENT_SECRET = os.environ['CLIENT_SECRET'];\nSCOPES = \"creative_cloud, openid, additional_info.ownerOrg, AdobeID, org.read, read_organizations, additional_info.roles, gnav, additional_info.company, additional_info.projectedProductContext\";\nheaders = {\"content-type\": \"application/x-www-form-urlencoded\"}\nurl = \"https://ims-na1.adobelogin.com/ims/token/v3\"\n\ndata = { \n \"client_secret\": CLIENT_SECRET,\n \"grant_type\": \"client_credentials\",\n \"scope\": SCOPES\n}\nparams = {'client_id': CLIENT_ID}\nresponse = requests.post(url, params=params, data=data, headers=headers)\nif(response.status_code == 200):\n print(response.text) # access token\n\n\n```\n\n# Postman Collection \n- Download Status API postman collection and environment variable from here - [Postman Collection](/adobe-status/postman-collection-and-env.zip) \n- Import both collection and environment variables into your postman \n- Replace CLIENT_ID and CLIENT_SECRET in environment variable with yours and run collection endpoints \n### Environment Variable Reference\n\n### Status API Postman Collection Reference\n\n\n# Throttling Policy\nWe 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.\n"
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: 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=&cloudId='' \ --header ''Authorization: Bearer '''
- 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=&cloudId=&productId='' \ --header ''Authorization: Bearer '''
- 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='' \ --header ''Authorization: Bearer '''
- lang: JavaScript
label: JavaScript
source:
$ref: code/JS/eventtypes.js
- lang: JavaScript
label: NodeJS
source:
$ref: code/Node/eventtypes.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='' \ --header ''Authorization: Bearer '''
- 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='' \ --header ''Authorization: Bearer '''
- 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='' \ --header ''Authorization: Bearer '''
- 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.
Note: 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='' \ --header ''Authorization: Bearer '''
- lang: JavaScript
label: JavaScript
source:
$ref: code/JS/messagesbylocale.js
- lang: JavaScript
label: NodeJS
source:
$ref: code/Node/messagesbylocale.js
components:
schemas:
Message:
title: Message
type: object
properties:
htmlMessage:
type: string
textMessage:
type: string
token:
type: string
CloudProduct:
title: CloudProduct
type: object
properties:
id:
type: string
name:
type: string
Offering:
title: Offering
type: object
properties:
id:
type: string
name:
type: string
productServices:
uniqueItems: true
type: array
items:
type: string
Cloud:
title: Cloud
type: object
properties:
cloudProducts:
uniqueItems: true
type: array
items:
$ref: '#/components/schemas/CloudProduct'
id:
type: string
name:
type: string
RegionDto:
title: RegionDto
type: object
properties:
id:
type: string
name:
type: string
LocaleDto:
title: LocaleDto
type: object
properties:
languageName:
type: string
localeCode:
type: string
Environment:
title: Environment
type: object
properties:
id:
type: string
name:
type: string
regionId:
uniqueItems: true
type: array
items:
type: string
Product:
title: Product
type: object
properties:
environments:
type: array
items:
$ref: '#/components/schemas/Environment'
id:
type: string
name:
type: string
productOfferings:
type: array
items:
$ref: '#/components/schemas/Offering'
productServices:
type: array
items:
$ref: '#/components/schemas/ProductService'
regions:
type: array
items:
$ref: '#/components/schemas/RegionDto'
MessagesDto:
title: MessagesDto
type: object
properties:
incidentMessages:
type: object
additionalProperties:
$ref: '#/components/schemas/Message'
languageCode:
type: string
maintenanceMessages:
type: object
additionalProperties:
$ref: '#/components/schemas/Message'
ProductService:
title: ProductService
type: object
properties:
id:
type: string
name:
type: string
serviceEnvironments:
uniqueItems: true
type: array
items:
type: string
securitySchemes:
Authorization:
description: '[To generate OAuth Authorization token](https://developer.adobe.com/developer-console/docs/guides/authentication/ServerToServerAuthentication/implementation/)'
type: http
scheme: bearer
api_key:
type: apiKey
description: Use the api key `StatusAdobeIOClient`
name: api_key
in: query