Skip to content

Get file metadata

Endpoint

GET /organizations/{org_id}/assets/{asset_id}

This endpoint retrieves metadata for a specific uploaded file (called an “asset” in Tallyfy’s API). It returns details like the filename, upload date, and which object the file is attached to.

Request

Replace {org_id} with your Organization ID and {asset_id} with the asset ID of the file you want metadata for.

Headers

  • Authorization: Bearer {your_access_token}
  • Accept: application/json
  • X-Tallyfy-Client: APIClient

Code samples

const accessToken = 'YOUR_PERSONAL_ACCESS_TOKEN';
const orgId = 'YOUR_ORGANIZATION_ID';
const assetId = 'ASSET_ID_TO_GET_METADATA';
const apiUrl = `https://go.tallyfy.com/api/organizations/${orgId}/assets/${assetId}`;
const headers = new Headers();
headers.append('Authorization', `Bearer ${accessToken}`);
headers.append('Accept', 'application/json');
headers.append('X-Tallyfy-Client', 'APIClient');
fetch(apiUrl, {
method: 'GET',
headers: headers
})
.then(response => {
if (!response.ok) {
return response.json()
.catch(() => response.text())
.then(errData => {
console.error(`Error response for asset ${assetId}:`, errData);
throw new Error(`HTTP error! status: ${response.status}`);
});
}
return response.json();
})
.then(data => {
console.log(`Metadata for asset ${assetId}:`);
console.log(JSON.stringify(data, null, 2));
})
.catch(error => {
console.error(`Error getting asset metadata ${assetId}:`, error.message);
});

Response

A successful request returns a 200 OK status and a JSON object with the asset metadata inside a data property.

{
"data": {
"id": "ASSET_ID_TO_GET_METADATA",
"filename": "report_q1.pdf",
"version": 1,
"uploaded_from": "capture_id_abc123",
"uploaded_at": "2024-03-15T10:30:00Z",
"step_id": "step_id_xyz789",
"source": "local",
"system": null,
"uploaded_to_s3": true,
"subject": {
"id": "run_id_or_checklist_id",
"type": "Run"
}
}
}

Key fields in the response:

FieldDescription
idUnique asset identifier
filenameOriginal filename of the uploaded file
versionVersion number of the asset
uploaded_fromForm field ID the file was uploaded from, or ko_field for kick-off fields
uploaded_atTimestamp when the file was uploaded
step_idStep ID if the file is attached to a task step (can be null)
sourceUpload source - defaults to local
systemExternal storage system if applicable (e.g., Dropbox, Google Drive)
uploaded_to_s3Whether the file was stored in S3
subjectObject containing the parent’s id and type (e.g., Run, Checklist, Organization)

If the asset ID isn’t found or you don’t have permission, you’ll get a 404 or 403 error.


Code Samples > Managing files

Tallyfy’s API provides endpoints to upload files up to 100MB and attach them to tasks or kick-off forms as well as download retrieve metadata for and permanently delete those file assets.

Files > Download file

Tallyfy’s API provides two GET endpoints for retrieving uploaded files: one that returns the file inline with its original MIME type for browser display and another with a /dl suffix that forces a download as an attachment with the original filename preserved in the Content-Disposition header.

Files > Upload & attach file

Tallyfy’s API requires a two-step process to attach files to form fields: first upload the file via a multipart POST to the /file endpoint to receive an asset object and then use a PUT request to link that asset object to the specific task or kick-off form field using the correct capture IDs and subject parameters.

Files > Delete file

Tallyfy’s API lets you permanently delete an uploaded file and its storage record by sending a DELETE request to the /file/ endpoint with your organization and asset IDs — though organization logos are protected from deletion and an alternative /assets/ endpoint only archives without removing the actual stored file.