Teammemberships 4 endpoints

GET /team_memberships

Returns compact team membership records.

operationId: TeamMemberships_getCompactRecords

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.

team query optional string

Globally unique identifier for the team.

user query optional string

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

workspace query optional string

Globally unique identifier for the workspace. This parameter must be used with the user 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 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 /team_memberships
GET /team_memberships/{team_membership_gid}

Returns the complete team membership record for a single team membership.

operationId: TeamMemberships_getRecordById

Parameters

Name In Required Type Description
team_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 team 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 /team_memberships/{team_membership_gid}
GET /teams/{team_gid}/team_memberships

Returns the compact team memberships for the team.

operationId: TeamMemberships_getCompact

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 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 /teams/{team_gid}/team_memberships
GET /users/{user_gid}/team_memberships

Returns the compact team membership records for the user.

operationId: TeamMemberships_getUserCompact

Parameters

Name In Required Type Description
user_gid path 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.

workspace query required string

Globally unique identifier for the workspace.

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 users’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 /users/{user_gid}/team_memberships

Teams 7 endpoints

POST /teams

Creates a team within the current workspace.

operationId: Teams_createTeamRecord

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 team to create.

application/json
schema TeamsCreateTeamRecordRequest
Property Type Required
data object optional
gid string optional
resource_type string optional
name string optional
visibility string optional
description string optional
organization string optional
html_description string optional
team_member_removal_access_level string optional
guest_invite_management_access_level string optional
join_request_management_access_level string optional
member_invite_management_access_level string optional
edit_team_name_or_description_access_level string optional
edit_team_visibility_or_trash_team_access_level string optional

Responses

201

Successfully created a new team.

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
GET /teams/{team_gid}

Returns the full record for a single team.

operationId: Teams_getTeamRecord

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.

Responses

200

Successfully retrieved the record for a single team.

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}
PUT /teams/{team_gid}

Updates a team within the current workspace.

operationId: Teams_updateTeamRecord

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 team to update.

application/json
schema TeamsUpdateTeamRecordRequest
Property Type Required
data object optional
gid string optional
resource_type string optional
name string optional
visibility string optional
description string optional
organization string optional
html_description string optional
team_member_removal_access_level string optional
guest_invite_management_access_level string optional
join_request_management_access_level string optional
member_invite_management_access_level string optional
edit_team_name_or_description_access_level string optional
edit_team_visibility_or_trash_team_access_level string optional

Responses

200

Successfully updated the team.

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 /teams/{team_gid}
POST /teams/{team_gid}/addUser

The user making this call must be a member of the team in order to add others. The user being added must exist in the same organization as the team.

Returns the complete team membership record for the newly added user.

operationId: Teams_addUserToTeam

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 user to add to the team.

application/json
schema TeamsAddUserToTeamRequest
Property Type Required
data object optional
user string optional

Responses

200

Successfully added user to the team.

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}/addUser
POST /teams/{team_gid}/removeUser

The user making this call must be a member of the team in order to remove themselves or others.

operationId: Teams_removeUserFromTeam

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.

Request Body

required

The user to remove from the team.

application/json
schema TeamsRemoveUserFromTeamRequest
Property Type Required
data object optional
user string optional

Responses

204

Returns an empty data record

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}/removeUser
GET /users/{user_gid}/teams

Returns the compact records for all teams to which the given user is assigned.

operationId: Teams_getUserTeams

Parameters

Name In Required Type Description
user_gid path 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.

organization query required string

The workspace or organization to filter teams on.

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

Returns the team records for all teams in the organization or workspace to which the given user is assigned.

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 /users/{user_gid}/teams
GET /workspaces/{workspace_gid}/teams

Returns the compact records for all teams in the workspace visible to the authorized user.

operationId: Teams_listWorkspaceTeams

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.

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

Returns the team records for all teams in the organization or workspace accessible to the authenticated user.

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}/teams

Timeperiods 2 endpoints

GET /time_periods

Returns compact time period records.

operationId: TimePeriods_getCompactTimePeriods

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.

start_on query optional string

ISO 8601 date string

end_on query optional string

ISO 8601 date string

workspace query required string

Globally unique identifier for the workspace.

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 time periods.

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 /time_periods
GET /time_periods/{time_period_gid}

Returns the full record for a single time period.

operationId: TimePeriods_getFullRecord

Parameters

Name In Required Type Description
time_period_gid path optional string

Globally unique identifier for the time period.

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 single time period.

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 /time_periods/{time_period_gid}

