curl --location --request POST 'https://api.wordsmith.ai/api/v1/tasks/9f8e7d6c-5b4a-3210-9876-543210fedcba/files' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"file_ids": [
"7c9e6679-7425-40de-944b-e07fc1f90ae7"
]
}'
const response = await fetch("https://api.wordsmith.ai/api/v1/tasks/9f8e7d6c-5b4a-3210-9876-543210fedcba/files", {
method: "POST",
headers: {
Authorization: "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
"file_ids": [
"7c9e6679-7425-40de-944b-e07fc1f90ae7"
]
}),
});
const data = await response.json();
console.log(data);
import requests
url = "https://api.wordsmith.ai/api/v1/tasks/9f8e7d6c-5b4a-3210-9876-543210fedcba/files"
headers = {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
}
payload = {
"file_ids": [
"7c9e6679-7425-40de-944b-e07fc1f90ae7"
]
}
response = requests.post(url, headers=headers, json=payload)
print(response.json())
{
"id": "9f8e7d6c-5b4a-3210-9876-543210fedcba",
"display_id": "#12",
"task_number": 12,
"title": "Review the Acme NDA",
"description": "Check the indemnity and termination clauses.",
"additional_context": "Counterparty has pushed back twice on liability caps.",
"status": "in_progress",
"priority": "high",
"team": {
"id": "1a2b3c4d-5e6f-7081-9200-aabbccddeeff",
"name": "Legal"
},
"creator": {
"id": "11111111-2222-3333-4444-555555555555",
"name": "Jane Doe",
"email": "jane@example.com"
},
"assigned_to": {
"id": "11111111-2222-3333-4444-555555555555",
"name": "Jane Doe",
"email": "jane@example.com"
},
"assigned_agent": null,
"assigned_team": null,
"matter": null,
"complete_by": "2026-01-01T00:00:00Z",
"tags": [
"nda",
"urgent"
],
"visibility": "customer",
"archived": false,
"draft": false,
"involved_people": [
{
"id": "11111111-2222-3333-4444-555555555555",
"name": "Jane Doe",
"email": "jane@example.com",
"role": "assignee",
"access_level": "write"
}
],
"shared_teams": [],
"linked_items": [],
"input_files": [],
"output_files": [],
"created_at": "2025-12-31T00:00:00Z",
"updated_at": "2025-12-31T01:00:00Z"
}
Tasks
Attach Files
Attach uploaded files to a task.
POST
/
api
/
v1
/
tasks
/
{task_id}
/
files
curl --location --request POST 'https://api.wordsmith.ai/api/v1/tasks/9f8e7d6c-5b4a-3210-9876-543210fedcba/files' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"file_ids": [
"7c9e6679-7425-40de-944b-e07fc1f90ae7"
]
}'
const response = await fetch("https://api.wordsmith.ai/api/v1/tasks/9f8e7d6c-5b4a-3210-9876-543210fedcba/files", {
method: "POST",
headers: {
Authorization: "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
"file_ids": [
"7c9e6679-7425-40de-944b-e07fc1f90ae7"
]
}),
});
const data = await response.json();
console.log(data);
import requests
url = "https://api.wordsmith.ai/api/v1/tasks/9f8e7d6c-5b4a-3210-9876-543210fedcba/files"
headers = {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
}
payload = {
"file_ids": [
"7c9e6679-7425-40de-944b-e07fc1f90ae7"
]
}
response = requests.post(url, headers=headers, json=payload)
print(response.json())
{
"id": "9f8e7d6c-5b4a-3210-9876-543210fedcba",
"display_id": "#12",
"task_number": 12,
"title": "Review the Acme NDA",
"description": "Check the indemnity and termination clauses.",
"additional_context": "Counterparty has pushed back twice on liability caps.",
"status": "in_progress",
"priority": "high",
"team": {
"id": "1a2b3c4d-5e6f-7081-9200-aabbccddeeff",
"name": "Legal"
},
"creator": {
"id": "11111111-2222-3333-4444-555555555555",
"name": "Jane Doe",
"email": "jane@example.com"
},
"assigned_to": {
"id": "11111111-2222-3333-4444-555555555555",
"name": "Jane Doe",
"email": "jane@example.com"
},
"assigned_agent": null,
"assigned_team": null,
"matter": null,
"complete_by": "2026-01-01T00:00:00Z",
"tags": [
"nda",
"urgent"
],
"visibility": "customer",
"archived": false,
"draft": false,
"involved_people": [
{
"id": "11111111-2222-3333-4444-555555555555",
"name": "Jane Doe",
"email": "jane@example.com",
"role": "assignee",
"access_level": "write"
}
],
"shared_teams": [],
"linked_items": [],
"input_files": [],
"output_files": [],
"created_at": "2025-12-31T00:00:00Z",
"updated_at": "2025-12-31T01:00:00Z"
}
Upload the file first with the file upload endpoint, then attach it by id. Returns the updated task.
Body parameters
array
required
File ids from the file upload endpoint.
curl --location --request POST 'https://api.wordsmith.ai/api/v1/tasks/9f8e7d6c-5b4a-3210-9876-543210fedcba/files' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"file_ids": [
"7c9e6679-7425-40de-944b-e07fc1f90ae7"
]
}'
const response = await fetch("https://api.wordsmith.ai/api/v1/tasks/9f8e7d6c-5b4a-3210-9876-543210fedcba/files", {
method: "POST",
headers: {
Authorization: "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
"file_ids": [
"7c9e6679-7425-40de-944b-e07fc1f90ae7"
]
}),
});
const data = await response.json();
console.log(data);
import requests
url = "https://api.wordsmith.ai/api/v1/tasks/9f8e7d6c-5b4a-3210-9876-543210fedcba/files"
headers = {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
}
payload = {
"file_ids": [
"7c9e6679-7425-40de-944b-e07fc1f90ae7"
]
}
response = requests.post(url, headers=headers, json=payload)
print(response.json())
{
"id": "9f8e7d6c-5b4a-3210-9876-543210fedcba",
"display_id": "#12",
"task_number": 12,
"title": "Review the Acme NDA",
"description": "Check the indemnity and termination clauses.",
"additional_context": "Counterparty has pushed back twice on liability caps.",
"status": "in_progress",
"priority": "high",
"team": {
"id": "1a2b3c4d-5e6f-7081-9200-aabbccddeeff",
"name": "Legal"
},
"creator": {
"id": "11111111-2222-3333-4444-555555555555",
"name": "Jane Doe",
"email": "jane@example.com"
},
"assigned_to": {
"id": "11111111-2222-3333-4444-555555555555",
"name": "Jane Doe",
"email": "jane@example.com"
},
"assigned_agent": null,
"assigned_team": null,
"matter": null,
"complete_by": "2026-01-01T00:00:00Z",
"tags": [
"nda",
"urgent"
],
"visibility": "customer",
"archived": false,
"draft": false,
"involved_people": [
{
"id": "11111111-2222-3333-4444-555555555555",
"name": "Jane Doe",
"email": "jane@example.com",
"role": "assignee",
"access_level": "write"
}
],
"shared_teams": [],
"linked_items": [],
"input_files": [],
"output_files": [],
"created_at": "2025-12-31T00:00:00Z",
"updated_at": "2025-12-31T01:00:00Z"
}
⌘I