Projects & Sites Management API
Manage projects and sites through the API.
List Projects
Retrieves a list of all projects with pagination support.
HTTP request
GET https://api.darukaa.com/api/v1/projects
Query parameters
| Parameter |
Type |
Required |
Default |
Description |
| skip |
integer |
No |
0 |
Number of projects to skip (used for pagination) |
| limit |
integer |
No |
100 |
Maximum number of projects to return |
| Header |
Value |
Required |
| Authorization |
Bearer |
Yes |
Example request
Status codes
| Code |
Description |
| 200 |
Success - Projects retrieved successfully |
| 401 |
Unauthorized - Invalid or missing access token |
Response body
Success (200)
[
{
"project_name": "Sundarbans Mangrove Restoration",
"project_start_date": "2020-01-15",
"project_end_date": "2030-12-31",
"country": "India",
"project_description": "Large-scale mangrove restoration project in the Sundarbans delta",
"project_type": "ARR",
"total_area": 1250.5,
"area_unit": "ha",
"project_developer": "EcoRestore Foundation",
"crediting_period": "10 years",
"registry": "Verra",
"sdg": ["SDG 13", "SDG 15"],
"project_id": "aac7-xxxx-xxxx-xxxx-f0b9",
"project_status": "Active",
"processing_status": "Completed",
"processing_message": null,
"has_carbon_module": true,
"has_biodiversity_module": true,
"has_climate_module": true,
"created_at": "2025-12-04T13:30:00Z",
"updated_at": "2025-12-04T13:30:00Z",
"sites": []
}
]
Failure (401)
{
"error": {
"code": "UNAUTHORIZED",
"message": "Invalid or missing access token",
"details": "Please provide a valid Bearer token in the Authorization header",
"request_id": "req_abc123",
"timestamp": "2025-12-04T13:30:00Z"
}
}
| Field |
Type |
Description |
| project_name |
string |
Name of the project |
| project_start_date |
string/null |
Start date of the project |
| project_end_date |
string/null |
End date of the project |
| country |
string/null |
Project country |
| project_description |
string/null |
Description of the project |
| project_type |
string |
Category of project (ARR/ALM/etc.) |
| total_area |
float/null |
Total area covered under the project |
| area_unit |
string |
Area measurement unit (e.g., ha) |
| project_developer |
string |
Name of the organization/person developing the project |
| crediting_period |
string/null |
Crediting period duration |
| registry |
string |
Project registry (e.g., Verra) |
| project_id |
UUID string |
Unique identifier for the project |
| project_status |
string |
Draft / Active / In Review etc. |
| processing_status |
string |
Status of backend processing |
| processing_message |
string/null |
Status notes or warnings |
| has_carbon_module |
boolean |
Carbon module enabled |
| has_biodiversity_module |
boolean |
Biodiversity module enabled |
| has_climate_module |
boolean |
Climate module enabled |
| created_at |
datetime |
Timestamp of creation |
| updated_at |
datetime |
Timestamp of last update |
| sites |
array[object] |
Project-wise list of associated sites |
Get Project
Retrieves detailed information about a specific project.
HTTP request
GET https://api.darukaa.com/api/v1/projects/{project_id}
Path parameters
| Parameter |
Type |
Required |
Description |
| project_id |
string (UUID) |
Yes |
Unique project ID to fetch details of |
Request body
The request body contains data with the following structure:
{
"get_satellite_images": false
}
| Field |
Type |
Required |
Default |
Description |
| get_satellite_images |
boolean |
No |
false |
Whether to include satellite imagery objects in response |
| Header |
Value |
Required |
| Authorization |
Bearer |
Yes |
Example request
Status codes
| Code |
Description |
| 200 |
Success - Project details retrieved successfully |
| 401 |
Unauthorized - Invalid or missing access token |
| 404 |
Not Found - Project with the specified ID does not exist |
Response body
Success (200)
{
"project_name": "Sundarbans Mangrove Restoration",
"project_start_date": "2020-01-15",
"project_end_date": "2030-12-31",
"country": "India",
"project_description": "Large-scale mangrove restoration project in the Sundarbans delta",
"project_type": "ARR",
"total_area": 1250.5,
"area_unit": "ha",
"project_developer": "EcoRestore Foundation",
"crediting_period": "10 years",
"registry": "Verra",
"sdg": ["SDG 13", "SDG 15"],
"project_id": "aac7-xxxx-xxxx-xxxx-0b9",
"project_status": "Active",
"processing_status": "Completed",
"processing_message": null,
"has_carbon_module": true,
"has_biodiversity_module": true,
"has_climate_module": true,
"created_at": "2025-12-04T13:30:00Z",
"updated_at": "2025-12-04T13:30:00Z",
"sites": []
}
Failure (401)
{
"error": {
"code": "UNAUTHORIZED",
"message": "Invalid or missing access token",
"details": "Please provide a valid Bearer token in the Authorization header",
"request_id": "req_abc123",
"timestamp": "2025-12-04T13:30:00Z"
}
}
Failure (404)
{
"error": {
"code": "PROJECT_NOT_FOUND",
"message": "Project not found",
"details": "No project exists with the ID: 8dc6-xxxx-xxxx-xxxx-58b2",
"request_id": "req_abc123",
"timestamp": "2025-12-04T13:30:00Z"
}
}
| Field |
Type |
Description |
| project_name |
string |
Name of the project |
| project_start_date |
string/null |
Start date of the project |
| project_end_date |
string/null |
End date of the project |
| country |
string/null |
Project country |
| project_description |
string/null |
Description of the project |
| project_type |
string |
Category of project (ARR/ALM/etc.) |
| total_area |
float/null |
Total area covered under the project |
| area_unit |
string |
Area measurement unit (e.g., ha) |
| project_developer |
string |
Name of the organization/person developing the project |
| crediting_period |
string/null |
Crediting period duration |
| registry |
string |
Project registry (e.g., Verra) |
| project_id |
UUID string |
Unique identifier for the project |
| project_status |
string |
Draft / Active / In Review etc. |
| processing_status |
string |
Status of backend processing |
| processing_message |
string/null |
Status notes or warnings |
| has_carbon_module |
boolean |
Carbon module enabled |
| has_biodiversity_module |
boolean |
Biodiversity module enabled |
| has_climate_module |
boolean |
Climate module enabled |
| created_at |
datetime |
Timestamp of creation |
| updated_at |
datetime |
Timestamp of last update |
| sites |
array[object] |
Project-wise list of associated sites |
List Sites
Retrieves all sites belonging to a specific project.
HTTP request
GET https://api.darukaa.com/api/v1/projects/{project_id}/sites
Path parameters
| Parameter |
Type |
Required |
Description |
| project_id |
string (UUID) |
Yes |
ID of the project whose sites are to be listed |
Request body
The request body contains data with the following structure:
{
"skip": 0,
"limit": 100
}
| Field |
Type |
Required |
Default |
Description |
| skip |
integer |
No |
0 |
Pagination offset |
| limit |
integer |
No |
100 |
Number of sites to return |
| Header |
Value |
Required |
| Authorization |
Bearer |
Yes |
Example request
Status codes
| Code |
Description |
| 200 |
Success - Sites retrieved successfully |
| 401 |
Unauthorized - Invalid or missing access token |
| 404 |
Not Found - Project with the specified ID does not exist |
Response body
Success (200)
[
{
"site_name": "Site A - North Section",
"type": "Restoration",
"area": 250.75,
"site_id": "3266-xxxx-xxxx-xxxx-5e8b2",
"project_id": "aac7-xxxx-xxxx-xxxx-f0b9",
"shapefile_gcs_path": "gs://bucket/projects/project_id/sites/site_id/shapefile.shp",
"created_at": "2025-12-04T13:30:00Z",
"updated_at": "2025-12-04T13:30:00Z",
"boundary": "POLYGON((88.1234 22.5678, 88.1235 22.5679, ...))",
"centroid_wkt": "POINT(88.1234 22.5678)",
"carbon_analysis_status": "Completed",
"climate_analysis_status": "Completed",
"bio_analysis_status": "In Progress",
"carbon_analysis_enabled": true,
"bio_analysis_enabled": true,
"climate_analysis_enabled": true,
"satellite_imagery": "gs://bucket/satellite/imagery.tif"
}
]
Failure (401)
{
"error": {
"code": "UNAUTHORIZED",
"message": "Invalid or missing access token",
"details": "Please provide a valid Bearer token in the Authorization header",
"request_id": "req_abc123",
"timestamp": "2025-12-04T13:30:00Z"
}
}
Failure (404)
{
"error": {
"code": "PROJECT_NOT_FOUND",
"message": "Project not found",
"details": "No project exists with the ID: 8dc-xxxx-xxxx-xxxx-8b2",
"request_id": "req_abc123",
"timestamp": "2025-12-04T13:30:00Z"
}
}
| Field |
Type |
Description |
| site_name |
string |
Name of the site under the project |
| type |
string |
Type/category of site (e.g., Restoration, Monitoring) |
| area |
number |
Area covered under site |
| site_id |
UUID string |
Unique identifier for the site |
| project_id |
UUID string |
Corresponding project ID |
| shapefile_gcs_path |
string/null |
GCS location of shapefile if uploaded |
| created_at |
datetime |
Timestamp when site was created |
| updated_at |
datetime |
Last modification timestamp |
| boundary |
string/null |
Polygon boundary in WKT / GeoJSON format |
| centroid_wkt |
string/null |
Geographic centroid point of the site |
| carbon_analysis_status |
string |
Status of carbon model run |
| climate_analysis_status |
string |
Status of climate model run |
| bio_analysis_status |
string |
Status of biodiversity analysis |
| carbon_analysis_enabled |
boolean |
Carbon engine enabled for this site |
| bio_analysis_enabled |
boolean |
Biodiversity engine enabled for this site |
| climate_analysis_enabled |
boolean |
Climate engine enabled for this site |
| satellite_imagery |
string/null |
Satellite imagery reference if available |
Get Site
Retrieves detailed information about a specific site.
HTTP request
GET https://api.darukaa.com/api/v1/sites/{site_id}
Path parameters
| Parameter |
Type |
Required |
Description |
| site_id |
string (UUID) |
Yes |
Unique Site ID for lookup |
| Header |
Value |
Required |
| Authorization |
Bearer |
Yes |
Example request
Status codes
| Code |
Description |
| 200 |
Success - Site details retrieved successfully |
| 401 |
Unauthorized - Invalid or missing access token |
| 404 |
Not Found - Site with the specified ID does not exist |
Response body
Success (200)
{
"site_name": "Site A - North Section",
"type": "Restoration",
"area": 250.75,
"site_id": "3266-xxxx-xxxx-xxxx-e8b2",
"project_id": "aac-xxxx-xxxx-xxxx-f0b9",
"shapefile_gcs_path": "gs://bucket/projects/project_id/sites/site_id/shapefile.shp",
"created_at": "2025-12-04T13:30:00Z",
"updated_at": "2025-12-04T13:30:00Z",
"boundary": "POLYGON((88.1234 22.5678, 88.1235 22.5679, ...))",
"centroid_wkt": "POINT(88.1234 22.5678)",
"carbon_analysis_status": "Completed",
"climate_analysis_status": "Completed",
"bio_analysis_status": "In Progress",
"carbon_analysis_enabled": true,
"bio_analysis_enabled": true,
"climate_analysis_enabled": true,
"satellite_imagery": "gs://bucket/satellite/imagery.tif"
}
Failure (401)
{
"error": {
"code": "UNAUTHORIZED",
"message": "Invalid or missing access token",
"details": "Please provide a valid Bearer token in the Authorization header",
"request_id": "req_abc123",
"timestamp": "2025-12-04T13:30:00Z"
}
}
Failure (404)
{
"error": {
"code": "SITE_NOT_FOUND",
"message": "Site not found",
"details": "No site exists with the ID: 3fa85f64-5717-4562-b3fc-2c963f66afa6",
"request_id": "req_abc123",
"timestamp": "2025-12-04T13:30:00Z"
}
}
| Field |
Type |
Description |
| site_name |
string |
Name of the site under the project |
| type |
string |
Type/category of site (e.g., Restoration, Monitoring) |
| area |
number |
Area covered under site |
| site_id |
UUID string |
Unique identifier for the site |
| project_id |
UUID string |
Corresponding project ID |
| shapefile_gcs_path |
string/null |
GCS location of shapefile if uploaded |
| created_at |
datetime |
Timestamp when site was created |
| updated_at |
datetime |
Last modification timestamp |
| boundary |
string/null |
Polygon boundary in WKT / GeoJSON format |
| centroid_wkt |
string/null |
Geographic centroid point of the site |
| carbon_analysis_status |
string |
Status of carbon model run |
| climate_analysis_status |
string |
Status of climate model run |
| bio_analysis_status |
string |
Status of biodiversity analysis |
| carbon_analysis_enabled |
boolean |
Carbon engine enabled for this site |
| bio_analysis_enabled |
boolean |
Biodiversity engine enabled for this site |
| climate_analysis_enabled |
boolean |
Climate engine enabled for this site |
| satellite_imagery |
string/null |
Satellite imagery reference if available |