Skip to main content
GET
/
v1
/
custom-kpi-datasets
/
{dataset_id}
/
assignments
List Assignments
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}/assignments', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
{
  "id": "<string>",
  "dataset_id": "<string>",
  "organization_id": "<string>",
  "facility_id": "<string>",
  "data_owner_user_id": "<string>",
  "data_owner_email": "<string>",
  "created_at": {},
  "updated_at": {}
}

List Assignments

Retrieve all assignments (data owners) for a dataset. Each assignment links a data owner (by email) to an organization and optionally a specific facility.

Request

Headers

x-api-key
string
required
Your API key for authenticationExample: sk_live_1234567890abcdef
x-organization-id
string
required
Your organization UUIDExample: a8315ef3-dd50-43f8-b7ce-d839e68d51fa

Path Parameters

dataset_id
string
required
UUID of the parent datasetExample: "a1b2c3d4-e5f6-7890-abcd-ef1234567890"

Response

Returns an array of assignment objects with HTTP 200.
id
string
Assignment UUID
dataset_id
string
Parent dataset UUID
organization_id
string
Assigned organization UUID
facility_id
string
Assigned facility UUID (nullable — null means org-level assignment)
data_owner_user_id
string
Dcycle user UUID of the data owner (nullable)
data_owner_email
string
Email address of the data owner
created_at
datetime
Timestamp when the assignment was created
updated_at
datetime | null
Timestamp when the assignment was last updated

Example

curl -X GET "https://api.dcycle.io/v1/custom-kpi-datasets/${DATASET_ID}/assignments" \
  -H "x-api-key: ${DCYCLE_API_KEY}" \
  -H "x-organization-id: ${DCYCLE_ORG_ID}"

Successful Response

[
  {
    "id": "d4e5f6a7-b8c9-0123-defa-234567890123",
    "dataset_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "organization_id": "a8315ef3-dd50-43f8-b7ce-d839e68d51fa",
    "facility_id": "550e8400-e29b-41d4-a716-446655440000",
    "data_owner_user_id": null,
    "data_owner_email": "facility-manager@example.com",
    "created_at": "2025-02-01T09:00:00Z",
    "updated_at": null
  },
  {
    "id": "e5f6a7b8-c9d0-1234-efab-345678901234",
    "dataset_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "organization_id": "a8315ef3-dd50-43f8-b7ce-d839e68d51fa",
    "facility_id": null,
    "data_owner_user_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
    "data_owner_email": "sustainability@example.com",
    "created_at": "2025-02-01T09:05:00Z",
    "updated_at": null
  }
]

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 does not exist or belongs to another organization
{"detail": "Not Found"}

Create Assignment

Assign a data owner

Get Dataset

View the dataset and its KPIs