Copy Record
Create a copy of an existing record while preserving specific data elements.
Copy a Record
To create a copy of an existing record while maintaining specific elements, use the copyTodo mutation:
mutation CopyTodo {
copyTodo(
input: {
title: "new todo"
todoId: "todo-id"
todoListId: "todo-list-id"
options: [
DESCRIPTION
DUE_DATE
CHECKLISTS
ASSIGNEES
TAGS
CUSTOM_FIELDS
COMMENTS
]
}
)
}Required Headers
x-bloo-token-id: "your-token-id"
x-bloo-token-secret: "your-token-secret"
x-bloo-project-id: "project-id-or-slug"
x-bloo-company-id: "company-id-or-slug"Input Parameters
| Field | Type | Required | Description |
|---|---|---|---|
| title | String | No | New title for the copied record (optional) |
| todoId | String | Yes | ID of the record to copy |
| todoListId | String | Yes | ID of the list to create the copy in |
| options | Array | Yes | Data elements to copy from original record |
Copy Options
The options array accepts these values:
| Option | Description |
|---|---|
| DESCRIPTION | Copies the record’s description |
| DUE_DATE | Copies the due date and timezone |
| CHECKLISTS | Copies all checklists and their items |
| ASSIGNEES | Copies all assigned users (filtered by target project membership) |
| TAGS | Copies all associated tags |
| CUSTOM_FIELDS | Copies all custom field values (including file attachments) |
| COMMENTS | Copies all comments and replies |
Example Response
{
"data": {
"copyTodo": true
}
}The copied record will be placed at the bottom of the target list by default. To control positioning, use the move record mutation.
You need Edit permissions (OWNER, ADMIN, or MEMBER role) on both the source and target projects. Note: MEMBER role users can only copy records within the same project. Cross-project copying requires ADMIN or OWNER permissions. Failed copies will return a FORBIDDEN error code.
Error Handling
Common error codes for this operation:
TODO_NOT_FOUND: Invalid or inaccessible todoIdTODO_LIST_NOT_FOUND: Invalid or inaccessible todoListIdFORBIDDEN: Insufficient permissions or cross-project restriction
See Error Codes for complete reference.
Advanced Features
Cross-Project Copying
The mutation supports copying records between different projects with these considerations:
- OWNER/ADMIN: Can copy records across any projects they have access to
- MEMBER: Restricted to copying within the same project only
- Assignee Filtering: When copying across projects, assignees are automatically filtered to only include users who have access to the target project
Custom Field Handling
When using the CUSTOM_FIELDS option:
- All custom field values are copied to the new record
- File attachments in custom fields are properly duplicated with new storage references
- Custom field types are preserved and validated against the target project’s configuration
Automation Integration
Cross-project copies may trigger additional automation rules in both source and target projects, allowing for sophisticated workflow management across project boundaries.