Asana
  1. Batch API
Asana
  • Attachments
    • Delete an attachment
      DELETE
    • Get an attachment
      GET
    • Get attachments for a task
      GET
    • Upload an attachment
      POST
  • Batch API
    • Submit parallel requests
      POST
  • Custom Fields
    • Create a custom field
      POST
    • Delete a custom field
      DELETE
    • Get a custom field
      GET
    • Update a custom field
      PUT
    • Create an enum option
      POST
    • Reorder a custom field's enum
      POST
    • Update an enum option
      PUT
    • Get a workspace's custom fields
      GET
  • Events
    • Get events on a resource
      GET
  • Goals
    • Get goals
      GET
    • Create a goal
      POST
    • Delete a goal
      DELETE
    • Get a goal
      GET
    • Update a goal
      PUT
    • Add a collaborator to a goal
      POST
    • Add a subgoal to a parent goal
      POST
    • Add a project/portfolio as supporting work for a goal.
      POST
    • Get parent goals from a goal
      GET
    • Remove a collaborator from a goal
      POST
    • Remove a subgoal from a goal
      POST
    • Remove a project/portfolio as supporting work for a goal.
      POST
    • Create a goal metric
      POST
    • Update a goal metric
      POST
    • Get subgoals from a goal
      GET
    • Get supporting work from a goal
      GET
  • Jobs
    • Get a job by id
  • Organization Exports
    • Create an organization export request
    • Get details on an org export request
  • Teams
    • Get teams in an organization
    • Create a team
    • Get a team
    • Add a user to a team
    • Remove a user from a team
    • Get teams for a user
  • Portfolio Memberships
    • Get multiple portfolio memberships
    • Get a portfolio membership
    • Get memberships from a portfolio
  • Portfolios
    • Get multiple portfolios
    • Create a portfolio
    • Delete a portfolio
    • Get a portfolio
    • Update a portfolio
    • Add a custom field to a portfolio
    • Add a portfolio item
    • Add users to a portfolio
    • Get portfolio items
    • Remove a custom field from a portfolio
    • Remove a portfolio item
    • Remove users from a portfolio
  • Custom Field Settings
    • Get a portfolio's custom fields
    • Get a project's custom fields
  • Project Memberships
    • Get a project membership
    • Get memberships from a project
  • Project Statuses
    • Delete a project status
    • Get a project status
    • Get statuses from a project
    • Create a project status
  • Projects
    • Get multiple projects
    • Create a project
    • Delete a project
    • Get a project
    • Update a project
    • Add a custom field to a project
    • Add followers to a project
    • Add users to a project
    • Duplicate a project
    • Remove a custom field from a project
    • Remove followers from a project
    • Remove users from a project
    • Get task count of a project
    • Get projects a task is in
    • Get a team's projects
    • Create a project in a team
    • Get all projects in a workspace
    • Create a project in a workspace
  • Sections
    • Get sections in a project
    • Create a section in a project
    • Move or Insert sections
    • Delete a section
    • Get a section
    • Update a section
    • Add task to section
  • Tasks
    • Get tasks from a project
    • Get tasks from a section
    • Get tasks from a tag
    • Get multiple tasks
    • Create a task
    • Delete a task
    • Get a task
    • Update a task
    • Set dependencies for a task
    • Set dependents for a task
    • Add followers to a task
    • Add a project to a task
    • Add a tag to a task
    • Get dependencies from a task
    • Get dependents from a task
    • Duplicate a task
    • Unlink dependencies from a task
    • Unlink dependents from a task
    • Remove followers from a task
    • Remove a project from a task
    • Remove a tag from a task
    • Set the parent of a task
    • Get subtasks from a task
    • Create a subtask
    • Get tasks from a user task list
    • Search tasks in a workspace
  • Stories
    • Delete a story
    • Get a story
    • Update a story
    • Get stories from a task
    • Create a story on a task
  • Tags
    • Get multiple tags
    • Create a tag
    • Delete a tag
    • Get a tag
    • Update a tag
    • Get a task's tags
    • Get tags in a workspace
    • Create a tag in a workspace
  • Team Memberships
    • Get team memberships
    • Get a team membership
    • Get memberships from a team
    • Get memberships from a user
  • Users
    • Get users in a team
    • Get multiple users
    • Get a user
    • Get a user's favorites
    • Get users in a workspace or organization
  • Time Periods
    • Get time periods
    • Get a time period
  • User Task Lists
    • Get a user task list
    • Get a user's task list
  • Workspace Memberships
    • Get workspace memberships for a user
    • Get a workspace membership
    • Get the workspace memberships for a workspace
  • Webhooks
    • Get multiple webhooks
    • Establish a webhook
    • Delete a webhook
    • Get a webhook
  • Workspaces
    • Get multiple workspaces
    • Get a workspace
    • Update a workspace
    • Add a user to a workspace or organization
    • Remove a user from a workspace or organization
  • Typeahead
    • Get objects via typeahead
  1. Batch API

Submit parallel requests

POST
/batch
Batch API
Make multiple requests in parallel to Asana's API.
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://app.asana.com/api/1.0/batch' \
--header 'Content-Type: application/json' \
--data-raw '{
    "data": {
        "actions": [
            {
                "data": {
                    "assignee": "me",
                    "workspace": "1337"
                },
                "method": "get",
                "options": {
                    "fields": [
                        "name",
                        "notes",
                        "completed"
                    ],
                    "limit": 3
                },
                "relative_path": "/tasks/123"
            }
        ]
    }
}'
Response Response Example
200 - Example 1
{
  "data": [
    {
      "body": {
        "data": {
          "completed": false,
          "gid": "1967",
          "name": "Hello, world!",
          "notes": "How are you today?"
        }
      },
      "headers": {
        "location": "/tasks/1234"
      },
      "status_code": 200
    }
  ]
}

Request

Body Params application/json
data
object (BatchRequest) 
optional
A request object for use in a batch request.
actions
array[object (BatchRequestAction) {4}] 
optional
Examples

Responses

🟢200Successfully completed the requested batch API operations.
application/json
Body
data
array[object (BatchResponse) {3}] 
optional
body
object 
optional
The JSON body that the invoked endpoint returned.
Example:
{"data":{"completed":false,"gid":"1967","name":"Hello, world!","notes":"How are you today?"}}
headers
object 
optional
A map of HTTP headers specific to this result. This is primarily used for returning a Location header to accompany a 201 Created result. The parent HTTP response will contain all common headers.
Example:
{"location":"/tasks/1234"}
status_code
integer 
optional
The HTTP status code that the invoked endpoint returned.
Example:
200
🟠400400
🟠401401
🟠403403
🟠404404
🔴500500
Modified at 2022-09-13 02:00:31
Previous
Upload an attachment
Next
Create a custom field
Built with