Portfolios 10 endpoints

DELETE /portfolios/{portfolio_gid}

An existing portfolio can be deleted by making a DELETE request on
the URL for that portfolio.

Returns an empty data record.

operationId: Portfolios_deleteRecord

Parameters

Name In Required Type Description
portfolio_gid path optional string

Globally unique identifier for the portfolio.

opt_pretty query optional boolean

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.

Responses

200

Successfully deleted the specified portfolio.

400

This usually occurs because of a missing or malformed parameter. Check the documentation and the syntax of your request and try again.

401

A valid authentication token was not provided with the request, so the API could not associate a user with the request.

403

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.

404

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.

500

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.

DELETE /portfolios/{portfolio_gid}
GET /portfolios/{portfolio_gid}

Returns the complete portfolio record for a single portfolio.

operationId: Portfolios_getRecord

Parameters

Name In Required Type Description
portfolio_gid path optional string

Globally unique identifier for the portfolio.

opt_pretty query optional boolean

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.

opt_fields query optional array

This endpoint returns a compact 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.

Responses

200

Successfully retrieved the requested portfolio.

400

This usually occurs because of a missing or malformed parameter. Check the documentation and the syntax of your request and try again.

401

A valid authentication token was not provided with the request, so the API could not associate a user with the request.

403

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.

404

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.

500

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.

GET /portfolios/{portfolio_gid}
PUT /portfolios/{portfolio_gid}

An existing portfolio can be updated by making a PUT request on the URL for
that portfolio. Only the fields provided in the data block will be updated;
any unspecified fields will remain unchanged.

Returns the complete updated portfolio record.

operationId: Portfolios_updatePortfolioRecord

Parameters

Name In Required Type Description
portfolio_gid path optional string

Globally unique identifier for the portfolio.

opt_pretty query optional boolean

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.

opt_fields query optional array

This endpoint returns a compact 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.

Request Body

required

The updated fields for the portfolio.

application/json
schema PortfoliosUpdatePortfolioRecordRequest
Property Type Required
data object optional
gid string optional
resource_type string optional
name string optional
color string optional
public boolean optional
members array optional
workspace string optional

Responses

200

Successfully updated the portfolio.

400

This usually occurs because of a missing or malformed parameter. Check the documentation and the syntax of your request and try again.

401

A valid authentication token was not provided with the request, so the API could not associate a user with the request.

403

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.

404

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.

500

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.

PUT /portfolios/{portfolio_gid}
POST /portfolios/{portfolio_gid}/addCustomFieldSetting

Custom fields are associated with portfolios by way of custom field settings. This method creates a setting for the portfolio.

operationId: Portfolios_addCustomFieldSetting

Parameters

Name In Required Type Description
portfolio_gid path optional string

Globally unique identifier for the portfolio.

opt_pretty query optional boolean

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.

Request Body

required

Information about the custom field setting.

application/json
schema PortfoliosAddCustomFieldSettingRequest
Property Type Required
data object optional
custom_field string required
insert_after string optional
is_important boolean optional
insert_before string optional

Responses

200

Successfully added the custom field to the portfolio.

400

This usually occurs because of a missing or malformed parameter. Check the documentation and the syntax of your request and try again.

401

A valid authentication token was not provided with the request, so the API could not associate a user with the request.

403

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.

404

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.

500

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.

POST /portfolios/{portfolio_gid}/addCustomFieldSetting
POST /portfolios/{portfolio_gid}/addItem

Add an item to a portfolio.
Returns an empty data block.

operationId: Portfolios_addPortfolioItem

Parameters

Name In Required Type Description
portfolio_gid path optional string

Globally unique identifier for the portfolio.

opt_pretty query optional boolean

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.

Request Body

required

Information about the item being inserted.

application/json
schema PortfoliosAddPortfolioItemRequest
Property Type Required
data object optional
item string required
insert_after string optional
insert_before string optional

Responses

200

Successfully added the item to the portfolio.

400

This usually occurs because of a missing or malformed parameter. Check the documentation and the syntax of your request and try again.

401

A valid authentication token was not provided with the request, so the API could not associate a user with the request.

403

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.

404

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.

500

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.

POST /portfolios/{portfolio_gid}/addItem
POST /portfolios/{portfolio_gid}/addMembers

Adds the specified list of users as members of the portfolio.
Returns the updated portfolio record.

operationId: Portfolios_addMembersToPortfolio

Parameters

Name In Required Type Description
portfolio_gid path optional string

Globally unique identifier for the portfolio.

opt_pretty query optional boolean

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.

opt_fields query optional array

This endpoint returns a compact 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.

Request Body

required

Information about the members being added.

application/json
schema PortfoliosAddMembersToPortfolioRequest
Property Type Required
data object optional
members string required

Responses

200

Successfully added members to the portfolio.

400

This usually occurs because of a missing or malformed parameter. Check the documentation and the syntax of your request and try again.

401

A valid authentication token was not provided with the request, so the API could not associate a user with the request.

403

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.

404

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.

500

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.

POST /portfolios/{portfolio_gid}/addMembers
GET /portfolios/{portfolio_gid}/items

Get a list of the items in compact form in a portfolio.

operationId: Portfolios_getItems

Parameters

Name In Required Type Description
portfolio_gid path optional string

Globally unique identifier for the portfolio.

opt_pretty query optional boolean

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.

limit query optional integer

Results per page.
The number of objects to return per page. The value must be between 1 and 100.

offset query optional string

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.

opt_fields query optional array

This endpoint returns a compact 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.

Responses

200

Successfully retrieved the requested portfolio’s items.

400

This usually occurs because of a missing or malformed parameter. Check the documentation and the syntax of your request and try again.

401

A valid authentication token was not provided with the request, so the API could not associate a user with the request.

403

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.

404

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.

500

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.

GET /portfolios/{portfolio_gid}/items
POST /portfolios/{portfolio_gid}/removeCustomFieldSetting

Removes a custom field setting from a portfolio.