Timetrackingentries 5 endpoints

GET /tasks/{task_gid}/time_tracking_entries

Returns time tracking entries for a given task.

operationId: TimeTrackingEntries_getForTask

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 requested time tracking entries.

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}/time_tracking_entries
POST /tasks/{task_gid}/time_tracking_entries

Creates a time tracking entry on a given task.

Returns the record of the newly created time tracking entry.

operationId: TimeTrackingEntries_createNewTimeEntryRecord

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.

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 time tracking entry.

application/json
schema TimeTrackingEntriesCreateNewTimeEntryRecordRequest
Property Type Required
data object optional
entered_on string optional
duration_minutes integer optional

Responses

201

Successfully created a time tracking entry for the 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.

POST /tasks/{task_gid}/time_tracking_entries
DELETE /time_tracking_entries/{time_tracking_entry_gid}

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

Returns an empty data record.

operationId: TimeTrackingEntries_deleteTimeEntry

Parameters

Name In Required Type Description
time_tracking_entry_gid path optional string

Globally unique identifier for the time tracking entry.

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 time tracking entry.

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 /time_tracking_entries/{time_tracking_entry_gid}
GET /time_tracking_entries/{time_tracking_entry_gid}

Returns the complete time tracking entry record for a single time tracking entry.

operationId: TimeTrackingEntries_getRecord

Parameters

Name In Required Type Description
time_tracking_entry_gid path optional string

Globally unique identifier for the time tracking entry.

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 time tracking entry.

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 /time_tracking_entries/{time_tracking_entry_gid}
PUT /time_tracking_entries/{time_tracking_entry_gid}

A specific, existing time tracking entry can be updated by making a PUT request on
the URL for that time tracking entry. 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 time tracking entry record.

operationId: TimeTrackingEntries_updateTimeTrackingEntry

Parameters

Name In Required Type Description
time_tracking_entry_gid path optional string

Globally unique identifier for the time tracking entry.

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 time tracking entry.

application/json
schema TimeTrackingEntriesUpdateTimeTrackingEntryRequest
Property Type Required
data object optional
entered_on string optional
duration_minutes integer optional

Responses

200

Successfully updated the time tracking entry.

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 /time_tracking_entries/{time_tracking_entry_gid}

Typeahead 1 endpoints

GET /workspaces/{workspace_gid}/typeahead

Retrieves objects in the workspace based via an auto-completion/typeahead
search algorithm. This feature is meant to provide results quickly, so do
not rely on this API to provide extremely accurate search results. The
result set is limited to a single page of results with a maximum size, so
you won’t be able to fetch large numbers of results.

The typeahead search API provides search for objects from a single
workspace. This endpoint should be used to query for objects when
creating an auto-completion/typeahead search feature. This API is meant
to provide results quickly and should not be relied upon for accurate or
exhaustive search results. The results sets are limited in size and
cannot be paginated.

Queries return a compact representation of each object which is typically
the gid and name fields. Interested in a specific set of fields or all of
the fields?! Of course you are. Use field selectors to manipulate what
data is included in a response.

Resources with type user are returned in order of most contacted to
least contacted. This is determined by task assignments, adding the user
to projects, and adding the user as a follower to tasks, messages,
etc.

Resources with type project are returned in order of recency. This is
determined when the user visits the project, is added to the project, and
completes tasks in the project.

Resources with type task are returned with priority placed on tasks
the user is following, but no guarantee on the order of those tasks.

Resources with type project_template are returned with priority
placed on favorited project templates.

Leaving the query string empty or omitted will give you results, still
following the resource ordering above. This could be used to list users or
projects that are relevant for the requesting user’s api token.

operationId: Typeahead_getResults

Parameters

Name In Required Type Description
workspace_gid path optional string

Globally unique identifier for the workspace or organization.

resource_type query required string

The type of values the typeahead should return. You can choose from one of the following: custom_field, goal, project, project_template, portfolio, tag, task, team, and user. Note that unlike in the names of endpoints, the types listed here are in singular form (e.g. task). Using multiple types is not yet supported.

type query optional string

Deprecated: new integrations should prefer the resource_type field.

query query optional string

The string that will be used to search for relevant objects. If an empty string is passed in, the API will return results.

count query optional integer

The number of results to return. The default is 20 if this parameter is omitted, with a minimum of 1 and a maximum of 100. If there are fewer results found than requested, all will be returned.

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 objects via a typeahead search algorithm.

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}/typeahead

Usertasklists 2 endpoints

