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.