operationId: Portfolios_removeCustomFieldSetting

Parameters

Name In Required Type Description
portfolio_gid path optional string

Globally unique identifier for the portfolio.

opt_pretty query optional boolean

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.

Request Body

required

Information about the custom field setting being removed.

application/json
schema PortfoliosRemoveCustomFieldSettingRequest
Property Type Required
data object optional
custom_field string required

Responses

200

Successfully removed the custom field from the portfolio.

400

This usually occurs because of a missing or malformed parameter. Check the documentation and the syntax of your request and try again.

401

A valid authentication token was not provided with the request, so the API could not associate a user with the request.

403

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.

404

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.

500

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.

POST /portfolios/{portfolio_gid}/removeCustomFieldSetting
POST /portfolios/{portfolio_gid}/removeItem

Remove an item from a portfolio.
Returns an empty data block.

operationId: Portfolios_removeItemFromPortfolio

Parameters

Name In Required Type Description
portfolio_gid path optional string

Globally unique identifier for the portfolio.

opt_pretty query optional boolean

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.

Request Body

required

Information about the item being removed.

application/json
schema PortfoliosRemoveItemFromPortfolioRequest
Property Type Required
data object optional
item string required

Responses

200

Successfully removed the item from the portfolio.

400

This usually occurs because of a missing or malformed parameter. Check the documentation and the syntax of your request and try again.

401

A valid authentication token was not provided with the request, so the API could not associate a user with the request.

403

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.

404

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.

500

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.

POST /portfolios/{portfolio_gid}/removeItem
POST /portfolios/{portfolio_gid}/removeMembers

Removes the specified list of users from members of the portfolio.
Returns the updated portfolio record.

operationId: Portfolios_removeMembersFromPortfolio

Parameters

Name In Required Type Description
portfolio_gid path optional string

Globally unique identifier for the portfolio.

opt_pretty query optional boolean

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.

opt_fields query optional array

This endpoint returns a compact 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.

Request Body

required

Information about the members being removed.

application/json
schema PortfoliosRemoveMembersFromPortfolioRequest
Property Type Required
data object optional
members string required

Responses

200

Successfully removed the members from the portfolio.

400

This usually occurs because of a missing or malformed parameter. Check the documentation and the syntax of your request and try again.

401

A valid authentication token was not provided with the request, so the API could not associate a user with the request.

403

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.

404

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.

500

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.

POST /portfolios/{portfolio_gid}/removeMembers

Projectbriefs 4 endpoints

DELETE /project_briefs/{project_brief_gid}

Deletes a specific, existing project brief.

Returns an empty data record.

operationId: ProjectBriefs_removeBrief

Parameters

Name In Required Type Description
project_brief_gid path optional string

Globally unique identifier for the project brief.

opt_pretty query optional boolean

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.

Responses

200

Successfully deleted the specified project brief.

400

This usually occurs because of a missing or malformed parameter. Check the documentation and the syntax of your request and try again.

401

A valid authentication token was not provided with the request, so the API could not associate a user with the request.

403

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.

404

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.

500

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.

DELETE /project_briefs/{project_brief_gid}
GET /project_briefs/{project_brief_gid}

Get the full record for a project brief.

operationId: ProjectBriefs_getFullRecord

Parameters

Name In Required Type Description
project_brief_gid path optional string

Globally unique identifier for the project brief.

opt_pretty query optional boolean

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.

opt_fields query optional array

This endpoint returns a compact 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.

Responses

200

Successfully retrieved the record for a project brief.

400

This usually occurs because of a missing or malformed parameter. Check the documentation and the syntax of your request and try again.

401

A valid authentication token was not provided with the request, so the API could not associate a user with the request.

402

The request was valid, but the queried object or object mutation specified in the request is above your current premium level.

403

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.

404

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.

424

You have exceeded one of the enforced rate limits in the API. See the documentation on rate limiting for more information.

500

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.

501

There is an issue between the load balancers and Asana’s API.

503

Either the upstream service is unavailable to the API, or the API has been intentionally shut off.

504

This request took too long to complete.

GET /project_briefs/{project_brief_gid}
PUT /project_briefs/{project_brief_gid}

An existing project brief can be updated by making a PUT request on the URL for
that project brief. Only the fields provided in the data block will be updated;
any unspecified fields will remain unchanged.

Returns the complete updated project brief record.

operationId: ProjectBriefs_updateBriefRecord

Parameters

Name In Required Type Description
project_brief_gid path optional string

Globally unique identifier for the project brief.

opt_pretty query optional boolean

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.

opt_fields query optional array

This endpoint returns a compact 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.

Request Body

required

The updated fields for the project brief.

application/json
schema ProjectBriefsUpdateBriefRecordRequest
Property Type Required
data object optional
gid string optional
resource_type string optional
title string optional
html_text string optional
text string optional

Responses

200

Successfully updated the project brief.

400

This usually occurs because of a missing or malformed parameter. Check the documentation and the syntax of your request and try again.

401

A valid authentication token was not provided with the request, so the API could not associate a user with the request.

403

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.

404

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.

500

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.

PUT /project_briefs/{project_brief_gid}
POST /projects/{project_gid}/project_briefs

Creates a new project brief.

Returns the full record of the newly created project brief.

operationId: ProjectBriefs_createNewRecord

Parameters

Name In Required Type Description
project_gid path optional string

Globally unique identifier for the project.

opt_pretty query optional boolean

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.

opt_fields query optional array

This endpoint returns a compact 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.

Request Body

required

The project brief to create.

application/json
schema ProjectBriefsCreateNewRecordRequest
Property Type Required
data object optional
gid string optional
resource_type string optional
title string optional
html_text string optional
text string optional

Responses

201

Successfully created a new project brief.

400

This usually occurs because of a missing or malformed parameter. Check the documentation and the syntax of your request and try again.

401

A valid authentication token was not provided with the request, so the API could not associate a user with the request.

402

The request was valid, but the queried object or object mutation specified in the request is above your current premium level.