GET /user_task_lists/{user_task_list_gid}

Returns the full record for a user task list.

operationId: UserTaskLists_getRecord

Parameters

Name In Required Type Description
user_task_list_gid path optional string

Globally unique identifier for the user task list.

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 user task list.

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 /user_task_lists/{user_task_list_gid}
GET /users/{user_gid}/user_task_list

Returns the full record for a user’s task list.

operationId: UserTaskLists_getUserTaskList

Parameters

Name In Required Type Description
user_gid path 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.

workspace query required string

The workspace in which to get the user task list.

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 user’s task list.

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 /users/{user_gid}/user_task_list

Users 5 endpoints

GET /teams/{team_gid}/users

Returns the compact records for all users that are members of the team.
Results are sorted alphabetically and limited to 2000. For more results use the /users endpoint.

operationId: Users_listTeamUsers

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.

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

Returns the user records for all the members of the team, including guests and limited access users

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}/users
GET /users

Returns the user records for all users in all workspaces and organizations accessible to the authenticated user. Accepts an optional workspace ID parameter.
Results are sorted by user ID.

operationId: Users_listMultipleUsers

Parameters

Name In Required Type Description
workspace query optional string

The workspace or organization ID to filter users on.

team query optional string

The team ID to filter users 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

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 /users
GET /users/{user_gid}

Returns the full user record for the single user with the provided ID.

operationId: Users_getUserRecord

Parameters

Name In Required Type Description
user_gid path 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.

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

Returns the user specified.

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 /users/{user_gid}
GET /users/{user_gid}/favorites

Returns all of a user’s favorites in the given workspace, of the given type.
Results are given in order (The same order as Asana’s sidebar).

operationId: Users_getFavoritesForUser

Parameters

Name In Required Type Description
user_gid path 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.

resource_type query required string

The resource type of favorites to be returned.

workspace query required string

The workspace in which to get favorites.

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

Returns the specified user’s favorites.

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 /users/{user_gid}/favorites
GET /workspaces/{workspace_gid}/users

Returns the compact records for all users in the specified workspace or organization.
Results are sorted alphabetically and limited to 2000. For more results use the /users endpoint.

operationId: Users_listWorkspaceUsers

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.

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

Return the users in the specified workspace or org.

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}/users

Webhooks 5 endpoints

GET /webhooks

Get the compact representation of all webhooks your app has registered for the authenticated user in the given workspace.

operationId: Webhooks_listMultipleWebhooks

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 required string

The workspace to query for webhooks in.

resource query optional string

Only return webhooks for the given resource.

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 webhooks.

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 /webhooks
POST /webhooks

Establishing a webhook is a two-part process. First, a simple HTTP POST
request initiates the creation similar to creating any other resource.

Next, in the middle of this request comes the confirmation handshake.
When a webhook is created, we will send a test POST to the target with an
X-Hook-Secret header. The target must respond with a 200 OK or 204 No Content and a matching X-Hook-Secret header to confirm that this
webhook subscription is indeed expected. We strongly recommend storing
this secret to be used to verify future webhook event signatures.

The POST request to create the webhook will then return with the status
of the request. If you do not acknowledge the webhook’s confirmation
handshake it will fail to setup, and you will receive an error in
response to your attempt to create it. This means you need to be able to
receive and complete the webhook while the POST request is in-flight
(in other words, have a server that can handle requests asynchronously).

Invalid hostnames like localhost will recieve a 403 Forbidden status code.

# Request
curl -H "Authorization: Bearer <personal_access_token>" \
-X POST https://app.asana.com/api/1.0/webhooks \
-d "resource=8675309" \
-d "target=https://example.com/receive-webhook/7654"
# Handshake sent to https://example.com/
POST /receive-webhook/7654
X-Hook-Secret: b537207f20cbfa02357cf448134da559e8bd39d61597dcd5631b8012eae53e81
# Handshake response sent by example.com
HTTP/1.1 200
X-Hook-Secret: b537207f20cbfa02357cf448134da559e8bd39d61597dcd5631b8012eae53e81
# Response
HTTP/1.1 201
{
  "data": {
    "gid": "43214",
    "resource": {
      "gid": "8675309",
      "name": "Bugs"
    },
    "target": "https://example.com/receive-webhook/7654",
    "active": false,
    "last_success_at": null,
    "last_failure_at": null,
    "last_failure_content": null
  }
}
operationId: Webhooks_establishWebhook

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 webhook workspace and target.

