Sample - Asana API
GET/projects

Get multiple projects

Required scope: projects:read

Returns the compact project records for some filtered set of projects. Use one or more of the parameters provided to filter the projects returned. Note: This endpoint may timeout for large domains. Try filtering by team! The team filter is deprecated. Please use GET /memberships with { member: team, resource_subtype: project_membership } to find projects shared with a team.

  • RetriesRetries up to 2×, 500ms backoff, 30s timeout.

7 parameters
limitintegeroptional
Results per page. The number of objects to return per page. The value must be between 1 and 100.
offsetstringoptional
Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. *Note: You can only pass in an offset that was returned to you via a previously paginated request.*
workspacestringoptional
The workspace or organization to filter projects on.
teamstringoptional
**Deprecated.** The team to filter projects on. Please use `GET /memberships` with `{ member: team, resource_subtype: project_membership }` instead.
archivedbooleanoptional
Only return projects whose `archived` field takes on the value of this parameter.
custom_typestringoptional
Filter results by custom type. Provide a custom type GID to return only objects of that custom type (an unknown GID returns `400`). Provide an empty string to return only objects with no custom type assigned. If this parameter is omitted, results are not filtered by custom type.
opt_fieldsarray<string>optional
This endpoint returns a resource which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. Properties can include nested fields. To learn more, see the [input/output options guide](/docs/inputoutput-options#selecting-nested-fields).

6 status codes
200Successfully retrieved projects.
dataarray<object>optional
next_pageobjectoptional
*Conditional*. This property is only present when a limit query parameter is provided in the request. When making a paginated request, the API will return a number of results as specified by the limit parameter. If more results exist, then the response will contain a next_page attribute, which will include an offset, a relative path attribute, and a full uri attribute. If there are no more pages available, next_page will be null and no offset will be provided. Note that an offset token will expire after some time, as data may have changed.
400This usually occurs because of a missing or malformed parameter. Check the documentation and the syntax of your request and try again.
errorsarray<object>optional
401A valid authentication token was not provided with the request, so the API could not associate a user with the request.
errorsarray<object>optional
403The authentication and request syntax was valid but the server is refusing to complete the request. This can happen if you try to read or write to objects or properties that the user does not have access to.
errorsarray<object>optional
404Either the request method and path supplied do not specify a known action in the API, or the object specified by the request does not exist.
errorsarray<object>optional
500There was a problem on Asana’s end. In the event of a server error the response body should contain an error phrase. These phrases can be used by Asana support to quickly look up the incident that caused the server error. Some errors are due to server load, and will not supply an error phrase.
errorsarray<object>optional

Error handling

A 400 is returned: This usually occurs because of a missing or malformed parameter. Check the documentation and the syntax of your request and try again. A 401 is returned: A valid authentication token was not provided with the request, so the API could not associate a user with the request. A 403 is returned: The authentication and request syntax was valid but the server is refusing to complete the request. This can happen if you try to read or write to objects or properties that the user does not have access to. A 404 is returned: Either the request method and path supplied do not specify a known action in the API, or the object specified by the request does not exist. A 500 is returned: There was a problem on Asana’s end. In the event of a server error the response body should contain an error phrase. These phrases can be used by Asana support to quickly look up the incident that caused the server error. Some errors are due to server load, and will not supply an error phrase.