Adobe Suite Template API

The Template API from Adobe Suite — 15 operation(s) for template.

Operations 20

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 /template/{id} Get a single project template · Get for Template #
Ask an LLM
“How do I pull up one Workfront project template by its ID?”
“Can I limit which fields come back for a single template?”
Tell an agent
Show me template {id}.
Get template {id} with just the fields {fields}.
PUT /template/{id} Edit one project template · Edit a Template #
Ask an LLM
“Can I change the details of one specific template?”
“What's the way to update a single template I already built?”
Tell an agent
Edit template {id} with my changes.
Update template {id} and return {fields} afterwards.
DELETE /template/{id} Delete one project template · Delete for Template #
Ask an LLM
“How do I delete a single template?”
“Is there a force option when removing one template that is still referenced?”
Tell an agent destructive · confirm first
Delete template {id}.
Force-delete template {id}.
GET /template Get several templates by ID · Bulk Get for Template #
Ask an LLM
“Can I fetch a handful of templates at once by listing their IDs?”
“Is there a bulk get for templates?”
Tell an agent
Fetch templates {id} in one call.
Bulk-get templates {id} returning fields {fields}.
PUT /template Edit many templates at once · Bulk Edit for Template #
Ask an LLM
“Can I push the same edit to a batch of templates in one request?”
“What's the bulk way to update several templates?”
Tell an agent
Bulk-edit these templates with the changes I provide.
Apply my edits to several templates and return {fields} for each.
POST /template Create or copy a project template · Create or copy a template #
Ask an LLM
“How do I create a new project template?”
“Can I start a new template as a copy of an existing one?”
Tell an agent
Create a new project template.
Create a template copied from template {copySourceID}.
DELETE /template Delete many templates at once · Bulk Delete for Template #
Ask an LLM
“Can I delete a list of templates in one call?”
“What's the bulk delete for templates we no longer use?”
Tell an agent destructive · confirm first
Bulk-delete templates {id}.
Force-delete all of these templates: {id}.
GET /template/count Count project templates · Count of template #
Ask an LLM
“How many templates do we have in Workfront?”
“Can I count only templates matching a filter?”
Tell an agent
Count all templates.
Count the templates matching {filters}.
GET /template/search Search project templates · Search of template #
Ask an LLM
“Which templates match a name or owner I'm looking for?”
“Can template search results be paged and trimmed to certain fields?”
Tell an agent
Search templates where {filters}.
Find templates matching {filters} and show only {fields}.
GET /template/report Run a report on project templates · Report of template #
Ask an LLM
“Can I get an aggregated report across our templates?”
“What list options apply to a template report?”
Tell an agent
Run a template report.
Build a template report filtered by {filters}.
PUT /template/{id}/share Share a template with someone · Sharing of a Template #
Ask an LLM
“How do I share one template with a specific user or group?”
“Can I share a template but forbid certain actions on it?”
Tell an agent
Share template {id} with {accessorObjCode} {accessorID} at {coreAction} access.
Give {accessorID} ({accessorObjCode}) {coreAction} rights on template {id} but forbid {forbiddenActions}.
PUT /template/share Share several templates at once · Batch sharing of a Template #
Ask an LLM
“Can I share a set of templates with the same group in one call?”
“Is there a bulk way to give a specific user access to multiple templates?”
Tell an agent
Share templates {id} with {accessorObjCode} {accessorID} at {coreAction} access.
Batch-share templates {id} to {accessorID} ({accessorObjCode}) with {coreAction} rights.
PUT /template/{id}/unshare Stop sharing a template with someone · Un-sharing of a Template #
Ask an LLM
“How do I take away one user's access to a single template?”
“Can I unshare a template from a particular group?”
Tell an agent destructive · confirm first
Unshare template {id} from {accessorObjCode} {accessorID}.
Remove {accessorID}'s access to template {id} (accessor type {accessorObjCode}).
PUT /template/unshare Stop sharing several templates at once · Batch un-sharing of a Template #
Ask an LLM
“Can I revoke someone's access to many templates in one request?”
“Is there a batch unshare for templates?”
Tell an agent destructive · confirm first
Unshare templates {id} from {accessorObjCode} {accessorID}.
Batch-revoke {accessorID}'s access to templates {id}, accessor type {accessorObjCode}.
PUT /template/{id}/sharePublic Share a template publicly · Public share of a Template #
Ask an LLM
“Can I make one template available to everyone?”
“What access level does a publicly shared template get?”
Tell an agent
Share template {id} publicly with {coreAction} access.
Make template {id} public at {coreAction} but forbid {forbiddenActions}.
PUT /template/sharePublic Share several templates publicly · Batch public share of a Template #
Ask an LLM
“Can I make a batch of templates public in one go?”
“Can every user in the organization see several templates if I share them publicly together?”
Tell an agent
Publicly share templates {id} with {coreAction} access.
Make templates {id} public at {coreAction}, forbidding {forbiddenActions}.
PUT /template/{id}/unsharePublic Remove public sharing from a template · Public un-share of a Template #
Ask an LLM
“How do I make a public template private again?”
“Can I turn off public access on just one template?”
Tell an agent destructive · confirm first
Stop publicly sharing template {id}.
Make template {id} private again.
PUT /template/unsharePublic Remove public sharing from several templates · Batch public un-share of a Template #
Ask an LLM
“Can I pull a batch of templates out of public view at once?”
“Is there a bulk way to revoke public access on templates?”
Tell an agent destructive · confirm first
Remove public sharing from templates {id}.
Make all of these public templates private: {id}.
PUT /template/calculateDataExtension Recalculate a template's custom data · Template calculate data extension #
Ask an LLM
“Can I recalculate the calculated custom fields on a template?”
“What triggers a data extension recalculation for a template?”
Tell an agent
Recalculate custom data on template {ID}.
Refresh the calculated custom fields for template {ID}.
PUT /template/calculateTimeline Recalculate a template's timeline · Template calculate timeline #
Ask an LLM
“Can I recompute the timeline of a template after changing its tasks?”
“Is there a call to recalculate template task dates?”
Tell an agent
Recalculate the timeline for template {ID}.
Recompute task dates on template {ID}.

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-template-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-template-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Adobe Workfront Template 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: Template
paths:
  /template/{id}:
    get:
      summary: Get for Template
      operationId: getTemplate
      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: ./Template.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:
      - Template
    put:
      summary: Edit a Template
      operationId: editTemplate
      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: ./Template.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:
      - Template
    delete:
      summary: Delete for Template
      operationId: deleteTemplate
      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:
      - Template
  /template:
    get:
      summary: Bulk Get for Template
      operationId: getTemplates
      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: ./Template.json
                    - type: array
                      items:
                        $ref: ./Template.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:
      - Template
    put:
      summary: Bulk Edit for Template
      operationId: editTemplates
      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: ./Template.json
              - type: array
                items:
                  $ref: ./Template.json
      responses:
        '200':
          description: Great Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    anyOf:
                    - $ref: ./Template.json
                    - type: array
                      items:
                        $ref: ./Template.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:
      - Template
    post:
      summary: Create or copy a template
      operationId: addTemplates
      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
      - name: copySourceID
        in: query
        description: Source object ID for copy
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              anyOf:
              - $ref: ./Template.json
              - type: array
                items:
                  $ref: ./Template.json
      responses:
        '200':
          description: Great Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    anyOf:
                    - $ref: ./Template.json
                    - type: array
                      items:
                        $ref: ./Template.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:
      - Template
    delete:
      summary: Bulk Delete for Template
      operationId: deleteTemplates
      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:
      - Template
  /template/count:
    get:
      summary: Count of template
      operationId: countTemplates
      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:
      - Template
  /template/search:
    get:
      summary: Search of template
      operationId: searchTemplates
      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: ./Template.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:
      - Template
  /template/report:
    get:
      summary: Report of template
      operationId: reportTemplates
      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:
      - Template
  /template/{id}/share:
    put:
      summary: Sharing of a Template
      operationId: shareTemplate
      parameters:
      - name: id
        in: path
        description: Object ID
        required: true
        schema:
          type: string
      - name: accessorObjCode
        in: query
        required: true
        schema:
          type: string
      - name: accessorID
        in: query
        required: true
        schema:
          type: string
      - name: coreAction
        in: query
        required: true
        schema:
          type: string
          enum:
          - VIEW
          - EDIT
          - DELETE
      - name: forbiddenActions
        in: query
        schema:
          type: array
          items:
            type: string
            enum:
            - EDIT_APPROVALPROCESS
            - ADD_DOCUMENTS
            - EDIT_FINANCE
            - VIEW_FINANCE
            - ADD_EXPENSES
            - SHARE
            - SHARE_SYSTEMWIDE
      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:
      - Template
  /template/share:
    put:
      summary: Batch sharing of a Template
      operationId: batchShareTemplate
      parameters:
      - name: id
        in: query
        description: Object IDs
        required: true
        schema:
          type: string
          example: id1,id2,id3
      - name: accessorObjCode
        in: query
        required: true
        schema:
          type: string
      - name: accessorID
        in: query
        required: true
        schema:
          type: string
      - name: coreAction
        in: query
        required: true
        schema:
          type: string
          enum:
          - VIEW
          - EDIT
          - DELETE
      - name: forbiddenActions
        in: query
        schema:
          type: array
          items:
            type: string
            enum:
            - EDIT_APPROVALPROCESS
            - ADD_DOCUMENTS
            - EDIT_FINANCE
            - VIEW_FINANCE
            - ADD_EXPENSES
            - SHARE
            - SHARE_SYSTEMWIDE
      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:
      - Template
  /template/{id}/unshare:
    put:
      summary: Un-sharing of a Template
      operationId: unshareTemplate
      parameters:
      - name: id
        in: path
        description: Object ID
        required: true
        schema:
          type: string
      - name: accessorObjCode
        in: query
        required: true
        schema:
          type: string
      - name: accessorID
        in: query
        required: true
        schema:
          type: string
      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:
      - Template
  /template/unshare:
    put:
      summary: Batch un-sharing of a Template
      operationId: batchUnshareTemplate
      parameters:
      - name: id
        in: query
        description: Object IDs
        required: true
        schema:
          type: string
          example: id1,id2,id3
      - name: accessorObjCode
        in: query
        required: true
        schema:
          type: string
      - name: accessorID
        in: query
        required: true
        schema:
          type: string
      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:
      - Template
  /template/{id}/sharePublic:
    put:
      summary: Public share of a Template
      operationId: sharePublicTemplate
      parameters:
      - name: id
        in: path
        description: Object ID
        required: true
        schema:
          type: string
      - name: coreAction
        in: query
        required: true
        schema:
          type: string
          enum:
          - VIEW
          - EDIT
          - DELETE
      - name: forbiddenActions
        in: query
        schema:
          type: array
          items:
            type: string
            enum:
            - EDIT_APPROVALPROCESS
            - ADD_DOCUMENTS
            - EDIT_FINANCE
            - VIEW_FINANCE
            - ADD_EXPENSES
            - SHARE
            - SHARE_SYSTEMWIDE
      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:
      - Template
  /template/sharePublic:
    put:
      summary: Batch public share of a Template
      operationId: batchSharePublicTemplate
      parameters:
      - name: id
        in: query
        description: Object IDs
        required: true
        schema:
          type: string
          example: id1,id2,id3
      - name: coreAction
        in: query
        required: true
        schema:
          type: string
          enum:
          - VIEW
          - EDIT
          - DELETE
      - name: forbiddenActions
        in: query
        schema:
          type: array
          items:
            type: string
            enum:
            - EDIT_APPROVALPROCESS
            - ADD_DOCUMENTS
            - EDIT_FINANCE
            - VIEW_FINANCE
            - ADD_EXPENSES
            - SHARE
            - SHARE_SYSTEMWIDE
      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:
      - Template
  /template/{id}/unsharePublic:
    put:
      summary: Public un-share of a Template
      operationId: unsharePublicTemplate
      parameters:
      - name: id
        in: path
        description: Object ID
        required: true
        schema:
          type: string
      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:
      - Template
  /template/unsharePublic:
    put:
      summary: Batch public un-share of a Template
      operationId: batchUnsharePublicTemplate
      parameters:
      - name: id
        in: query
        description: Object IDs
        required: true
        schema:
          type: string
          example: id1,id2,id3
      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:
      - Template
  /template/calculateDataExtension:
    summary: calculateDataExtension
    put:
      operationId: templateCalculateDataExtension
      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:
      - Template
      summary: Template calculate data extension
      x-summary-source: derived
  /template/calculateTimeline:
    summary: calculateTimeline
    put:
      operationId: templateCalculateTimeline
      parameters:
      - name: ID
        in: query
        description: Object ID
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Great Success
          content:
            application/json:
              schema:
                type: string
        '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:
      - Template
      summary: Template calculate timeline
      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
    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
    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
    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
    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
    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
    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
    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
  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