Adobe Suite Expense API

The Expense API from Adobe Suite — 7 operation(s) for expense.

Operations 12

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /expense/{id} Look up one expense · Get for Expense #
Ask an LLM
“How do I view a single Workfront expense by its ID?”
“Can I pick which fields come back for one expense?”
Tell an agent
Show expense {id}.
Get expense {id} with fields {fields}.
PUT /expense/{id} Update one expense · Edit a Expense #
Ask an LLM
“Can I change the amount or type recorded on an existing expense?”
“What's the call to correct a single expense entry?”
Tell an agent
Edit expense {id} with the corrections I give you.
Update expense {id} and return {fields}.
DELETE /expense/{id} Delete one expense · Delete for Expense #
Ask an LLM
“How do I remove an expense that was logged by mistake?”
“Is there a force option when deleting one expense?”
Tell an agent destructive · confirm first
Delete expense {id}.
Remove expense {id} with force {force}.
GET /expense Fetch several expenses by ID · Bulk Get for Expense #
Ask an LLM
“Can I retrieve a batch of expenses when I know their IDs?”
“Which call returns multiple known expenses at once?”
Tell an agent
Fetch expenses {id}.
Get the expenses {id} showing only {fields}.
PUT /expense Update many expenses at once · Bulk Edit for Expense #
Ask an LLM
“How do I bulk edit several expenses in one request?”
“Can I apply the same correction to a group of expenses?”
Tell an agent
Apply these edits to all the expenses I list.
Bulk update the expenses and return {fields}.
POST /expense Log a new expense · Create a expense #
Ask an LLM
“How do I record a new expense against a project or task?”
“What do I send to create an expense in Workfront?”
Tell an agent
Create an expense with the amount and details I provide.
Log a new expense and return {fields}.
DELETE /expense Delete many expenses at once · Bulk Delete for Expense #
Ask an LLM
“Can I bulk delete a list of expenses by ID?”
“What removes several expenses in a single call?”
Tell an agent destructive · confirm first
Bulk delete expenses {id}.
Remove every expense in {id} using force {force}.
GET /expense/count Count expenses · Count of expense #
Ask an LLM
“How many expenses match a given filter?”
“Can I get the total number of expenses without the records?”
Tell an agent
Count expenses where {filters}.
Tell me how many expenses have been logged.
GET /expense/search Search expenses · Search of expense #
Ask an LLM
“What's the way to find expenses by project, type or date?”
“Can I search expenses with paging and sorting?”
Tell an agent
Search expenses matching {filters}.
Find expenses where {filters} and list {fields}.
GET /expense/report Run an aggregate report on expenses · Report of expense #
Ask an LLM
“Can I get grouped expense totals as a report?”
“Which call gives a report-style summary of expenses?”
Tell an agent
Run an expense report filtered by {filters}.
Summarize expenses as a report with {listOptions}.
PUT /expense/calculateDataExtension Recalculate an expense's custom data · Expense calculate data extension #
Ask an LLM
“Is there a way to refresh calculated custom fields on an expense?”
“Can I force an expense's custom form values to recompute?”
Tell an agent
Recalculate the custom data extension fields on expense {ID}.
Refresh calculated custom form values for expense {ID}.
PUT /expense/move Move an expense to another object · Expense move #
Ask an LLM
“Can I move an expense from one project or task to another?”
“How do I reassign an expense to a different parent object?”
Tell an agent
Move expense {ID} to {expObjCode} {objID}.
Reassign expense {ID} under object {objID}.

Documentation

