Adobe Suite Project API

The Project API from Adobe Suite — 27 operation(s) for project.

Operations 32

GET /project/{id} Get for Project #
PUT /project/{id} Edit a Project #
DELETE /project/{id} Delete for Project #
GET /project Bulk Get for Project #
PUT /project Bulk Edit for Project #
POST /project Create or copy a project #
DELETE /project Bulk Delete for Project #
GET /project/count Count of project #
GET /project/search Search of project #
GET /project/report Report of project #
PUT /project/{id}/share Sharing of a Project #
PUT /project/share Batch sharing of a Project #
PUT /project/{id}/unshare Un-sharing of a Project #
PUT /project/unshare Batch un-sharing of a Project #
PUT /project/{id}/sharePublic Public share of a Project #
PUT /project/sharePublic Batch public share of a Project #
PUT /project/{id}/unsharePublic Public un-share of a Project #
PUT /project/unsharePublic Batch public un-share of a Project #
PUT /project/approveApproval #
PUT /project/attachTemplate #
PUT /project/calculateDataExtension #
PUT /project/calculateFinance #
PUT /project/calculateTimeline #
PUT /project/createProjectWithOverride #
PUT /project/linkExternalObject #
PUT /project/recallApproval #
PUT /project/rejectApproval #
PUT /project/unlinkExternalObject #
PUT /project/updateBusinessCaseSource #
GET /project/defaultShownTimesheetProjects #
GET /project/helpDeskQueues #
GET /project/recentHelpDeskQueues #

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-project-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-project-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Adobe Workfront Project 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: Project
paths:
  /project/{id}:
    get:
      summary: Get for Project
      operationId: getProject
      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: ./Project.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:
      - Project
    put:
      summary: Edit a Project
      operationId: editProject
      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: ./Project.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:
      - Project
    delete:
      summary: Delete for Project
      operationId: deleteProject
      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:
      - Project
  /project:
    get:
      summary: Bulk Get for Project
      operationId: getProjects
      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: ./Project.json
                    - type: array
                      items:
                        $ref: ./Project.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:
      - Project
    put:
      summary: Bulk Edit for Project
      operationId: editProjects
      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: ./Project.json
              - type: array
                items:
                  $ref: ./Project.json
      responses:
        '200':
          description: Great Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    anyOf:
                    - $ref: ./Project.json
                    - type: array
                      items:
                        $ref: ./Project.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:
      - Project
    post:
      summary: Create or copy a project
      operationId: addProjects
      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: ./Project.json
              - type: array
                items:
                  $ref: ./Project.json
      responses:
        '200':
          description: Great Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    anyOf:
                    - $ref: ./Project.json
                    - type: array
                      items:
                        $ref: ./Project.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:
      - Project
    delete:
      summary: Bulk Delete for Project
      operationId: deleteProjects
      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:
      - Project
  /project/count:
    get:
      summary: Count of project
      operationId: countProjects
      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:
      - Project
  /project/search:
    get:
      summary: Search of project
      operationId: searchProjects
      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: ./Project.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:
      - Project
  /project/report:
    get:
      summary: Report of project
      operationId: reportProjects
      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:
      - Project
  /project/{id}/share:
    put:
      summary: Sharing of a Project
      operationId: shareProject
      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
          - LIMITED_EDIT
          - EDIT
          - DELETE
      - name: forbiddenActions
        in: query
        schema:
          type: array
          items:
            type: string
            enum:
            - EDIT_CUSTOMDATA
            - EDIT_APPROVALPROCESS
            - ADD_TASKS
            - ADD_ISSUES
            - EDIT_ASSIGNMENTS
            - ADD_DOCUMENTS
            - EDIT_FINANCE
            - VIEW_FINANCE
            - ADD_HOURS
            - ADD_EXPENSES
            - SHARE
            - SHARE_SYSTEMWIDE
            - ADD_BOOKINGS
      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:
      - Project
  /project/share:
    put:
      summary: Batch sharing of a Project
      operationId: batchShareProject
      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
          - LIMITED_EDIT
          - EDIT
          - DELETE
      - name: forbiddenActions
        in: query
        schema:
          type: array
          items:
            type: string
            enum:
            - EDIT_CUSTOMDATA
            - EDIT_APPROVALPROCESS
            - ADD_TASKS
            - ADD_ISSUES
            - EDIT_ASSIGNMENTS
            - ADD_DOCUMENTS
            - EDIT_FINANCE
            - VIEW_FINANCE
            - ADD_HOURS
            - ADD_EXPENSES
            - SHARE
            - SHARE_SYSTEMWIDE
            - ADD_BOOKINGS
      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:
      - Project
  /project/{id}/unshare:
    put:
      summary: Un-sharing of a Project
      operationId: unshareProject
      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:
      - Project
  /project/unshare:
    put:
      summary: Batch un-sharing of a Project
      operationId: batchUnshareProject
      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:
      - Project
  /project/{id}/sharePublic:
    put:
      summary: Public share of a Project
      operationId: sharePublicProject
      parameters:
      - name: id
        in: path
        description: Object ID
        required: true
        schema:
          type: string
      - name: coreAction
        in: query
        required: true
        schema:
          type: string
          enum:
          - VIEW
          - LIMITED_EDIT
          - EDIT
          - DELETE
      - name: forbiddenActions
        in: query
        schema:
          type: array
          items:
            type: string
            enum:
            - EDIT_CUSTOMDATA
            - EDIT_APPROVALPROCESS
            - ADD_TASKS
            - ADD_ISSUES
            - EDIT_ASSIGNMENTS
            - ADD_DOCUMENTS
            - EDIT_FINANCE
            - VIEW_FINANCE
            - ADD_HOURS
            - ADD_EXPENSES
            - SHARE
            - SHARE_SYSTEMWIDE
            - ADD_BOOKINGS
      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:
      - Project
  /project/sharePublic:
    put:
      summary: Batch public share of a Project
      operationId: batchSharePublicProject
      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
          - LIMITED_EDIT
          - EDIT
          - DELETE
      - name: forbiddenActions
        in: query
        schema:
          type: array
          items:
            type: string
            enum:
            - EDIT_CUSTOMDATA
            - EDIT_APPROVALPROCESS
            - ADD_TASKS
            - ADD_ISSUES
            - EDIT_ASSIGNMENTS
            - ADD_DOCUMENTS
            - EDIT_FINANCE
            - VIEW_FINANCE
            - ADD_HOURS
            - ADD_EXPENSES
            - SHARE
            - SHARE_SYSTEMWIDE
            - ADD_BOOKINGS
      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:
      - Project
  /project/{id}/unsharePublic:
    put:
      summary: Public un-share of a Project
      operationId: unsharePublicProject
      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:
      - Project
  /project/unsharePublic:
    put:
      summary: Batch public un-share of a Project
      operationId: batchUnsharePublicProject
      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:
      - Project
  /project/approveApproval:
    summary: approveApproval
    put:
      operationId: projectApproveApproval
      parameters:
      - name: ID
        in: query
        description: Object ID
        required: false
        schema:
          type: string
      - name: userID
        in: query
        description: userID
        required: false
        schema:
          type: string
      - name: approvalUsername
        in: query
        description: approvalUsername
        required: false
        schema:
          type: string
      - name: approvalPassword
        in: query
        description: approvalPassword
        required: false
        schema:
          type: string
      - name: auditNote
        in: query
        description: auditNote
        required: false
        schema:
          type: string
      - name: auditUserIDs
        in: query
        description: auditUserIDs
        required: false
        schema:
          type: array
          items:
            type: string
      - name: sendNoteAsEmail
        in: query
        description: sendNoteAsEmail
        required: false
        schema:
          type: boolean
      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:
      - Project
  /project/attachTemplate:
    summary: attachTemplate
    put:
      operationId: projectAttachTemplate
      parameters:
      - name: ID
        in: query
        description: Object ID
        required: false
        schema:
          type: string
      - name: templateID
        in: query
        description: templateID
        required: false
        schema:
          type: string
      - name: predecessorTaskID
        in: query
        description: predecessorTaskID
        required: false
        schema:
          type: string
      - name: parentTaskID
        in: query
        description: parentTaskID
        required: false
        schema:
          type: string
      - name: excludeTemplateTaskIDs
        in: query
        description: excludeTemplateTaskIDs
        required: false
        schema:
          type: array
          items:
            type: string
      - name: options
        in: query
        description: options
        required: false
        schema:
          type: array
          items:
            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:
      - Project
  /project/calculateDataExtension:
    summary: calculateDataExtension
    put:
      operationId: projectCalculateDataExtension
      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:
      - Project
  /project/calculateFinance:
    summary: calculateFinance
    put:
      operationId: projectCalculateFinance
      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:
      - Project
  /project/calculateTimeline:
    summary: calculateTimeline
    put:
      operationId: projectCalculateTimeline
      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_UNAUTH

# --- truncated at 32 KB (47 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/adobe-suite/refs/heads/main/openapi/adobe-suite-project-api-openapi.yml