Get Assignment Values
const options = {
method: 'GET',
headers: {'x-api-key': '<x-api-key>', 'x-organization-id': '<x-organization-id>'}
};
fetch('https://api.dcycle.io/v1/custom-kpi-datasets/{dataset_id}/campaigns/{campaign_id}/assignments/{campaign_assignment_id}/values', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.dcycle.io/v1/custom-kpi-datasets/{dataset_id}/campaigns/{campaign_id}/assignments/{campaign_assignment_id}/values"
headers = {
"x-api-key": "<x-api-key>",
"x-organization-id": "<x-organization-id>"
}
response = requests.get(url, headers=headers)
print(response.text)curl --request GET \
--url https://api.dcycle.io/v1/custom-kpi-datasets/{dataset_id}/campaigns/{campaign_id}/assignments/{campaign_assignment_id}/values \
--header 'x-api-key: <x-api-key>' \
--header 'x-organization-id: <x-organization-id>'{
"id": "<string>",
"assignment_id": "<string>",
"kpi_id": "<string>",
"value_numeric": 123,
"value_text": "<string>",
"value_date": "<string>",
"option_id": "<string>",
"submitted_at": "<string>",
"submitter_email": "<string>"
}Get Assignment Values
Get the full submission history for a campaign-assignment
GET
/
v1
/
custom-kpi-datasets
/
{dataset_id}
/
campaigns
/
{campaign_id}
/
assignments
/
{campaign_assignment_id}
/
values
Get Assignment Values
const options = {
method: 'GET',
headers: {'x-api-key': '<x-api-key>', 'x-organization-id': '<x-organization-id>'}
};
fetch('https://api.dcycle.io/v1/custom-kpi-datasets/{dataset_id}/campaigns/{campaign_id}/assignments/{campaign_assignment_id}/values', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.dcycle.io/v1/custom-kpi-datasets/{dataset_id}/campaigns/{campaign_id}/assignments/{campaign_assignment_id}/values"
headers = {
"x-api-key": "<x-api-key>",
"x-organization-id": "<x-organization-id>"
}
response = requests.get(url, headers=headers)
print(response.text)curl --request GET \
--url https://api.dcycle.io/v1/custom-kpi-datasets/{dataset_id}/campaigns/{campaign_id}/assignments/{campaign_assignment_id}/values \
--header 'x-api-key: <x-api-key>' \
--header 'x-organization-id: <x-organization-id>'{
"id": "<string>",
"assignment_id": "<string>",
"kpi_id": "<string>",
"value_numeric": 123,
"value_text": "<string>",
"value_date": "<string>",
"option_id": "<string>",
"submitted_at": "<string>",
"submitter_email": "<string>"
}← Custom KPI
Retrieve the full submission history for a specific campaign-assignment. Returns all KPI values ever submitted by this recipient for this campaign, ordered by submission time.
Request
Headers
string
required
Your API key for authenticationExample:
sk_live_1234567890abcdefstring
required
Your organization UUIDExample:
a8315ef3-dd50-43f8-b7ce-d839e68d51faPath Parameters
string
required
UUID of the parent dataset
string
required
UUID of the campaign
string
required
UUID of the campaign-assignment
Response
Returns an array of value objects (HTTP 200). Each value represents one KPI answer:string
Value UUID
string
Dataset assignment UUID
string
KPI definition UUID
number
Numeric answer (nullable)
string
Text answer (nullable)
string
Date answer (nullable)
string
Selected option UUID for select KPIs (nullable)
string
ISO 8601 timestamp
string
Who submitted (nullable)
Example
curl -X GET "https://api.dcycle.io/v1/custom-kpi-datasets/${DATASET_ID}/campaigns/${CAMPAIGN_ID}/assignments/${CA_ID}/values" \
-H "x-api-key: ${DCYCLE_API_KEY}" \
-H "x-organization-id: ${DCYCLE_ORG_ID}"
import requests
import os
headers = {
"x-api-key": os.getenv("DCYCLE_API_KEY"),
"x-organization-id": os.getenv("DCYCLE_ORG_ID"),
}
dataset_id = "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
campaign_id = "b2c3d4e5-f6a7-8901-bcde-f12345678901"
ca_id = "c3d4e5f6-a7b8-9012-cdef-123456789012"
response = requests.get(
f"https://api.dcycle.io/v1/custom-kpi-datasets/{dataset_id}/campaigns/{campaign_id}/assignments/{ca_id}/values",
headers=headers,
)
for v in response.json():
print(f"KPI {v['kpi_id']}: {v.get('value_numeric') or v.get('value_text')}")
const axios = require('axios');
const headers = {
'x-api-key': process.env.DCYCLE_API_KEY,
'x-organization-id': process.env.DCYCLE_ORG_ID,
};
const datasetId = 'a1b2c3d4-e5f6-7890-abcd-ef1234567890';
const campaignId = 'b2c3d4e5-f6a7-8901-bcde-f12345678901';
const caId = 'c3d4e5f6-a7b8-9012-cdef-123456789012';
axios.get(
`https://api.dcycle.io/v1/custom-kpi-datasets/${datasetId}/campaigns/${campaignId}/assignments/${caId}/values`,
{ headers }
)
.then(response => {
response.data.forEach(v => console.log(`${v.kpi_id}: ${v.value_numeric}`));
});
Successful Response
[
{
"id": "f1a2b3c4-d5e6-7890-abcd-ef1234567890",
"assignment_id": "d4e5f6a7-b8c9-0123-defa-234567890123",
"response_set_id": "a0b1c2d3-e4f5-6789-abcd-ef0123456789",
"kpi_id": "c3d4e5f6-a7b8-9012-cdef-123456789012",
"value_numeric": 1250.5,
"value_text": null,
"value_date": null,
"option_id": null,
"submitted_at": "2025-03-15T14:30:00Z",
"submitter_email": "manager@example.com",
"submitter_user_id": null,
"created_at": "2025-03-15T14:30:00Z"
}
]
Common Errors
401 Unauthorized
Cause: Missing or invalid API key{"detail": "Invalid API key for organization", "code": "INVALID_API_KEY"}
403 Forbidden
Cause: The authenticated user is not a member of the organization{"detail": "Logged User is not Member of Organization", "code": "LOGGED_USER_NOT_MEMBER"}
404 Not Found
Cause: The dataset, campaign, or assignment does not exist or belongs to another organization{"detail": "Not Found"}
Related Endpoints
Edit Values
Submit or update KPI values
Campaign Values
View all values across recipients
Was this page helpful?