application/json
schema WebhooksEstablishWebhookRequest
Property Type Required
data object optional
target string required
filters array optional
action string optional
fields array optional
resource_type string optional
resource_subtype string optional
resource string required

Responses

201

Successfully created the requested webhook.

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 /webhooks
DELETE /webhooks/{webhook_gid}

This method permanently removes a webhook. Note that it may be possible to receive a request that was already in flight after deleting the webhook, but no further requests will be issued.

operationId: Webhooks_removeWebhook

Parameters

Name In Required Type Description
webhook_gid path optional string

Globally unique identifier for the webhook.

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 retrieved the requested webhook.

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 /webhooks/{webhook_gid}
GET /webhooks/{webhook_gid}

Returns the full record for the given webhook.

operationId: Webhooks_getWebhookRecord

Parameters

Name In Required Type Description
webhook_gid path optional string

Globally unique identifier for the webhook.

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 webhook.

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 /webhooks/{webhook_gid}
PUT /webhooks/{webhook_gid}

An existing webhook’s filters can be updated by making a PUT request on the URL for that webhook. Note that the webhook’s previous filters array will be completely overwritten by the filters sent in the PUT request.

operationId: Webhooks_updateWebhookFilters

Parameters

Name In Required Type Description
webhook_gid path optional string

Globally unique identifier for the webhook.

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 filters for the webhook.

application/json
schema WebhooksUpdateWebhookFiltersRequest
Property Type Required
data object optional
filters array optional
action string optional
fields array optional
resource_type string optional
resource_subtype string optional

Responses

200

Successfully updated the webhook.

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 /webhooks/{webhook_gid}

Workspacememberships 3 endpoints

GET /users/{user_gid}/workspace_memberships

Returns the compact workspace membership records for the user.

operationId: WorkspaceMemberships_getUserMemberships

Parameters

Name In Required Type Description
user_gid path 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 user’s workspace 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 /users/{user_gid}/workspace_memberships
GET /workspace_memberships/{workspace_membership_gid}

Returns the complete workspace record for a single workspace membership.

operationId: WorkspaceMemberships_getRecordById

Parameters

Name In Required Type Description
workspace_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 workspace 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 /workspace_memberships/{workspace_membership_gid}
GET /workspaces/{workspace_gid}/workspace_memberships

Returns the compact workspace membership records for the workspace.

operationId: WorkspaceMemberships_listForWorkspace

Parameters

Name In Required Type Description
workspace_gid path optional string

Globally unique identifier for the workspace or organization.

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 workspace’s memberships.

GET /workspaces/{workspace_gid}/workspace_memberships

Workspaces 5 endpoints

GET /workspaces

Returns the compact records for all workspaces visible to the authorized user.

operationId: Workspaces_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.

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

Return all workspaces visible to the authorized user.

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
GET /workspaces/{workspace_gid}

Returns the full workspace record for a single workspace.

operationId: Workspaces_getWorkspaceRecord

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.

Responses

200

Return the full workspace record.

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}
PUT /workspaces/{workspace_gid}

A specific, existing workspace can be updated by making a PUT request on the URL for that workspace. Only the fields provided in the data block will be updated; any unspecified fields will remain unchanged.
Currently the only field that can be modified for a workspace is its name.
Returns the complete, updated workspace record.

operationId: Workspaces_updateWorkspaceRecord

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 workspace object with all updated properties.

application/json
schema WorkspacesUpdateWorkspaceRecordRequest
Property Type Required
data object optional
gid string optional
resource_type string optional
name string optional

Responses

200

Update for the workspace was successful.

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 /workspaces/{workspace_gid}
POST /workspaces/{workspace_gid}/addUser

Add a user to a workspace or organization.
The user can be referenced by their globally unique user ID or their email address. Returns the full user record for the invited user.

operationId: Workspaces_addUserToWorkspace

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 user to add to the workspace.

application/json
schema WorkspacesAddUserToWorkspaceRequest
Property Type Required
data object optional
user string optional

Responses

200

The user was added successfully to the workspace or organization.

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}/addUser
POST /workspaces/{workspace_gid}/removeUser

Remove a user from a workspace or organization.
The user making this call must be an admin in the workspace. The user can be referenced by their globally unique user ID or their email address.
Returns an empty data record.

operationId: Workspaces_removeUserFromWorkspace

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.

Request Body

required

The user to remove from the workspace.

application/json
schema WorkspacesRemoveUserFromWorkspaceRequest
Property Type Required
data object optional
user string optional

Responses

204

The user was removed successfully to the workspace or organization.

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}/removeUser