403

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.

404

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.

500

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.

POST /projects/{project_gid}/project_briefs

Projectmemberships 2 endpoints

GET /project_memberships/{project_membership_gid}

Returns the complete project record for a single project membership.

operationId: ProjectMemberships_getRecord

Parameters

Name In Required Type Description
project_membership_gid path optional string
opt_pretty query optional boolean

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.

opt_fields query optional array

This endpoint returns a compact 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.

Responses

200

Successfully retrieved the requested project membership.

400

This usually occurs because of a missing or malformed parameter. Check the documentation and the syntax of your request and try again.

401

A valid authentication token was not provided with the request, so the API could not associate a user with the request.

403

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.

404

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.

500

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.

GET /project_memberships/{project_membership_gid}
GET /projects/{project_gid}/project_memberships

Returns the compact project membership records for the project.

operationId: ProjectMemberships_getCompactRecords

Parameters

Name In Required Type Description
project_gid path optional string

Globally unique identifier for the project.

user query optional string

A string identifying a user. This can either be the string “me”, an email, or the gid of a user.

opt_pretty query optional boolean

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.

limit query optional integer

Results per page.
The number of objects to return per page. The value must be between 1 and 100.

offset query optional string

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.

opt_fields query optional array

This endpoint returns a compact 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.

Responses

200

Successfully retrieved the requested project’s memberships.

400

This usually occurs because of a missing or malformed parameter. Check the documentation and the syntax of your request and try again.

401

A valid authentication token was not provided with the request, so the API could not associate a user with the request.

403

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.

404

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.

500

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.

GET /projects/{project_gid}/project_memberships

Projectstatuses 4 endpoints

DELETE /project_statuses/{project_status_gid}

Deprecated: new integrations should prefer the /status_updates/{status_gid} route.

Deletes a specific, existing project status update.

Returns an empty data record.

operationId: ProjectStatuses_deleteSpecificStatusUpdate

Parameters

Name In Required Type Description
project_status_gid path optional string

The project status update to get.

opt_pretty query optional boolean

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.

Responses

200

Successfully deleted the specified project status.

400

This usually occurs because of a missing or malformed parameter. Check the documentation and the syntax of your request and try again.

401

A valid authentication token was not provided with the request, so the API could not associate a user with the request.

403

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.

404

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.

500

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.

DELETE /project_statuses/{project_status_gid}
GET /project_statuses/{project_status_gid}

Deprecated: new integrations should prefer the /status_updates/{status_gid} route.

Returns the complete record for a single status update.

operationId: ProjectStatuses_getStatusUpdateRecord

Parameters

Name In Required Type Description
project_status_gid path optional string

The project status update to get.

opt_pretty query optional boolean

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.

opt_fields query optional array

This endpoint returns a compact 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.

Responses

200

Successfully retrieved the specified project’s status updates.

400

This usually occurs because of a missing or malformed parameter. Check the documentation and the syntax of your request and try again.

401

A valid authentication token was not provided with the request, so the API could not associate a user with the request.

403

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.

404

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.

500

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.

GET /project_statuses/{project_status_gid}
GET /projects/{project_gid}/project_statuses

Deprecated: new integrations should prefer the /status_updates route.

Returns the compact project status update records for all updates on the project.

operationId: ProjectStatuses_getProjectUpdates

Parameters

Name In Required Type Description
project_gid path optional string

Globally unique identifier for the project.

opt_pretty query optional boolean

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.

project_gid path optional string

Globally unique identifier for the project.

opt_pretty query optional boolean

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.

limit query optional integer

Results per page.
The number of objects to return per page. The value must be between 1 and 100.

offset query optional string

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.

opt_fields query optional array

This endpoint returns a compact 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.

Responses

200

Successfully retrieved the specified project’s status updates.

400

This usually occurs because of a missing or malformed parameter. Check the documentation and the syntax of your request and try again.

401

A valid authentication token was not provided with the request, so the API could not associate a user with the request.

403

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.

404

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.

500

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.

GET /projects/{project_gid}/project_statuses
POST /projects/{project_gid}/project_statuses

Deprecated: new integrations should prefer the /status_updates route.

Creates a new status update on the project.

Returns the full record of the newly created project status update.

operationId: ProjectStatuses_createNewStatusUpdateRecord

Parameters

Name In Required Type Description
project_gid path optional string

Globally unique identifier for the project.

opt_pretty query optional boolean

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.

opt_fields query optional array

This endpoint returns a compact 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.

Request Body

required

The project status to create.

application/json
schema ProjectStatusesCreateNewStatusUpdateRecordRequest
Property Type Required
data object optional
gid string optional
resource_type string optional
title string optional
text string optional
color string optional
html_text string optional

Responses

201

Successfully created a new story.

400

This usually occurs because of a missing or malformed parameter. Check the documentation and the syntax of your request and try again.

401

A valid authentication token was not provided with the request, so the API could not associate a user with the request.

403

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.

404

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.

500

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.

POST /projects/{project_gid}/project_statuses

Projecttemplates 5 endpoints

GET /project_templates

Returns the compact project template records for all project templates in the given team or workspace.

operationId: ProjectTemplates_listMultiple

Parameters

Name In Required Type Description
opt_pretty query optional boolean

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.

workspace query optional string

The workspace to filter results on.

team query optional string

The team to filter projects on.

limit query optional integer

Results per page.
The number of objects to return per page. The value must be between 1 and 100.

offset query optional string

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.

opt_fields query optional array

This endpoint returns a compact 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.

Responses

200

Successfully retrieved the requested team’s or workspace’s project templates.

400

This usually occurs because of a missing or malformed parameter. Check the documentation and the syntax of your request and try again.

401

A valid authentication token was not provided with the request, so the API could not associate a user with the request.

403

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.

404

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.

500

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.

GET /project_templates
DELETE /project_templates/{project_template_gid}

A specific, existing project template can be deleted by making a DELETE request on the URL for that project template.