📖
Documentation
https://developer.adobe.com/photoshop/api/docs/
📖
Authentication
https://developer.adobe.com/developer-console/docs/guides/authentication/
📖
Documentation
https://developer.adobe.com/lightroom/api/docs/
📖
Documentation
https://developer.adobe.com/illustrator/api/docs/
📖
Documentation
https://developer.adobe.com/indesign/docs/
📖
Documentation
https://developer.adobe.com/document-services/docs/overview/pdf-services-api/
📖
Documentation
https://developer.adobe.com/document-services/docs/overview/pdf-extract-api/
📖
GettingStarted
https://developer.adobe.com/document-services/docs/overview/pdf-extract-api/gettingstarted/
📖
Documentation
https://developer.adobe.com/document-services/docs/overview/pdf-accessibility-auto-tag-api/
📖
Documentation
https://developer.adobe.com/analytics-apis/docs/
📖
APIReference
https://developer.adobe.com/analytics-apis/docs/2.0/
📖
Documentation
https://developer.adobe.com/firefly-services/docs/
📖
APIReference
https://developer.adobe.com/firefly-services/docs/api/
📖
Documentation
https://developer.adobe.com/audio-video-firefly-services/
📖
GettingStarted
https://developer.adobe.com/audio-video-firefly-services/getting-started/
📖
Documentation
https://developer.adobe.com/creative-cloud-libraries/docs/
📖
APIReference
https://developer.adobe.com/creative-cloud-libraries/docs/api/
📖
Documentation
https://developer.adobe.com/express/embed-sdk/docs/guides/
📖
APIReference
https://developer.adobe.com/express/embed-sdk/docs/v4/
📖
GettingStarted
https://developer.adobe.com/express/embed-sdk/docs/guides/quickstart/
📖
Documentation
https://developer.adobe.com/experience-platform-apis/
📖
GettingStarted
https://experienceleague.adobe.com/en/docs/experience-platform/landing/platform-apis/api-guide
📖
Documentation
https://developer.adobe.com/marketo-apis/
📖
Authentication
https://experienceleague.adobe.com/en/docs/marketo-developer/marketo/rest/authentication
📖
Documentation
https://developer.adobe.com/commerce/docs/
📖
GettingStarted
https://developer.adobe.com/commerce/webapi/get-started/
📖
Documentation
https://developer.adobe.com/experience-cloud/cloud-manager/
📖
Documentation
https://developer.adobe.com/journey-optimizer-apis/
📖
Documentation
https://developer.adobe.com/workfront-apis/
📖
Documentation
https://developer.adobe.com/firefly-services/docs/substance3d/
📖
Documentation
https://developer.adobe.com/data-collection-apis/
📖
Documentation
https://developer.adobe.com/adobe-status/
📖
Documentation
https://developer.adobe.com/vip-marketplace/

Specifications

Other Resources

🔗
Pricing
https://developer.adobe.com/document-services/pricing/
🔗
SDKs
https://developer.adobe.com/document-services/docs/overview/pdf-services-api/sdks/
🔗
ReleaseNotes
https://developer.adobe.com/document-services/docs/overview/pdf-services-api/releasenotes
🔗
Guides
https://developer.adobe.com/analytics-apis/docs/2.0/guides/
🔗
Guides
https://developer.adobe.com/firefly-services/docs/guides/
🔗
Usage Notes
https://developer.adobe.com/audio-video-firefly-services/getting_started/usage/
🔗
Overview
https://developer.adobe.com/creative-cloud-libraries/docs/overview/
🔗
Integration Guide
https://developer.adobe.com/creative-cloud-libraries/docs/integrate/
🔗
API Fundamentals
https://experienceleague.adobe.com/en/docs/experience-platform/landing/platform-apis/api-fundamentals
🔗
Developer Guide
https://experienceleague.adobe.com/en/docs/marketo-developer/marketo/home
🔗
REST API
https://experienceleague.adobe.com/en/docs/marketo-developer/marketo/rest/rest-api
🔗
REST API
https://developer.adobe.com/commerce/webapi/rest/
🔗
GraphQL API
https://developer.adobe.com/commerce/webapi/graphql-api/
🔗
REST API Reference
https://developer.adobe.com/commerce/webapi/reference/rest/paas/
🔗
GraphQL
https://raw.githubusercontent.com/api-evangelist/adobe-suite/refs/heads/main/graphql/adobe-suite-graphql.md
🔗
Webhooks
https://developer.adobe.com/experience-cloud/cloud-manager/guides/getting-started/create-event-integration/
🔗
StatusPage
https://status.adobe.com/

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/adobe-suite:adobe-suite-expense-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

