openapi: 3.1.0 info: title: Asana Allocations Batch API 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: 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 schemas: 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. 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 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.