Returns an empty data record.

operationId: ProjectTemplates_deleteTemplateRecord

Parameters

Name In Required Type Description
project_template_gid path optional string

Globally unique identifier for the project template.

opt_pretty query optional boolean

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.

Responses

200

Successfully deleted the specified project template.

400

This usually occurs because of a missing or malformed parameter. Check the documentation and the syntax of your request and try again.

401

A valid authentication token was not provided with the request, so the API could not associate a user with the request.

402

The request was valid, but the queried object or object mutation specified in the request is above your current premium level.

403

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.

404

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.

500

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.

DELETE /project_templates/{project_template_gid}
GET /project_templates/{project_template_gid}

Returns the complete project template record for a single project template.

operationId: ProjectTemplates_getRecord

Parameters

Name In Required Type Description
project_template_gid path optional string

Globally unique identifier for the project template.

opt_pretty query optional boolean

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.

opt_fields query optional array

This endpoint returns a compact 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.

Responses

200

Successfully retrieved the requested project template.

400

This usually occurs because of a missing or malformed parameter. Check the documentation and the syntax of your request and try again.

401

A valid authentication token was not provided with the request, so the API could not associate a user with the request.

403

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.

404

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.

500

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.

GET /project_templates/{project_template_gid}
POST /project_templates/{project_template_gid}/instantiateProject

Creates and returns a job that will asynchronously handle the project instantiation.

To form this request, it is recommended to first make a request to get a project template. Then, from the response, copy the gid from the object in the requested_dates array. This gid should be used in requested_dates to instantiate a project.

Note: The body of this request will differ if your workspace is an organization. To determine if your workspace is an organization, use the is_organization parameter.

operationId: ProjectTemplates_instantiateProjectJob

Parameters

Name In Required Type Description
project_template_gid path optional string

Globally unique identifier for the project template.

opt_pretty query optional boolean

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.

opt_fields query optional array

This endpoint returns a compact 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.

Request Body

Describes the inputs used for instantiating a project, such as the resulting project’s name, which team it should be created in, and values for date variables.

application/json
schema ProjectTemplatesInstantiateProjectJobRequest
Property Type Required
data object optional
name string required
team string optional
public boolean optional
is_strict boolean optional
requested_dates array optional
gid string optional
value string optional
requested_roles array optional
gid string optional
value string optional

Responses

201

Successfully created the job to handle project instantiation.

400

This usually occurs because of a missing or malformed parameter. Check the documentation and the syntax of your request and try again.

401

A valid authentication token was not provided with the request, so the API could not associate a user with the request.

403

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.

404

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.

500

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.

POST /project_templates/{project_template_gid}/instantiateProject
GET /teams/{team_gid}/project_templates

Returns the compact project template records for all project templates in the team.

operationId: ProjectTemplates_getAllTemplateRecords

Parameters

Name In Required Type Description
team_gid path optional string

Globally unique identifier for the team.

opt_pretty query optional boolean

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.

limit query optional integer

Results per page.
The number of objects to return per page. The value must be between 1 and 100.

offset query optional string

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.

opt_fields query optional array

This endpoint returns a compact 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.

Responses

200

Successfully retrieved the requested team’s project templates.

400

This usually occurs because of a missing or malformed parameter. Check the documentation and the syntax of your request and try again.

401

A valid authentication token was not provided with the request, so the API could not associate a user with the request.

403

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.

404

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.

500

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.

GET /teams/{team_gid}/project_templates

Projects 19 endpoints

GET /projects

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!

operationId: Projects_listMultiple

Parameters

Name In Required Type Description
opt_pretty query optional boolean

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.

limit query optional integer

Results per page.
The number of objects to return per page. The value must be between 1 and 100.

offset query optional string

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.

workspace query optional string

The workspace or organization to filter projects on.

team query optional string

The team to filter projects on.

archived query optional boolean

Only return projects whose archived field takes on the value of this parameter.

opt_fields query optional array

This endpoint returns a compact 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.

Responses

200

Successfully retrieved projects.

400

This usually occurs because of a missing or malformed parameter. Check the documentation and the syntax of your request and try again.

401

A valid authentication token was not provided with the request, so the API could not associate a user with the request.

403

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.

404

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.

500

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.

GET /projects
POST /projects

Create a new project in a workspace or team.

Every project is required to be created in a specific workspace or
organization, and this cannot be changed once set. Note that you can use
the workspace parameter regardless of whether or not it is an
organization.

If the workspace for your project is an organization, you must also
supply a team to share the project with.

Returns the full record of the newly created project.

operationId: Projects_createNewProjectRecord

Parameters

Name In Required Type Description
opt_pretty query optional boolean

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.

opt_fields query optional array

This endpoint returns a compact 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.

Request Body

required

The project to create.

application/json
schema ProjectsCreateNewProjectRecordRequest
Property Type Required
data object optional
gid string optional
resource_type string optional
name string optional
color string optional
notes string optional
due_on string optional
public boolean optional
members array optional
gid string optional
resource_type string optional
name string optional
archived boolean optional
due_date string optional
start_on string optional
created_at string optional
html_notes string optional
modified_at string optional
default_view string optional
current_status object optional
gid string optional
resource_type string optional
title string optional
text string optional
color string optional
html_text string optional
author object optional
gid string optional
resource_type string optional
name string optional
created_at string optional
created_by object optional
gid string optional
resource_type string optional
name string optional
modified_at string optional
privacy_setting string optional
default_access_level string optional
current_status_update object optional
gid string optional
resource_type string optional
title string optional
resource_subtype string optional
custom_field_settings array optional
gid string optional
resource_type string optional
parent object optional
gid string optional
resource_type string optional
name string optional
project object optional
gid string optional
resource_type string optional
name string optional
custom_field object optional
gid string optional
resource_type string optional
name string optional
type string optional
enabled boolean optional
id_prefix string optional
date_value object optional
enum_value object optional
text_value string optional
enum_options array optional
number_value number optional
display_value string optional
is_formula_field boolean optional
resource_subtype string optional
multi_enum_values array optional
representation_type string optional
format string optional
precision integer optional
description string optional
custom_label string optional
…8 more object optional
is_important boolean optional
…7 more object optional

