For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
SupportDeveloper ForumLogin
  • Overview
    • Introduction
    • Getting Started
    • Integration Example (PSA)
    • Authentication
    • Error Handling
    • Pagination
    • Filtering
    • Ordering
    • Rate Limits
    • Permissions
    • Webhooks
    • MCP Server
    • Versioning
    • Changelog
    • Support
  • API v1 Reference
    • Projects Overview
      • GETReturns all projects.
      • POSTCreates a new project.
      • POSTEdits multiple projects using the specified operation.
      • GETReturns the project with the specified key.
      • GETReturns the project with the specified id.
      • PUTUpdates the project with the specified id.
      • POSTChanges the project type of the project with the specified id.
      • POSTChanges the status of the project with the specified id.
      • POSTDeletes the project with the specified id.
      • GETReturns the project members of the project with the specified id.
      • POSTRemoves a project member from the project with the specified id.
      • POSTUpdates the project key for the specified project and all associated task identifiers.
      • POSTUpdates the order of a project status.
    • Tasks Overview
    • Time Tracking Overview
    • Documents Overview
    • Search Overview
    • Companies Overview
    • Users Overview
    • Files & Images Overview
    • Custom Fields Overview
    • Workload & Planning Overview
    • Project Templates Overview
    • Workflows Overview
    • Login & Access Overview
    • API Management Overview
LogoLogo
SupportDeveloper ForumLogin
API v1 ReferenceProjects

Edits multiple projects using the specified operation.

POST
https://api.awork.com/api/v1/projects/batch/:operation
POST
/api/v1/projects/batch/:operation
$curl -X POST https://api.awork.com/api/v1/projects/batch/operation \
> -H "Authorization: Bearer <token>" \
> -H "Content-Type: application/json" \
> -d '{
> "projectIds": [
> "f47ac10b-58cc-4372-a567-0e02b2c3d479",
> "a3bb189e-8bf9-3888-9912-ace4e6543002"
> ]
>}'
1{
2 "ok": {
3 "ids": [
4 "f47ac10b-58cc-4372-a567-0e02b2c3d479"
5 ]
6 },
7 "notFound": {
8 "ids": [
9 "d94f3f01-2f3a-4a1a-9f3a-1a2b3c4d5e6f"
10 ]
11 },
12 "unauthorized": {
13 "ids": [
14 "a3bb189e-8bf9-3888-9912-ace4e6543002"
15 ]
16 },
17 "badRequest": {
18 "ids": []
19 }
20}
Returns MultiStatus including the list of successful and failed projects. Supported operations: <ul> <li>changeprojectstatus: changes the status of all selected projects.</li> <li>changeprojecttype: changes the type of all selected projects.</li> <li>linkworkflow: links a workflow to all selected projects.</li> <li>setclient: sets the client for all selected projects.</li> <li>setprojectlead: changes the responsible project member for all selected projects.</li> <li>addteams: adds teams to all selected projects.</li> <li>removeteams: removes teams from all selected projects.</li> <li>setdates: sets or removes project start and due dates.</li> <li>adjustdates: offsets project start and due dates by the specified amount of days.</li> <li>addtags: adds tags to all selected projects.</li> <li>removetags: removes tags from all selected projects.</li> <li>delete: deletes all selected projects.</li> </ul><Check title="Required Permissions" icon="key">The user must have `write` permissions on all projects as well as related entities modified by the operation.</Check>
Was this page helpful?
Previous

Returns the project with the specified key.

Next
Built with

Returns MultiStatus including the list of successful and failed projects.

Supported operations: <ul>
  • changeprojectstatus: changes the status of all selected projects.
  • changeprojecttype: changes the type of all selected projects.
  • linkworkflow: links a workflow to all selected projects.
  • setclient: sets the client for all selected projects.
  • setprojectlead: changes the responsible project member for all selected projects.
  • addteams: adds teams to all selected projects.
  • removeteams: removes teams from all selected projects.
  • setdates: sets or removes project start and due dates.
  • adjustdates: offsets project start and due dates by the specified amount of days.
  • addtags: adds tags to all selected projects.
  • removetags: removes tags from all selected projects.
  • delete: deletes all selected projects.
  • </ul><Check title=“Required Permissions” icon=“key”>The user must have write permissions on all projects as well as related entities modified by the operation.</Check>

    Authentication

    AuthorizationBearer

    Bearer authentication of the form Bearer <token>, where token is your auth token.

    Path parameters

    operationstringRequired
    Batch operation route key.

    Request

    Validated request body for the selected operation.
    projectIdslist of stringsRequired
    Project ids affected by the batch operation.
    projectStatusIdstring or nullOptionalformat: "uuid"

    Target project status for changeprojectstatus.

    projectTypeIdstring or nullOptionalformat: "uuid"

    Target project type for changeprojecttype.

    workflowIdstring or nullOptionalformat: "uuid"

    Workflow to link for linkworkflow.

    projectStatusMappinglist of objects or nullOptional
    Project status mappings used when linking a workflow.
    taskStatusMappinglist of objects or nullOptional
    Task status mappings used when linking a workflow.
    keepCustomFieldsboolean or nullOptional
    Whether custom fields should be kept when linking a workflow.
    keepCustomAutomationsboolean or nullOptional
    Whether custom automations should be kept when linking a workflow.
    companyIdstring or nullOptionalformat: "uuid"

    Company to assign for setclient.

    responsibleUserIdstring or nullOptionalformat: "uuid"

    Responsible user to assign for setprojectlead.

    teamIdslist of strings or nullOptional
    Team ids to add or remove for team batch operations.
    newStartDatestring or nullOptionalformat: "date-time"

    New start date for setdates.

    newDueDatestring or nullOptionalformat: "date-time"

    New due date for setdates.

    removeStartDateboolean or nullOptional

    Whether the start date should be removed for setdates.

    removeDueDateboolean or nullOptional

    Whether the due date should be removed for setdates.

    daysOffsetdouble or nullOptional

    Day offset for adjustdates.

    tagslist of objects or nullOptional

    Tags to add for addtags.

    tagsToRemovelist of objects or nullOptional

    Tags to remove for removetags.

    deleteTimeTrackingsboolean or nullOptional

    Whether related time trackings should be deleted for delete.

    Response

    Multi-Status

    okobject
    notFoundobject
    unauthorizedobject
    badRequestobject

    Errors

    400
    Bad Request Error
    401
    Unauthorized Error