All URIs are relative to https://app.asana.com/api/1.0
Method | HTTP request | Description |
---|---|---|
create_tag | POST /tags | Create a tag |
create_tag_for_workspace | POST /workspaces/{workspace_gid}/tags | Create a tag in a workspace |
delete_tag | DELETE /tags/{tag_gid} | Delete a tag |
get_tag | GET /tags/{tag_gid} | Get a tag |
get_tags | GET /tags | Get multiple tags |
get_tags_for_task | GET /tasks/{task_gid}/tags | Get a task's tags |
get_tags_for_workspace | GET /workspaces/{workspace_gid}/tags | Get tags in a workspace |
update_tag | PUT /tags/{tag_gid} | Update a tag |
Create a tag
Creates a new tag in a workspace or organization. Every tag 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. Returns the full record of the newly created tag.
import asana
from asana.rest import ApiException
from pprint import pprint
configuration = asana.Configuration()
configuration.access_token = '<YOUR_ACCESS_TOKEN>'
api_client = asana.ApiClient(configuration)
# create an instance of the API class
tags_api_instance = asana.TagsApi(api_client)
body = {"data": {"<PARAM_1>": "<VALUE_1>", "<PARAM_2>": "<VALUE_2>",}} # dict | The tag to create.
opts = {
'opt_fields': "color,created_at,followers,followers.name,name,notes,permalink_url,workspace,workspace.name", # list[str] | 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.
}
try:
# Create a tag
api_response = tags_api_instance.create_tag(body, opts)
pprint(api_response)
except ApiException as e:
print("Exception when calling TagsApi->create_tag: %s\n" % e)
Name | Type | Description | Notes |
---|---|---|---|
body | Dict | The tag to create. | |
opt_fields | Dict | 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. | [optional] |
dict
- Content-Type: application/json; charset=UTF-8
- Accept: application/json; charset=UTF-8
[Back to top] [Back to API list] [Back to README]
Create a tag in a workspace
Creates a new tag in a workspace or organization. Every tag 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. Returns the full record of the newly created tag.
import asana
from asana.rest import ApiException
from pprint import pprint
configuration = asana.Configuration()
configuration.access_token = '<YOUR_ACCESS_TOKEN>'
api_client = asana.ApiClient(configuration)
# create an instance of the API class
tags_api_instance = asana.TagsApi(api_client)
body = {"data": {"<PARAM_1>": "<VALUE_1>", "<PARAM_2>": "<VALUE_2>",}} # dict | The tag to create.
workspace_gid = "12345" # str | Globally unique identifier for the workspace or organization.
opts = {
'opt_fields': "color,created_at,followers,followers.name,name,notes,permalink_url,workspace,workspace.name", # list[str] | 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.
}
try:
# Create a tag in a workspace
api_response = tags_api_instance.create_tag_for_workspace(body, workspace_gid, opts)
pprint(api_response)
except ApiException as e:
print("Exception when calling TagsApi->create_tag_for_workspace: %s\n" % e)
Name | Type | Description | Notes |
---|---|---|---|
body | Dict | The tag to create. | |
workspace_gid | str | Globally unique identifier for the workspace or organization. | |
opt_fields | Dict | 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. | [optional] |
dict
- Content-Type: application/json; charset=UTF-8
- Accept: application/json; charset=UTF-8
[Back to top] [Back to API list] [Back to README]
Delete a tag
A specific, existing tag can be deleted by making a DELETE request on the URL for that tag. Returns an empty data record.
import asana
from asana.rest import ApiException
from pprint import pprint
configuration = asana.Configuration()
configuration.access_token = '<YOUR_ACCESS_TOKEN>'
api_client = asana.ApiClient(configuration)
# create an instance of the API class
tags_api_instance = asana.TagsApi(api_client)
tag_gid = "11235" # str | Globally unique identifier for the tag.
try:
# Delete a tag
api_response = tags_api_instance.delete_tag(tag_gid)
pprint(api_response)
except ApiException as e:
print("Exception when calling TagsApi->delete_tag: %s\n" % e)
Name | Type | Description | Notes |
---|---|---|---|
tag_gid | str | Globally unique identifier for the tag. |
dict
- Content-Type: Not defined
- Accept: application/json; charset=UTF-8
[Back to top] [Back to API list] [Back to README]
Get a tag
Returns the complete tag record for a single tag.
import asana
from asana.rest import ApiException
from pprint import pprint
configuration = asana.Configuration()
configuration.access_token = '<YOUR_ACCESS_TOKEN>'
api_client = asana.ApiClient(configuration)
# create an instance of the API class
tags_api_instance = asana.TagsApi(api_client)
tag_gid = "11235" # str | Globally unique identifier for the tag.
opts = {
'opt_fields': "color,created_at,followers,followers.name,name,notes,permalink_url,workspace,workspace.name", # list[str] | 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.
}
try:
# Get a tag
api_response = tags_api_instance.get_tag(tag_gid, opts)
pprint(api_response)
except ApiException as e:
print("Exception when calling TagsApi->get_tag: %s\n" % e)
Name | Type | Description | Notes |
---|---|---|---|
tag_gid | str | Globally unique identifier for the tag. | |
opt_fields | Dict | 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. | [optional] |
dict
- Content-Type: Not defined
- Accept: application/json; charset=UTF-8
[Back to top] [Back to API list] [Back to README]
Get multiple tags
Returns the compact tag records for some filtered set of tags. Use one or more of the parameters provided to filter the tags returned.
import asana
from asana.rest import ApiException
from pprint import pprint
configuration = asana.Configuration()
configuration.access_token = '<YOUR_ACCESS_TOKEN>'
api_client = asana.ApiClient(configuration)
# create an instance of the API class
tags_api_instance = asana.TagsApi(api_client)
opts = {
'limit': 50, # int | Results per page. The number of objects to return per page. The value must be between 1 and 100.
'offset': "eyJ0eXAiOJiKV1iQLCJhbGciOiJIUzI1NiJ9", # str | 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': "1331", # str | The workspace to filter tags on.
'opt_fields': "color,created_at,followers,followers.name,name,notes,offset,path,permalink_url,uri,workspace,workspace.name", # list[str] | 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.
}
try:
# Get multiple tags
api_response = tags_api_instance.get_tags(opts)
for data in api_response:
pprint(data)
except ApiException as e:
print("Exception when calling TagsApi->get_tags: %s\n" % e)
Name | Type | Description | Notes |
---|---|---|---|
limit | int | Results per page. The number of objects to return per page. The value must be between 1 and 100. | [optional] |
offset | str | 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. | [optional] |
workspace | str | The workspace to filter tags on. | [optional] |
opt_fields | Dict | 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. | [optional] |
generator
- Content-Type: Not defined
- Accept: application/json; charset=UTF-8
[Back to top] [Back to API list] [Back to README]
Get a task's tags
Get a compact representation of all of the tags the task has.
import asana
from asana.rest import ApiException
from pprint import pprint
configuration = asana.Configuration()
configuration.access_token = '<YOUR_ACCESS_TOKEN>'
api_client = asana.ApiClient(configuration)
# create an instance of the API class
tags_api_instance = asana.TagsApi(api_client)
task_gid = "321654" # str | The task to operate on.
opts = {
'limit': 50, # int | Results per page. The number of objects to return per page. The value must be between 1 and 100.
'offset': "eyJ0eXAiOJiKV1iQLCJhbGciOiJIUzI1NiJ9", # str | 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': "color,created_at,followers,followers.name,name,notes,offset,path,permalink_url,uri,workspace,workspace.name", # list[str] | 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.
}
try:
# Get a task's tags
api_response = tags_api_instance.get_tags_for_task(task_gid, opts)
for data in api_response:
pprint(data)
except ApiException as e:
print("Exception when calling TagsApi->get_tags_for_task: %s\n" % e)
Name | Type | Description | Notes |
---|---|---|---|
task_gid | str | The task to operate on. | |
limit | int | Results per page. The number of objects to return per page. The value must be between 1 and 100. | [optional] |
offset | str | 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. | [optional] |
opt_fields | Dict | 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. | [optional] |
generator
- Content-Type: Not defined
- Accept: application/json; charset=UTF-8
[Back to top] [Back to API list] [Back to README]
Get tags in a workspace
Returns the compact tag records for some filtered set of tags. Use one or more of the parameters provided to filter the tags returned.
import asana
from asana.rest import ApiException
from pprint import pprint
configuration = asana.Configuration()
configuration.access_token = '<YOUR_ACCESS_TOKEN>'
api_client = asana.ApiClient(configuration)
# create an instance of the API class
tags_api_instance = asana.TagsApi(api_client)
workspace_gid = "12345" # str | Globally unique identifier for the workspace or organization.
opts = {
'limit': 50, # int | Results per page. The number of objects to return per page. The value must be between 1 and 100.
'offset': "eyJ0eXAiOJiKV1iQLCJhbGciOiJIUzI1NiJ9", # str | 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': "color,created_at,followers,followers.name,name,notes,offset,path,permalink_url,uri,workspace,workspace.name", # list[str] | 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.
}
try:
# Get tags in a workspace
api_response = tags_api_instance.get_tags_for_workspace(workspace_gid, opts)
for data in api_response:
pprint(data)
except ApiException as e:
print("Exception when calling TagsApi->get_tags_for_workspace: %s\n" % e)
Name | Type | Description | Notes |
---|---|---|---|
workspace_gid | str | Globally unique identifier for the workspace or organization. | |
limit | int | Results per page. The number of objects to return per page. The value must be between 1 and 100. | [optional] |
offset | str | 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. | [optional] |
opt_fields | Dict | 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. | [optional] |
generator
- Content-Type: Not defined
- Accept: application/json; charset=UTF-8
[Back to top] [Back to API list] [Back to README]
Update a tag
Updates the properties of a tag. 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 tag. Returns the complete updated tag record.
import asana
from asana.rest import ApiException
from pprint import pprint
configuration = asana.Configuration()
configuration.access_token = '<YOUR_ACCESS_TOKEN>'
api_client = asana.ApiClient(configuration)
# create an instance of the API class
tags_api_instance = asana.TagsApi(api_client)
tag_gid = "11235" # str | Globally unique identifier for the tag.
opts = {
'opt_fields': "color,created_at,followers,followers.name,name,notes,permalink_url,workspace,workspace.name", # list[str] | 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.
}
try:
# Update a tag
api_response = tags_api_instance.update_tag(tag_gid, opts)
pprint(api_response)
except ApiException as e:
print("Exception when calling TagsApi->update_tag: %s\n" % e)
Name | Type | Description | Notes |
---|---|---|---|
tag_gid | str | Globally unique identifier for the tag. | |
opt_fields | Dict | 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. | [optional] |
dict
- Content-Type: Not defined
- Accept: application/json; charset=UTF-8