adobe-suite-expense-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Adobe Workfront Expense API
  version: v19.0
servers:
- url: https://{domain}.my.workfront.com/attask/api/v19.0
  description: Production environment
- url: https://{domain}.preview.workfront.com/attask/api/v19.0
  description: Preview environment
security:
- ApiKeyHeader: []
- SessionIDHeader: []
- AtTaskCookie: []
- WFAuthCookie: []
tags:
- name: Expense
paths:
  /expense/{id}:
    get:
      summary: Get for Expense
      operationId: getExpense
      parameters:
      - name: id
        in: path
        description: Object ID
        required: true
        schema:
          type: string
      - name: fields
        in: query
        description: JSON array defining the fields to retrieve
        required: false
        example: '["ID", "name"]'
        content:
          application/json:
            schema:
              type: array
              items:
                type: string
      responses:
        '200':
          description: Great Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: ./Expense.json
        '422':
          $ref: '#/components/responses/422_UNPROCESSABLE_ENTITY'
        '400':
          $ref: '#/components/responses/400_BAD_REQUEST'
        '429':
          $ref: '#/components/responses/429_TOO_MANY_REQUESTS'
        '403':
          $ref: '#/components/responses/403_FORBIDDEN'
        '401':
          $ref: '#/components/responses/401_UNAUTHORIZED'
        '404':
          $ref: '#/components/responses/404_NOT_FOUND'
        '500':
          $ref: '#/components/responses/500_INTERNAL_SERVER_ERROR'
        '410':
          $ref: '#/components/responses/410_GONE'
      tags:
      - Expense
    put:
      summary: Edit a Expense
      operationId: editExpense
      parameters:
      - name: id
        in: path
        description: Object ID
        required: true
        schema:
          type: string
      - name: fields
        in: query
        description: JSON array defining the fields to retrieve
        required: false
        example: '["ID", "name"]'
        content:
          application/json:
            schema:
              type: array
              items:
                type: string
      responses:
        '200':
          description: Great Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: ./Expense.json
        '422':
          $ref: '#/components/responses/422_UNPROCESSABLE_ENTITY'
        '400':
          $ref: '#/components/responses/400_BAD_REQUEST'
        '429':
          $ref: '#/components/responses/429_TOO_MANY_REQUESTS'
        '403':
          $ref: '#/components/responses/403_FORBIDDEN'
        '401':
          $ref: '#/components/responses/401_UNAUTHORIZED'
        '404':
          $ref: '#/components/responses/404_NOT_FOUND'
        '500':
          $ref: '#/components/responses/500_INTERNAL_SERVER_ERROR'
        '410':
          $ref: '#/components/responses/410_GONE'
      tags:
      - Expense
    delete:
      summary: Delete for Expense
      operationId: deleteExpense
      parameters:
      - name: id
        in: path
        description: Object ID
        required: true
        schema:
          type: string
      - name: force
        in: query
        description: force delete flag
        required: false
        schema:
          type: boolean
      responses:
        '200':
          $ref: '#/components/responses/200_OK'
        '422':
          $ref: '#/components/responses/422_UNPROCESSABLE_ENTITY'
        '400':
          $ref: '#/components/responses/400_BAD_REQUEST'
        '429':
          $ref: '#/components/responses/429_TOO_MANY_REQUESTS'
        '403':
          $ref: '#/components/responses/403_FORBIDDEN'
        '401':
          $ref: '#/components/responses/401_UNAUTHORIZED'
        '404':
          $ref: '#/components/responses/404_NOT_FOUND'
        '500':
          $ref: '#/components/responses/500_INTERNAL_SERVER_ERROR'
        '410':
          $ref: '#/components/responses/410_GONE'
      tags:
      - Expense
  /expense:
    get:
      summary: Bulk Get for Expense
      operationId: getExpenses
      parameters:
      - name: id
        in: query
        description: Object IDs
        required: true
        schema:
          type: string
          example: id1,id2,id3
      - name: fields
        in: query
        description: JSON array defining the fields to retrieve
        required: false
        example: '["ID", "name"]'
        content:
          application/json:
            schema:
              type: array
              items:
                type: string
      responses:
        '200':
          description: Great Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    anyOf:
                    - $ref: ./Expense.json
                    - type: array
                      items:
                        $ref: ./Expense.json
        '422':
          $ref: '#/components/responses/422_UNPROCESSABLE_ENTITY'
        '400':
          $ref: '#/components/responses/400_BAD_REQUEST'
        '429':
          $ref: '#/components/responses/429_TOO_MANY_REQUESTS'
        '403':
          $ref: '#/components/responses/403_FORBIDDEN'
        '401':
          $ref: '#/components/responses/401_UNAUTHORIZED'
        '404':
          $ref: '#/components/responses/404_NOT_FOUND'
        '500':
          $ref: '#/components/responses/500_INTERNAL_SERVER_ERROR'
        '410':
          $ref: '#/components/responses/410_GONE'
      tags:
      - Expense
    put:
      summary: Bulk Edit for Expense
      operationId: editExpenses
      parameters:
      - name: fields
        in: query
        description: JSON array defining the fields to retrieve
        required: false
        example: '["ID", "name"]'
        content:
          application/json:
            schema:
              type: array
              items:
                type: string
      requestBody:
        content:
          application/json:
            schema:
              anyOf:
              - $ref: ./Expense.json
              - type: array
                items:
                  $ref: ./Expense.json
      responses:
        '200':
          description: Great Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    anyOf:
                    - $ref: ./Expense.json
                    - type: array
                      items:
                        $ref: ./Expense.json
        '422':
          $ref: '#/components/responses/422_UNPROCESSABLE_ENTITY'
        '400':
          $ref: '#/components/responses/400_BAD_REQUEST'
        '429':
          $ref: '#/components/responses/429_TOO_MANY_REQUESTS'
        '403':
          $ref: '#/components/responses/403_FORBIDDEN'
        '401':
          $ref: '#/components/responses/401_UNAUTHORIZED'
        '404':
          $ref: '#/components/responses/404_NOT_FOUND'
        '500':
          $ref: '#/components/responses/500_INTERNAL_SERVER_ERROR'
        '410':
          $ref: '#/components/responses/410_GONE'
      tags:
      - Expense
    post:
      summary: Create a expense
      operationId: addExpenses
      parameters:
      - name: fields
        in: query
        description: JSON array defining the fields to retrieve
        required: false
        example: '["ID", "name"]'
        content:
          application/json:
            schema:
              type: array
              items:
                type: string
      requestBody:
        content:
          application/json:
            schema:
              anyOf:
              - $ref: ./Expense.json
              - type: array
                items:
                  $ref: ./Expense.json
      responses:
        '200':
          description: Great Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    anyOf:
                    - $ref: ./Expense.json
                    - type: array
                      items:
                        $ref: ./Expense.json
        '422':
          $ref: '#/components/responses/422_UNPROCESSABLE_ENTITY'
        '400':
          $ref: '#/components/responses/400_BAD_REQUEST'
        '429':
          $ref: '#/components/responses/429_TOO_MANY_REQUESTS'
        '403':
          $ref: '#/components/responses/403_FORBIDDEN'
        '401':
          $ref: '#/components/responses/401_UNAUTHORIZED'
        '404':
          $ref: '#/components/responses/404_NOT_FOUND'
        '500':
          $ref: '#/components/responses/500_INTERNAL_SERVER_ERROR'
        '410':
          $ref: '#/components/responses/410_GONE'
      tags:
      - Expense
    delete:
      summary: Bulk Delete for Expense
      operationId: deleteExpenses
      parameters:
      - name: id
        in: query
        description: Object IDs
        required: true
        schema:
          type: string
          example: id1,id2,id3
      - name: force
        in: query
        description: force delete flag
        required: false
        schema:
          type: boolean
      responses:
        '200':
          $ref: '#/components/responses/200_OK'
        '422':
          $ref: '#/components/responses/422_UNPROCESSABLE_ENTITY'
        '400':
          $ref: '#/components/responses/400_BAD_REQUEST'
        '429':
          $ref: '#/components/responses/429_TOO_MANY_REQUESTS'
        '403':
          $ref: '#/components/responses/403_FORBIDDEN'
        '401':
          $ref: '#/components/responses/401_UNAUTHORIZED'
        '404':
          $ref: '#/components/responses/404_NOT_FOUND'
        '500':
          $ref: '#/components/responses/500_INTERNAL_SERVER_ERROR'
        '410':
          $ref: '#/components/responses/410_GONE'
      tags:
      - Expense
  /expense/count:
    get:
      summary: Count of expense
      operationId: countExpenses
      parameters:
      - name: filters
        in: query
        description: JSON representing the filtering conditions
        required: false
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Great Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      count:
                        type: integer
                        format: int32
        '422':
          $ref: '#/components/responses/422_UNPROCESSABLE_ENTITY'
        '400':
          $ref: '#/components/responses/400_BAD_REQUEST'
        '429':
          $ref: '#/components/responses/429_TOO_MANY_REQUESTS'
        '403':
          $ref: '#/components/responses/403_FORBIDDEN'
        '401':
          $ref: '#/components/responses/401_UNAUTHORIZED'
        '404':
          $ref: '#/components/responses/404_NOT_FOUND'
        '500':
          $ref: '#/components/responses/500_INTERNAL_SERVER_ERROR'
        '410':
          $ref: '#/components/responses/410_GONE'
      tags:
      - Expense
  /expense/search:
    get:
      summary: Search of expense
      operationId: searchExpenses
      parameters:
      - name: filters
        in: query
        description: JSON representing the filtering conditions
        required: false
        content:
          application/json:
            schema:
              type: object
      - name: fields
        in: query
        description: JSON array defining the fields to retrieve
        required: false
        example: '["ID", "name"]'
        content:
          application/json:
            schema:
              type: array
              items:
                type: string
      - name: listOptions
        in: query
        description: JSON object defining the list options
        required: false
        content:
          application/json:
            schema:
              $ref: ./ListOptions.json
      responses:
        '200':
          description: Great Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: ./Expense.json
        '422':
          $ref: '#/components/responses/422_UNPROCESSABLE_ENTITY'
        '400':
          $ref: '#/components/responses/400_BAD_REQUEST'
        '429':
          $ref: '#/components/responses/429_TOO_MANY_REQUESTS'
        '403':
          $ref: '#/components/responses/403_FORBIDDEN'
        '401':
          $ref: '#/components/responses/401_UNAUTHORIZED'
        '404':
          $ref: '#/components/responses/404_NOT_FOUND'
        '500':
          $ref: '#/components/responses/500_INTERNAL_SERVER_ERROR'
        '410':
          $ref: '#/components/responses/410_GONE'
      tags:
      - Expense
  /expense/report:
    get:
      summary: Report of expense
      operationId: reportExpenses
      parameters:
      - name: filters
        in: query
        description: JSON representing the filtering conditions
        required: false
        content:
          application/json:
            schema:
              type: object
      - name: listOptions
        in: query
        description: JSON object defining the list options
        required: false
        content:
          application/json:
            schema:
              $ref: ./ListOptions.json
      responses:
        '200':
          description: Great Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
        '422':
          $ref: '#/components/responses/422_UNPROCESSABLE_ENTITY'
        '400':
          $ref: '#/components/responses/400_BAD_REQUEST'
        '429':
          $ref: '#/components/responses/429_TOO_MANY_REQUESTS'
        '403':
          $ref: '#/components/responses/403_FORBIDDEN'
        '401':
          $ref: '#/components/responses/401_UNAUTHORIZED'
        '404':
          $ref: '#/components/responses/404_NOT_FOUND'
        '500':
          $ref: '#/components/responses/500_INTERNAL_SERVER_ERROR'
        '410':
          $ref: '#/components/responses/410_GONE'
      tags:
      - Expense
  /expense/calculateDataExtension:
    summary: calculateDataExtension
    put:
      operationId: expenseCalculateDataExtension
      parameters:
      - name: ID
        in: query
        description: Object ID
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Great Success
        '422':
          $ref: '#/components/responses/422_UNPROCESSABLE_ENTITY'
        '400':
          $ref: '#/components/responses/400_BAD_REQUEST'
        '429':
          $ref: '#/components/responses/429_TOO_MANY_REQUESTS'
        '403':
          $ref: '#/components/responses/403_FORBIDDEN'
        '401':
          $ref: '#/components/responses/401_UNAUTHORIZED'
        '404':
          $ref: '#/components/responses/404_NOT_FOUND'
        '500':
          $ref: '#/components/responses/500_INTERNAL_SERVER_ERROR'
        '410':
          $ref: '#/components/responses/410_GONE'
      tags:
      - Expense
      summary: Expense calculate data extension
      x-summary-source: derived
  /expense/move:
    summary: move
    put:
      operationId: expenseMove
      parameters:
      - name: ID
        in: query
        description: Object ID
        required: false
        schema:
          type: string
      - name: objID
        in: query
        description: objID
        required: false
        schema:
          type: string
      - name: expObjCode
        in: query
        description: expObjCode
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Great Success
        '422':
          $ref: '#/components/responses/422_UNPROCESSABLE_ENTITY'
        '400':
          $ref: '#/components/responses/400_BAD_REQUEST'
        '429':
          $ref: '#/components/responses/429_TOO_MANY_REQUESTS'
        '403':
          $ref: '#/components/responses/403_FORBIDDEN'
        '401':
          $ref: '#/components/responses/401_UNAUTHORIZED'
        '404':
          $ref: '#/components/responses/404_NOT_FOUND'
        '500':
          $ref: '#/components/responses/500_INTERNAL_SERVER_ERROR'
        '410':
          $ref: '#/components/responses/410_GONE'
      tags:
      - Expense
      summary: Expense move
      x-summary-source: derived
