Skip to content

API Overview

The darukaa.com API provides programmatic access to platform capabilities, enabling integration with third-party systems, custom analytics, and external dashboards.

For integration guides and use cases, please see our Developers API Guide.

Base Information

Base URL: https://api.darukaa.com
Authentication: OAuth 2.0 (Bearer Token)
Response Format: JSON

Rate Limits

Tier Rate Limit
Standard 1,000 requests/hour
Enterprise 10,000 requests/hour

API Endpoints

Authentication

Projects & Sites

Assignments

Carbon Dashboard

Biodiversity Dashboard

Climate Dashboard

Authentication

All API requests require authentication using a Bearer token. Include the token in the Authorization header:

Authorization: Bearer <your_access_token>

See the Authentication section for details on obtaining tokens.

Error Handling

The API uses standard HTTP status codes:

Code Description
200/201 Success
400 Bad Request - Invalid input
401 Unauthorized - Invalid or missing token
403 Forbidden - Insufficient permissions
404 Not Found - Resource doesn't exist
413 Payload Too Large - File size exceeds limit
429 Too Many Requests - Rate limit exceeded
500 Internal Server Error

Error responses include:

{
  "error": {
    "code": "ERROR_CODE",
    "message": "Human-readable error message",
    "details": "Additional error details",
    "request_id": "req_abc123",
    "timestamp": "2025-12-04T13:30:00Z"
  }
}

Pagination

List endpoints support pagination using skip and limit query parameters:

  • skip - Number of items to skip (default: 0)
  • limit - Maximum number of items to return (default: 100)

Example:

GET /api/v1/projects?skip=0&limit=10

Rate Limiting

When rate limits are exceeded, the API returns a 429 Too Many Requests response with headers:

  • X-RateLimit-Limit - Total requests allowed per hour
  • X-RateLimit-Remaining - Remaining requests in current window
  • X-RateLimit-Reset - Time when the rate limit resets
  • Retry-After - Seconds to wait before retrying

Implement exponential backoff when handling rate limit responses.