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.

OpenAPI Specification

adobe-suite-status-openapi.yaml Raw ↑
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

    ![alt text](/adobe-status/images/status-api-env.png "Adobe Status API Environment Variable")

    ### Status API Postman Collection Reference

    ![alt text](/adobe-status/images/status-api-collection.png "Adobe Status API Collection")

    ![alt text](/adobe-status/images/status-api-testing.png "Adobe Status API Collection Endpoint Validation")

    # 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>&regionIds=<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>&regionIds=<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>&regionIds=<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>&regionIds=<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