Responses

201

Successfully retrieved projects.

400

This usually occurs because of a missing or malformed parameter. Check the documentation and the syntax of your request and try again.

401

A valid authentication token was not provided with the request, so the API could not associate a user with the request.

403

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.

404

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.

500

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.

POST /projects
DELETE /projects/{project_gid}

A specific, existing project can be deleted by making a DELETE request on
the URL for that project.

Returns an empty data record.

operationId: Projects_deleteProjectById

Parameters

Name In Required Type Description
project_gid path optional string

Globally unique identifier for the project.

opt_pretty query optional boolean

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.

Responses

200

Successfully deleted the specified project.

400

This usually occurs because of a missing or malformed parameter. Check the documentation and the syntax of your request and try again.

401

A valid authentication token was not provided with the request, so the API could not associate a user with the request.

403

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.

404

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.

500

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.

DELETE /projects/{project_gid}
GET /projects/{project_gid}

Returns the complete project record for a single project.

operationId: Projects_getProjectRecord

Parameters

Name In Required Type Description
project_gid path optional string

Globally unique identifier for the project.

opt_pretty query optional boolean

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.

opt_fields query optional array

This endpoint returns a compact 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.

Responses

200

Successfully retrieved the requested project.

400

This usually occurs because of a missing or malformed parameter. Check the documentation and the syntax of your request and try again.

401

A valid authentication token was not provided with the request, so the API could not associate a user with the request.

403

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.

404

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.

500

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.

GET /projects/{project_gid}
PUT /projects/{project_gid}

A specific, existing project can be updated by making a PUT request on
the URL for that project. Only the fields provided in the data block
will be updated; any unspecified fields will remain unchanged.

When using this method, it is best to specify only those fields you wish
to change, or else you may overwrite changes made by another user since
you last retrieved the task.

Returns the complete updated project record.

operationId: Projects_updateProjectRecord

Parameters

Name In Required Type Description
project_gid path optional string

Globally unique identifier for the project.

opt_pretty query optional boolean

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.

opt_fields query optional array

This endpoint returns a compact 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.

Request Body

required

The updated fields for the project.

application/json
schema ProjectsUpdateProjectRecordRequest
Property Type Required
data object optional
gid string optional
resource_type string optional
name string optional
color string optional
notes string optional
due_on string optional
public boolean optional
members array optional
gid string optional
resource_type string optional
name string optional
archived boolean optional
due_date string optional
start_on string optional
created_at string optional
html_notes string optional
modified_at string optional
default_view string optional
current_status object optional
gid string optional
resource_type string optional
title string optional
text string optional
color string optional
html_text string optional
author object optional
gid string optional
resource_type string optional
name string optional
created_at string optional
created_by object optional
gid string optional
resource_type string optional
name string optional
modified_at string optional
privacy_setting string optional
default_access_level string optional
current_status_update object optional
gid string optional
resource_type string optional
title string optional
resource_subtype string optional
custom_field_settings array optional
gid string optional
resource_type string optional
parent object optional
gid string optional
resource_type string optional
name string optional
project object optional
gid string optional
resource_type string optional
name string optional
custom_field object optional
gid string optional
resource_type string optional
name string optional
type string optional
enabled boolean optional
id_prefix string optional
date_value object optional
enum_value object optional
text_value string optional
enum_options array optional
number_value number optional
display_value string optional
is_formula_field boolean optional
resource_subtype string optional
multi_enum_values array optional
representation_type string optional
format string optional
precision integer optional
description string optional
custom_label string optional
…8 more object optional
is_important boolean optional
…6 more object optional

Responses

200

Successfully updated the project.

400

This usually occurs because of a missing or malformed parameter. Check the documentation and the syntax of your request and try again.

401

A valid authentication token was not provided with the request, so the API could not associate a user with the request.

403

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.

404

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.

500

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.

PUT /projects/{project_gid}
POST /projects/{project_gid}/addCustomFieldSetting

Custom fields are associated with projects by way of custom field settings. This method creates a setting for the project.

operationId: Projects_addCustomFieldSetting

Parameters

Name In Required Type Description
project_gid path optional string

Globally unique identifier for the project.

opt_pretty query optional boolean

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.

opt_fields query optional array

This endpoint returns a compact 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.

Request Body

required

Information about the custom field setting.

application/json
schema ProjectsAddCustomFieldSettingRequest
Property Type Required
data object optional
custom_field string required
insert_after string optional
is_important boolean optional
insert_before string optional

Responses

200

Successfully added the custom field to the project.

400

This usually occurs because of a missing or malformed parameter. Check the documentation and the syntax of your request and try again.

401

A valid authentication token was not provided with the request, so the API could not associate a user with the request.

403

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.

404

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.

500

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.

POST /projects/{project_gid}/addCustomFieldSetting
POST /projects/{project_gid}/addFollowers

Adds the specified list of users as followers to the project. Followers are a subset of members who have opted in to receive “tasks added” notifications for a project. Therefore, if the users are not already members of the project, they will also become members as a result of this operation.
Returns the updated project record.

operationId: Projects_addFollowersToProject

Parameters

Name In Required Type Description
project_gid path optional string

Globally unique identifier for the project.

opt_pretty query optional boolean

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.

opt_fields query optional array

This endpoint returns a compact 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.

Request Body

required

Information about the followers being added.

application/json
schema ProjectsAddFollowersToProjectRequest
Property Type Required
data object optional
followers string required

Responses

200

Successfully added followers to the project.

400

This usually occurs because of a missing or malformed parameter. Check the documentation and the syntax of your request and try again.

401

A valid authentication token was not provided with the request, so the API could not associate a user with the request.

403

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.

404

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.

500

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.

POST /projects/{project_gid}/addFollowers
POST /projects/{project_gid}/addMembers

