Link Entities to Project
const options = {
method: 'POST',
headers: {
'x-api-key': '<x-api-key>',
'x-organization-id': '<x-organization-id>',
'Content-Type': 'application/json'
},
body: JSON.stringify({entity_type: '<string>', entity_ids: {}})
};
fetch('https://api.dcycle.io/v1/projects/{project_id}/entities/link', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.dcycle.io/v1/projects/{project_id}/entities/link"
payload = {
"entity_type": "<string>",
"entity_ids": {}
}
headers = {
"x-api-key": "<x-api-key>",
"x-organization-id": "<x-organization-id>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)curl --request POST \
--url https://api.dcycle.io/v1/projects/{project_id}/entities/link \
--header 'Content-Type: application/json' \
--header 'x-api-key: <x-api-key>' \
--header 'x-organization-id: <x-organization-id>' \
--data '
{
"entity_type": "<string>",
"entity_ids": {}
}
'{
"created": 123,
"skipped": 123
}Link Entities to Project
Link up to 100 entities by ID to a project
POST
/
v1
/
projects
/
{project_id}
/
entities
/
link
Link Entities to Project
const options = {
method: 'POST',
headers: {
'x-api-key': '<x-api-key>',
'x-organization-id': '<x-organization-id>',
'Content-Type': 'application/json'
},
body: JSON.stringify({entity_type: '<string>', entity_ids: {}})
};
fetch('https://api.dcycle.io/v1/projects/{project_id}/entities/link', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.dcycle.io/v1/projects/{project_id}/entities/link"
payload = {
"entity_type": "<string>",
"entity_ids": {}
}
headers = {
"x-api-key": "<x-api-key>",
"x-organization-id": "<x-organization-id>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)curl --request POST \
--url https://api.dcycle.io/v1/projects/{project_id}/entities/link \
--header 'Content-Type: application/json' \
--header 'x-api-key: <x-api-key>' \
--header 'x-organization-id: <x-organization-id>' \
--data '
{
"entity_type": "<string>",
"entity_ids": {}
}
'{
"created": 123,
"skipped": 123
}Link Entities to Project
Link a batch of entities (by ID) to a project. Entities already linked are silently skipped — safe to call repeatedly with the same IDs.New API: This endpoint is part of the new API architecture.
Request
Headers
string
required
Your API key for authenticationExample:
sk_live_1234567890abcdefstring
required
Your organization UUIDExample:
a8315ef3-dd50-43f8-b7ce-d839e68d51faPath Parameters
string
required
The UUID of the project to link entities toExample:
b7f2a1c3-4d5e-6f7a-8b9c-0d1e2f3a4b5cBody Parameters
string
required
The type of entities being linked.Available values:
logistic_requests, logistic_recharges, logistic_packages, invoices, file_readingsarray[string]
required
List of entity UUIDs to link. Minimum 1, maximum 100 per request.Example:
["550e8400-e29b-41d4-a716-446655440000", "660e8400-e29b-41d4-a716-446655440001"]Response
integer
Number of new links created
integer
Number of entities that were already linked (skipped)
Example
curl -X POST "https://api.dcycle.io/v1/projects/b7f2a1c3-4d5e-6f7a-8b9c-0d1e2f3a4b5c/entities/link" \
-H "x-api-key: ${DCYCLE_API_KEY}" \
-H "x-organization-id: ${DCYCLE_ORG_ID}" \
-H "Content-Type: application/json" \
-d '{
"entity_type": "logistic_requests",
"entity_ids": [
"550e8400-e29b-41d4-a716-446655440000",
"660e8400-e29b-41d4-a716-446655440001"
]
}'
import requests
import os
api_key = os.getenv("DCYCLE_API_KEY")
org_id = os.getenv("DCYCLE_ORG_ID")
project_id = "b7f2a1c3-4d5e-6f7a-8b9c-0d1e2f3a4b5c"
headers = {
"x-api-key": api_key,
"x-organization-id": org_id,
"Content-Type": "application/json"
}
payload = {
"entity_type": "logistic_requests",
"entity_ids": [
"550e8400-e29b-41d4-a716-446655440000",
"660e8400-e29b-41d4-a716-446655440001"
]
}
response = requests.post(
f"https://api.dcycle.io/v1/projects/{project_id}/entities/link",
headers=headers,
json=payload
)
result = response.json()
print(f"Created: {result['created']}, Skipped: {result['skipped']}")
const axios = require('axios');
const apiKey = process.env.DCYCLE_API_KEY;
const orgId = process.env.DCYCLE_ORG_ID;
const projectId = 'b7f2a1c3-4d5e-6f7a-8b9c-0d1e2f3a4b5c';
const headers = {
'x-api-key': apiKey,
'x-organization-id': orgId,
'Content-Type': 'application/json'
};
const payload = {
entity_type: 'logistic_requests',
entity_ids: [
'550e8400-e29b-41d4-a716-446655440000',
'660e8400-e29b-41d4-a716-446655440001'
]
};
axios.post(
`https://api.dcycle.io/v1/projects/${projectId}/entities/link`,
payload,
{ headers }
)
.then(response => {
console.log(`Created: ${response.data.created}, Skipped: ${response.data.skipped}`);
})
.catch(error => console.error(error));
Successful Response
{
"created": 2,
"skipped": 0
}
Common Errors
404 Not Found
Cause: Project not found or doesn’t belong to your organization{
"code": "NOT_FOUND",
"detail": "Project not found"
}
422 Validation Error
Cause: Invalidentity_type or empty entity_ids
{
"detail": [
{
"loc": ["body", "entity_type"],
"msg": "value is not a valid enumeration member",
"type": "type_error.enum"
}
]
}
Related Endpoints
Unlink Entities
Remove entity-project associations
Link by Filters
Bulk-link all entities matching a filter
Was this page helpful?