components:
  responses:
    200_OK:
      description: Great Success
      content:
        application/json:
          schema:
            type: object
            properties:
              data:
                type: object
                properties:
                  success:
                    type: boolean
    500_INTERNAL_SERVER_ERROR:
      description: An unexpected error occurred.
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: object
                properties:
                  class:
                    type: string
                  message:
                    type: string
    410_GONE:
      description: The requested resource is no longer available in this API version.
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: object
                properties:
                  class:
                    type: string
                  message:
                    type: string
    400_BAD_REQUEST:
      description: The operation is not supported.
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: object
                properties:
                  class:
                    type: string
                  message:
                    type: string
    401_UNAUTHORIZED:
      description: The request is not authenticated.
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: object
                properties:
                  class:
                    type: string
                  message:
                    type: string
    404_NOT_FOUND:
      description: The requested resource was not found.
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: object
                properties:
                  class:
                    type: string
                  message:
                    type: string
    403_FORBIDDEN:
      description: The user does not have permission to perform the operation.
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: object
                properties:
                  class:
                    type: string
                  message:
                    type: string
    429_TOO_MANY_REQUESTS:
      description: Too many concurrent API requests for the given customer.
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: object
                properties:
                  class:
                    type: string
                  message:
                    type: string
    422_UNPROCESSABLE_ENTITY:
      description: The request contains invalid data.
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: object
                properties:
                  class:
                    type: string
                  message:
                    type: string
  securitySchemes:
    SessionIDHeader:
      type: apiKey
      name: sessionID
      in: header
    AtTaskCookie:
      type: apiKey
      name: attask
      in: cookie
    WFAuthCookie:
      type: apiKey
      name: wf-auth
      in: cookie
    ApiKeyHeader:
      type: apiKey
      name: apiKey
      in: header