Adds the specified list of users as members of the project. Note that a user being added as a member may also be added as a follower as a result of this operation. This is because the user’s default notification settings (i.e., in the “Notifcations” tab of “My Profile Settings”) will override this endpoint’s default behavior of setting “Tasks added” notifications to false.
Returns the updated project record.

operationId: Projects_addMembersToProject

Parameters

Name In Required Type Description
project_gid path optional string

Globally unique identifier for the project.

opt_pretty query optional boolean

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.

opt_fields query optional array

This endpoint returns a compact 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.

Request Body

required

Information about the members being added.

application/json
schema ProjectsAddMembersToProjectRequest
Property Type Required
data object optional
members string required

Responses

200

Successfully added members to the project.

400

This usually occurs because of a missing or malformed parameter. Check the documentation and the syntax of your request and try again.

401

A valid authentication token was not provided with the request, so the API could not associate a user with the request.

403

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.

404

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.

500

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.

POST /projects/{project_gid}/addMembers
POST /projects/{project_gid}/duplicate

Creates and returns a job that will asynchronously handle the duplication.

operationId: Projects_duplicateProjectJob

Parameters

Name In Required Type Description
project_gid path optional string

Globally unique identifier for the project.

opt_pretty query optional boolean

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.

opt_fields query optional array

This endpoint returns a compact 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.

Request Body

Describes the duplicate’s name and the elements that will be duplicated.

application/json
schema ProjectsDuplicateProjectJobRequest
Property Type Required
data object optional
name string required
team string optional
include string optional
schedule_dates object optional
due_on string optional
start_on string optional
should_skip_weekends boolean required

Responses

201

Successfully created the job to handle duplication.

400

This usually occurs because of a missing or malformed parameter. Check the documentation and the syntax of your request and try again.

401

A valid authentication token was not provided with the request, so the API could not associate a user with the request.

403

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.

404

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.

500

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.

POST /projects/{project_gid}/duplicate
POST /projects/{project_gid}/removeCustomFieldSetting

Removes a custom field setting from a project.

operationId: Projects_removeCustomField

Parameters

Name In Required Type Description
project_gid path optional string

Globally unique identifier for the project.

opt_pretty query optional boolean

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.

Request Body

required

Information about the custom field setting being removed.

application/json
schema ProjectsRemoveCustomFieldRequest
Property Type Required
data object optional
custom_field string required

Responses

200

Successfully removed the custom field from the project.

400

This usually occurs because of a missing or malformed parameter. Check the documentation and the syntax of your request and try again.

401

A valid authentication token was not provided with the request, so the API could not associate a user with the request.

403

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.

404

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.

500

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.

POST /projects/{project_gid}/removeCustomFieldSetting
POST /projects/{project_gid}/removeFollowers

Removes the specified list of users from following the project, this will not affect project membership status.
Returns the updated project record.

operationId: Projects_removeProjectFollowers

Parameters

Name In Required Type Description
project_gid path optional string

Globally unique identifier for the project.

opt_pretty query optional boolean

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.

opt_fields query optional array

This endpoint returns a compact 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.

Request Body

required

Information about the followers being removed.

application/json
schema ProjectsRemoveProjectFollowersRequest
Property Type Required
data object optional
followers string required

Responses

200

Successfully removed followers from the project.

400

This usually occurs because of a missing or malformed parameter. Check the documentation and the syntax of your request and try again.

401

A valid authentication token was not provided with the request, so the API could not associate a user with the request.

403

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.

404

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.

500

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.

POST /projects/{project_gid}/removeFollowers
POST /projects/{project_gid}/removeMembers

Removes the specified list of users from members of the project.
Returns the updated project record.

operationId: Projects_removeMembersFromProject

Parameters

Name In Required Type Description
project_gid path optional string

Globally unique identifier for the project.

opt_pretty query optional boolean

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.

opt_fields query optional array

This endpoint returns a compact 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.

Request Body

required

Information about the members being removed.

application/json
schema ProjectsRemoveMembersFromProjectRequest
Property Type Required
data object optional
members string required

Responses

200

Successfully removed the members from the project.

400

This usually occurs because of a missing or malformed parameter. Check the documentation and the syntax of your request and try again.

401

A valid authentication token was not provided with the request, so the API could not associate a user with the request.

403

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.

404

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.

500

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.

POST /projects/{project_gid}/removeMembers
POST /projects/{project_gid}/saveAsTemplate

Creates and returns a job that will asynchronously handle the project template creation. Note that
while the resulting project template can be accessed with the API, it won’t be visible in the Asana
UI until Project Templates 2.0 is launched in the app. See more in this forum post.

operationId: Projects_createProjectTemplateJob

Parameters

Name In Required Type Description
project_gid path optional string

Globally unique identifier for the project.

opt_pretty query optional boolean

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.

opt_fields query optional array

This endpoint returns a compact 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.

Request Body

required

Describes the inputs used for creating a project template, such as the resulting project template’s name, which team it should be created in.

application/json
schema ProjectsCreateProjectTemplateJobRequest
Property Type Required
data object optional
name string required
team string optional
public boolean required
workspace string optional

Responses

201

Successfully created the job to handle project template creation.

400

This usually occurs because of a missing or malformed parameter. Check the documentation and the syntax of your request and try again.

401

A valid authentication token was not provided with the request, so the API could not associate a user with the request.

403

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.

404

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.

500

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.

POST /projects/{project_gid}/saveAsTemplate
GET /projects/{project_gid}/task_counts

Get an object that holds task count fields. All fields are excluded by default. You must opt in using opt_fields to get any information from this endpoint.

This endpoint has an additional rate limit and each field counts especially high against our cost limits.

Milestones are just tasks, so they are included in the num_tasks, num_incomplete_tasks, and num_completed_tasks counts.

operationId: Projects_getTaskCounts

Parameters

Name In Required Type Description
project_gid path optional string

Globally unique identifier for the project.

opt_pretty query optional boolean

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.

