Create Project
const options = {
method: 'POST',
headers: {
'x-api-key': '<x-api-key>',
'x-organization-id': '<x-organization-id>',
'Content-Type': '<content-type>'
},
body: JSON.stringify({
name: '<string>',
responsible_user_id: '<string>',
description: '<string>',
start_date: '<string>',
end_date: '<string>',
due_date: '<string>',
project_type: '<string>',
methodology: '<string>'
})
};
fetch('https://api.dcycle.io/v1/projects', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.dcycle.io/v1/projects"
payload = {
"name": "<string>",
"responsible_user_id": "<string>",
"description": "<string>",
"start_date": "<string>",
"end_date": "<string>",
"due_date": "<string>",
"project_type": "<string>",
"methodology": "<string>"
}
headers = {
"x-api-key": "<x-api-key>",
"x-organization-id": "<x-organization-id>",
"Content-Type": "<content-type>"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)curl --request POST \
--url https://api.dcycle.io/v1/projects \
--header 'Content-Type: <content-type>' \
--header 'x-api-key: <x-api-key>' \
--header 'x-organization-id: <x-organization-id>' \
--data '
{
"name": "<string>",
"responsible_user_id": "<string>",
"description": "<string>",
"start_date": "<string>",
"end_date": "<string>",
"due_date": "<string>",
"project_type": "<string>",
"methodology": "<string>"
}
'{
"id": "<string>"
}Create Project
Create a new project in your organization
POST
/
v1
/
projects
Create Project
const options = {
method: 'POST',
headers: {
'x-api-key': '<x-api-key>',
'x-organization-id': '<x-organization-id>',
'Content-Type': '<content-type>'
},
body: JSON.stringify({
name: '<string>',
responsible_user_id: '<string>',
description: '<string>',
start_date: '<string>',
end_date: '<string>',
due_date: '<string>',
project_type: '<string>',
methodology: '<string>'
})
};
fetch('https://api.dcycle.io/v1/projects', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.dcycle.io/v1/projects"
payload = {
"name": "<string>",
"responsible_user_id": "<string>",
"description": "<string>",
"start_date": "<string>",
"end_date": "<string>",
"due_date": "<string>",
"project_type": "<string>",
"methodology": "<string>"
}
headers = {
"x-api-key": "<x-api-key>",
"x-organization-id": "<x-organization-id>",
"Content-Type": "<content-type>"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)curl --request POST \
--url https://api.dcycle.io/v1/projects \
--header 'Content-Type: <content-type>' \
--header 'x-api-key: <x-api-key>' \
--header 'x-organization-id: <x-organization-id>' \
--data '
{
"name": "<string>",
"responsible_user_id": "<string>",
"description": "<string>",
"start_date": "<string>",
"end_date": "<string>",
"due_date": "<string>",
"project_type": "<string>",
"methodology": "<string>"
}
'{
"id": "<string>"
}Create Project
Create a new project to organize and track emissions data across different reporting activities. Projects can be used to scope emissions by type (carbon footprint, ISO 14064, CSRD/ESRS) and link relevant entities for focused reporting.Request
Headers
string
required
Your API key for authenticationExample:
sk_live_1234567890abcdefstring
required
Your organization UUIDExample:
a8315ef3-dd50-43f8-b7ce-d839e68d51fastring
required
Must be
application/jsonstring
default:"es"
Language for notifications and labelsAvailable values:
es, en, fr, pt, de, it, caBody Parameters
string
required
Name of the projectExample:
"Carbon Footprint 2024"string
required
UUID of the user responsible for the project. Must be a member of the organization.Example:
"user-uuid-001"string
Optional project descriptionExample:
"Annual carbon footprint calculation for FY2024"string
Project start date in YYYY-MM-DD formatExample:
"2024-01-01"string
Project end date in YYYY-MM-DD format. Must be equal to or after
start_date.Example: "2024-12-31"string
Project deadline in YYYY-MM-DD formatExample:
"2025-03-31"string
Project type classificationAvailable values:
carbon_footprint, custom, einf, iso_14064, iso_14001, iso_9001, acv, visualization, suppliers, logisticsExample: "carbon_footprint"string
Reporting methodologyAvailable values:
esrs, gri, glecExample: "gri"Response
Returns the created project object.string
Unique identifier (UUID) of the created project
Example
curl -X POST "https://api.dcycle.io/v1/projects" \
-H "x-api-key: ${DCYCLE_API_KEY}" \
-H "x-organization-id: ${DCYCLE_ORG_ID}" \
-H "Content-Type: application/json" \
-d '{
"name": "Carbon Footprint 2024",
"description": "Annual carbon footprint calculation for FY2024",
"responsible_user_id": "user-uuid-001",
"start_date": "2024-01-01",
"end_date": "2024-12-31",
"due_date": "2025-03-31",
"project_type": "carbon_footprint",
"methodology": "gri"
}'
import requests
import os
api_key = os.getenv("DCYCLE_API_KEY")
org_id = os.getenv("DCYCLE_ORG_ID")
headers = {
"x-api-key": api_key,
"x-organization-id": org_id,
"Content-Type": "application/json"
}
data = {
"name": "Carbon Footprint 2024",
"description": "Annual carbon footprint calculation for FY2024",
"responsible_user_id": "user-uuid-001",
"start_date": "2024-01-01",
"end_date": "2024-12-31",
"due_date": "2025-03-31",
"project_type": "carbon_footprint",
"methodology": "gri"
}
response = requests.post(
"https://api.dcycle.io/v1/projects",
headers=headers,
json=data
)
project = response.json()
print(f"Created project: {project['id']}")
print(f"Name: {project['name']}")
const axios = require('axios');
const apiKey = process.env.DCYCLE_API_KEY;
const orgId = process.env.DCYCLE_ORG_ID;
const headers = {
'x-api-key': apiKey,
'x-organization-id': orgId,
'Content-Type': 'application/json'
};
const data = {
name: 'Carbon Footprint 2024',
description: 'Annual carbon footprint calculation for FY2024',
responsible_user_id: 'user-uuid-001',
start_date: '2024-01-01',
end_date: '2024-12-31',
due_date: '2025-03-31',
project_type: 'carbon_footprint',
methodology: 'gri'
};
axios.post(
'https://api.dcycle.io/v1/projects',
data,
{ headers }
)
.then(response => {
const project = response.data;
console.log(`Created project: ${project.id}`);
console.log(`Name: ${project.name}`);
})
.catch(error => console.error(error.response.data));
Successful Response
Status Code:201 Created
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"organization_id": "a8315ef3-dd50-43f8-b7ce-d839e68d51fa",
"name": "Carbon Footprint 2024",
"description": "Annual carbon footprint calculation for FY2024",
"start_date": "2024-01-01",
"end_date": "2024-12-31",
"due_date": "2025-03-31",
"project_type": "carbon_footprint",
"methodology": "gri",
"responsible_user_id": "user-uuid-001",
"responsible_user": {
"id": "user-uuid-001",
"email": "maria@company.com",
"first_name": "Maria",
"last_name": "Garcia"
},
"parent": null,
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z"
}
Common Errors
400 Bad Request
Cause: Missing required fields or invalid data{
"detail": "field required",
"code": "MISSING_REQUIRED_FIELD"
}
name, responsible_user_id.
401 Unauthorized
Cause: Missing or invalid API key{
"detail": "Invalid API key",
"code": "INVALID_API_KEY"
}
422 Validation Error
Cause: Invalid field values{
"detail": [
{
"loc": ["body", "end_date"],
"msg": "end_date must be equal to or after start_date",
"type": "value_error"
}
]
}
end_dateis equal to or afterstart_dateresponsible_user_idis a valid UUIDproject_typeis one of the allowed valuesmethodologyis one of the allowed values
Project Types
| Type | Description | Typical Use Case |
|---|---|---|
carbon_footprint | GHG inventory project | Annual organizational carbon footprint |
iso_14064 | ISO 14064-1 verification | Third-party verified GHG statement |
einf | Spanish EINF report | Non-financial information statement |
acv | Life Cycle Assessment | Product carbon footprint (PCF) |
logistics | Logistics emissions | GLEC Framework reporting |
suppliers | Supply chain project | Supplier engagement programs |
custom | General purpose | Any custom reporting need |
visualization | Data visualization | Dashboard and reporting |
iso_14001 | Environmental management | ISO 14001 EMS certification |
iso_9001 | Quality management | ISO 9001 QMS certification |
Related Endpoints
List Projects
View all projects
Get Project
Get project details
Update Project
Modify project details
Link Entities
Link entities to this project
Was this page helpful?