Asana Batch API API

Perform multiple operations in a single HTTP request.

Operations 1

POST /batch Asana Submit parallel requests #

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/asana-batch-api-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 email required.

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

OpenAPI Specification

asana-batch-api-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Asana Allocations Batch API
  description: The Asana Allocations API allows users to manage and allocate resources within their Asana project management system. An allocation object represents how much of a resource (e.g. person, team) is dedicated to a specific work object (e.g. project, portfolio) over a specific period of time. The effort value can be a percentage or number of hours.
  version: '1.0'
  termsOfService: https://asana.com/terms
  contact:
    name: Asana Support
    url: https://asana.com/support
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
servers:
- url: https://app.asana.com/api/1.0
  description: Main endpoint.
security:
- personalAccessToken: []
- oauth2: []
tags:
- name: Batch API
  description: Perform multiple operations in a single HTTP request.
paths:
  /batch:
    parameters:
    - $ref: '#/components/parameters/pretty'
    post:
      summary: Asana Submit parallel requests
      description: Make multiple API requests in a single call. The maximum number of actions allowed in a single batch request is 10.
      operationId: createBatchRequest
      tags:
      - Batch API
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    actions:
                      type: array
                      items:
                        $ref: '#/components/schemas/BatchRequestAction'
              required:
              - data
      responses:
        '200':
          description: Successfully completed the batch request.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/BatchResponse'
        '400':
          description: Bad request.
        '401':
          description: Unauthorized.
        '403':
          description: Forbidden.
        '429':
          description: Too many requests.
        '500':
          description: Internal server error.
components:
  schemas:
    BatchRequestAction:
      type: object
      properties:
        relative_path:
          type: string
          description: The path of the desired endpoint relative to the API's base URL.
          example: /tasks/123
        method:
          type: string
          description: The HTTP method for the action.
          enum:
          - get
          - post
          - put
          - delete
          - patch
          example: get
        data:
          type: object
          description: For POST/PUT requests, an object containing the data for the action.
        options:
          type: object
          description: Pagination and other options for the action.
          properties:
            limit:
              type: integer
            offset:
              type: string
            fields:
              type: array
              items:
                type: string
      required:
      - relative_path
      - method
    BatchResponse:
      type: object
      properties:
        status_code:
          type: integer
          description: The HTTP status code for the individual action.
          example: 200
        headers:
          type: object
          description: HTTP headers for the individual action.
        body:
          type: object
          description: The body of the response for the individual action.
  parameters:
    pretty:
      name: opt_pretty
      in: query
      description: 'Provides “pretty” output.

        Provides the response in a “pretty” format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging.'
      required: false
      allowEmptyValue: true
      schema:
        type: boolean
      style: form
      example: true
  securitySchemes:
    personalAccessToken:
      type: http
      description: A personal access token for the Asana API.
      scheme: bearer
    oauth2:
      type: oauth2
      description: OAuth 2.0 authorization code flow.
      flows:
        authorizationCode:
          authorizationUrl: https://app.asana.com/-/oauth_authorize
          tokenUrl: https://app.asana.com/-/oauth_token
          scopes:
            default: Provides access to all endpoints documented in the API reference.