opt_fields query optional array

This endpoint returns a compact 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.

Responses

200

Successfully retrieved the requested project’s task counts.

400

This usually occurs because of a missing or malformed parameter. Check the documentation and the syntax of your request and try again.

401

A valid authentication token was not provided with the request, so the API could not associate a user with the request.

403

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.

404

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.

500

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.

GET /projects/{project_gid}/task_counts
GET /tasks/{task_gid}/projects

Returns a compact representation of all of the projects the task is in.

operationId: Projects_taskProjectsList

Parameters

Name In Required Type Description
task_gid path optional string

The task to operate on.

opt_pretty query optional boolean

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.

limit query optional integer

Results per page.
The number of objects to return per page. The value must be between 1 and 100.

offset query optional string

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.

opt_fields query optional array

This endpoint returns a compact 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.

Responses

200

Successfully retrieved the projects for the given task.

400

This usually occurs because of a missing or malformed parameter. Check the documentation and the syntax of your request and try again.

401

A valid authentication token was not provided with the request, so the API could not associate a user with the request.

403

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.

404

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.

500

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.

GET /tasks/{task_gid}/projects
GET /teams/{team_gid}/projects

Returns the compact project records for all projects in the team.

operationId: Projects_getTeamProjects

Parameters

Name In Required Type Description
team_gid path optional string

Globally unique identifier for the team.

opt_pretty query optional boolean

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.

limit query optional integer

Results per page.
The number of objects to return per page. The value must be between 1 and 100.

offset query optional string

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.

archived query optional boolean

Only return projects whose archived field takes on the value of this parameter.

opt_fields query optional array

This endpoint returns a compact 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.

Responses

200

Successfully retrieved the requested team’s projects.

400

This usually occurs because of a missing or malformed parameter. Check the documentation and the syntax of your request and try again.

401

A valid authentication token was not provided with the request, so the API could not associate a user with the request.

403

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.

404

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.

500

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.

GET /teams/{team_gid}/projects
POST /teams/{team_gid}/projects

Creates a project shared with the given team.

Returns the full record of the newly created project.

operationId: Projects_createProjectForTeam

Parameters

Name In Required Type Description
team_gid path optional string

Globally unique identifier for the team.

opt_pretty query optional boolean

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.

opt_fields query optional array

This endpoint returns a compact 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.

Request Body

required

The new project to create.

application/json
schema ProjectsCreateProjectForTeamRequest
Property Type Required
data object optional
gid string optional
resource_type string optional
name string optional
color string optional
notes string optional
due_on string optional
public boolean optional
members array optional
gid string optional
resource_type string optional
name string optional
archived boolean optional
due_date string optional
start_on string optional
created_at string optional
html_notes string optional
modified_at string optional
default_view string optional
current_status object optional
gid string optional
resource_type string optional
title string optional
text string optional
color string optional
html_text string optional
author object optional
gid string optional
resource_type string optional
name string optional
created_at string optional
created_by object optional
gid string optional
resource_type string optional
name string optional
modified_at string optional
privacy_setting string optional
default_access_level string optional
current_status_update object optional
gid string optional
resource_type string optional
title string optional
resource_subtype string optional
custom_field_settings array optional
gid string optional
resource_type string optional
parent object optional
gid string optional
resource_type string optional
name string optional
project object optional
gid string optional
resource_type string optional
name string optional
custom_field object optional
gid string optional
resource_type string optional
name string optional
type string optional
enabled boolean optional
id_prefix string optional
date_value object optional
enum_value object optional
text_value string optional
enum_options array optional
number_value number optional
display_value string optional
is_formula_field boolean optional
resource_subtype string optional
multi_enum_values array optional
representation_type string optional
format string optional
precision integer optional
description string optional
custom_label string optional
…8 more object optional
is_important boolean optional
…7 more object optional

Responses

201

Successfully created the specified project.

400

This usually occurs because of a missing or malformed parameter. Check the documentation and the syntax of your request and try again.

401

A valid authentication token was not provided with the request, so the API could not associate a user with the request.

403

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.

404

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.

500

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.

POST /teams/{team_gid}/projects
GET /workspaces/{workspace_gid}/projects

Returns the compact project records for all projects in the workspace.
Note: This endpoint may timeout for large domains. Prefer the /teams/{team_gid}/projects endpoint.

operationId: Projects_getAllInWorkspace

Parameters

Name In Required Type Description
workspace_gid path optional string

Globally unique identifier for the workspace or organization.

opt_pretty query optional boolean

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.

limit query optional integer

Results per page.
The number of objects to return per page. The value must be between 1 and 100.

offset query optional string

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.

archived query optional boolean

Only return projects whose archived field takes on the value of this parameter.

opt_fields query optional array

This endpoint returns a compact 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.

Responses

200

Successfully retrieved the requested workspace’s projects.

400

This usually occurs because of a missing or malformed parameter. Check the documentation and the syntax of your request and try again.

401

A valid authentication token was not provided with the request, so the API could not associate a user with the request.

403

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.

404

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.

500

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.

GET /workspaces/{workspace_gid}/projects
POST /workspaces/{workspace_gid}/projects

Creates a project in the workspace.

If the workspace for your project is an organization, you must also
supply a team to share the project with.

Returns the full record of the newly created project.

operationId: Projects_createInWorkspace

Parameters

Name In Required Type Description
workspace_gid path optional string

Globally unique identifier for the workspace or organization.

opt_pretty query optional boolean

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.

opt_fields query optional array

This endpoint returns a compact 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.

Request Body

required

The new project to create.

