Asana API Integration Profile
Information and guides about integrating with Asana API
Add Asana Integration to Your App- Get an attachment
Get the full record for a single attachment.
- Delete an attachment
Deletes a specific, existing attachment.
Returns an empty data record.
- Get attachments from an object
Returns the compact records for all attachments on the object.
There are three possible
parent
values for this request:project
,project_brief
, andtask
. For a project, an attachment refers to a file uploaded to the "Key resources" section in the project Overview. For a project brief, an attachment refers to inline files in the project brief itself. For a task, an attachment refers to a file directly associated to that task.Note that within the Asana app, inline images in the task description do not appear in the index of image thumbnails nor as stories in the task. However, requests made to
GET /attachments
for a task will return all of the images in the task, including inline images. - Upload an attachment
Upload an attachment.
This method uploads an attachment on an object and returns the compact record for the created attachment object. This is possible by either:
- Providing the URL of the external resource being attached, or
- Downloading the file content first and then uploading it as any other attachment. Note that it is not possible to attach files from third party services such as Dropbox, Box, Vimeo & Google Drive via the API
The 100MB size limit on attachments in Asana is enforced on this endpoint.
This endpoint expects a multipart/form-data encoded request containing the full contents of the file to be uploaded.
Requests made should follow the HTTP/1.1 specification that line terminators are of the form
CRLF
or\r\n
outlined here in order for the server to reliably and properly handle the request. - Get audit log events
Retrieve the audit log events that have been captured in your domain.
This endpoint will return a list of AuditLogEvent objects, sorted by creation time in ascending order. Note that the Audit Log API captures events from October 8th, 2021 and later. Queries for events before this date will not return results.
There are a number of query parameters (below) that can be used to filter the set of AuditLogEvent objects that are returned in the response. Any combination of query parameters is valid. When no filters are provided, all of the events that have been captured in your domain will match.
The list of events will always be paginated. The default limit is 1000 events. The next set of events can be retrieved using the
offset
from the previous response. If there are no events that match the provided filters in your domain, the endpoint will returnnull
for thenext_page
field. Querying again with the same filters may return new events if they were captured after the last request. Once a response includes anext_page
with anoffset
, subsequent requests can be made with the latestoffset
to poll for new events that match the provided filters.Note: If the filters you provided match events in your domain and
next_page
is present in the response, we will continue to sendnext_page
on subsequent requests even when there are no more events that match the filters. This was put in place so that you can implement an audit log stream that will return future events that match these filters. If you are not interested in future events that match the filters you have defined, you can rely on checking emptydata
response for the end of current events that match your filters.When no
offset
is provided, the response will begin with the oldest events that match the provided filters. It is important to note that AuditLogEvent objects will be permanently deleted from our systems after 90 days. If you wish to keep a permanent record of these events, we recommend using a SIEM tool to ingest and store these logs. - Submit parallel requests
Make multiple requests in parallel to Asana's API.