application/json
schema ProjectsCreateInWorkspaceRequest
Property Type Required
data object optional
gid string optional
resource_type string optional
name string optional
color string optional
notes string optional
due_on string optional
public boolean optional
members array optional
gid string optional
resource_type string optional
name string optional
archived boolean optional
due_date string optional
start_on string optional
created_at string optional
html_notes string optional
modified_at string optional
default_view string optional
current_status object optional
gid string optional
resource_type string optional
title string optional
text string optional
color string optional
html_text string optional
author object optional
gid string optional
resource_type string optional
name string optional
created_at string optional
created_by object optional
gid string optional
resource_type string optional
name string optional
modified_at string optional
privacy_setting string optional
default_access_level string optional
current_status_update object optional
gid string optional
resource_type string optional
title string optional
resource_subtype string optional
custom_field_settings array optional
gid string optional
resource_type string optional
parent object optional
gid string optional
resource_type string optional
name string optional
project object optional
gid string optional
resource_type string optional
name string optional
custom_field object optional
gid string optional
resource_type string optional
name string optional
type string optional
enabled boolean optional
id_prefix string optional
date_value object optional
enum_value object optional
text_value string optional
enum_options array optional
number_value number optional
display_value string optional
is_formula_field boolean optional
resource_subtype string optional
multi_enum_values array optional
representation_type string optional
format string optional
precision integer optional
description string optional
custom_label string optional
…8 more object optional
is_important boolean optional
…7 more object optional

Responses

201

Successfully created a new project in the specified workspace.

400

This usually occurs because of a missing or malformed parameter. Check the documentation and the syntax of your request and try again.

401

A valid authentication token was not provided with the request, so the API could not associate a user with the request.

403

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.

404

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.

500

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.

POST /workspaces/{workspace_gid}/projects

Rules 1 endpoints

POST /rule_triggers/{rule_trigger_gid}/run

Trigger a rule which uses an “incoming web request” trigger.

operationId: Rules_triggerRuleRequest

Parameters

Name In Required Type Description
rule_trigger_gid path optional string

The ID of the incoming web request trigger. This value is a path parameter that is automatically generated for the API endpoint.

Request Body

required

A dictionary of variables accessible from within the rule.

application/json
schema RulesTriggerRuleRequestRequest
Property Type Required
data object optional
resource string required
action_data object required

Responses

200

Successfully triggered a rule.

400

This usually occurs because of a missing or malformed parameter. Check the documentation and the syntax of your request and try again.

401

A valid authentication token was not provided with the request, so the API could not associate a user with the request.

402

The request was valid, but the queried object or object mutation specified in the request is above your current premium level.

403

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.

404

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.

500

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.

POST /rule_triggers/{rule_trigger_gid}/run

Sections 5 endpoints

GET /projects/{project_gid}/sections

Returns the compact records for all sections in the specified project.

operationId: Sections_listProjectSections

Parameters

Name In Required Type Description
project_gid path optional string

Globally unique identifier for the project.

opt_pretty query optional boolean

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.

limit query optional integer

Results per page.
The number of objects to return per page. The value must be between 1 and 100.

offset query optional string

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.

opt_fields query optional array

This endpoint returns a compact 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.

Responses

200

Successfully retrieved sections in project.

400

This usually occurs because of a missing or malformed parameter. Check the documentation and the syntax of your request and try again.

401

A valid authentication token was not provided with the request, so the API could not associate a user with the request.

403

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.

404

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.

500

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.

GET /projects/{project_gid}/sections
POST /projects/{project_gid}/sections

Creates a new section in a project.
Returns the full record of the newly created section.

operationId: Sections_createNewSection

Parameters

Name In Required Type Description
project_gid path optional string

Globally unique identifier for the project.

opt_pretty query optional boolean

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.

opt_fields query optional array

This endpoint returns a compact 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.

Request Body

The section to create.

application/json
schema SectionsCreateNewSectionRequest
Property Type Required
data object optional
name string required
insert_after string optional
insert_before string optional

Responses

201

Successfully created the specified section.

400

This usually occurs because of a missing or malformed parameter. Check the documentation and the syntax of your request and try again.

401

A valid authentication token was not provided with the request, so the API could not associate a user with the request.

403

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.

404

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.

500

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.

POST /projects/{project_gid}/sections
POST /projects/{project_gid}/sections/insert

Move sections relative to each other. One of
before_section or after_section is required.

Sections cannot be moved between projects.

Returns an empty data block.

operationId: Sections_moveOrInsert

Parameters

Name In Required Type Description
project_gid path optional string

Globally unique identifier for the project.

opt_pretty query optional boolean

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.

Request Body

The section’s move action.

application/json
schema SectionsMoveOrInsertRequest
Property Type Required
data object optional
section string required
after_section string optional
before_section string optional

Responses

200

Successfully moved the specified section.

400

This usually occurs because of a missing or malformed parameter. Check the documentation and the syntax of your request and try again.

401

A valid authentication token was not provided with the request, so the API could not associate a user with the request.

403

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.

404

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.

500

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.

POST /projects/{project_gid}/sections/insert
DELETE /sections/{section_gid}

A specific, existing section can be deleted by making a DELETE request on
the URL for that section.

Note that sections must be empty to be deleted.

The last remaining section cannot be deleted.

Returns an empty data block.

operationId: Sections_deleteSection

Parameters

Name In Required Type Description
section_gid path optional string

The globally unique identifier for the section.

opt_pretty query optional boolean

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.

Responses

200

Successfully deleted the specified section.

400

This usually occurs because of a missing or malformed parameter. Check the documentation and the syntax of your request and try again.

401

A valid authentication token was not provided with the request, so the API could not associate a user with the request.

403

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.

404

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.

500

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.

DELETE /sections/{section_gid}
GET /sections/{section_gid}

Returns the complete record for a single section.

operationId: Sections_getRecord

Parameters

Name In Required Type Description
section_gid path optional string

The globally unique identifier for the section.

opt_pretty query optional boolean

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.

opt_fields query optional array

This endpoint returns a compact 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.

Responses

200

Successfully retrieved section.

400

This usually occurs because of a missing or malformed parameter. Check the documentation and the syntax of your request and try again.

401

A valid authentication token was not provided with the request, so the API could not associate a user with the request.

403

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.

404

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.

500

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.

GET /sections/{section_gid}
Load more endpoints