Skip to main content
curl -X POST https://api.dronebundle.com/v1/projects \
  -H "Authorization: Bearer v1_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Bridge Inspection Q2",
    "description": "Quarterly drone inspection of the Westfield Bridge.",
    "status": "not_started",
    "start_date": "2026-04-15",
    "end_date": "2026-04-30",
    "external_id": "PROJ-1042"
  }'
{
  "id": "01964c6b-7a3e-7f00-8000-abc123def456"
}
Requires an API key with full_access scope.

Body

name
string
required
Project name. 1 to 100 characters.
description
string
required
Project description.
status
string
required
Project status. One of: draft, not_started, planned, in_progress, completed, on_hold, weather_delayed, technical_issues, cancelled, aborted, other.
Your workspace may show custom display names for these statuses in the dashboard. The API always uses the predefined values listed above. Use other with other_status_reason for statuses that don’t map to a predefined value.
start_date
string
required
Start date in ISO 8601 format (e.g. 2026-04-15).
end_date
string
End date in ISO 8601 format. Must be after start_date.
external_id
string
Your own identifier for this project. Max 255 characters. Useful for mapping to records in your own system.
other_status_reason
string
Required when status is other. 1 to 200 characters.

Response

id
string
required
The unique identifier of the newly created project.
curl -X POST https://api.dronebundle.com/v1/projects \
  -H "Authorization: Bearer v1_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Bridge Inspection Q2",
    "description": "Quarterly drone inspection of the Westfield Bridge.",
    "status": "not_started",
    "start_date": "2026-04-15",
    "end_date": "2026-04-30",
    "external_id": "PROJ-1042"
  }'
{
  "id": "01964c6b-7a3e-7f00-8000-abc123def456"
}

Errors

400 Bad Request - Validation failed.
{
  "message": "name is required"
}
Other validation messages include:
  • name must be between 1 and 100 characters
  • start_date is required
  • start_date must be a valid ISO date string
  • end_date must be after start_date
  • description is required
  • status must be one of: draft, not_started, in_progress, ...
  • other_status_reason is required when status is "other"
  • external_id must not exceed 255 characters
404 Not Found - Workspace not found.
{
  "message": "Workspace not found"
}
429 Too Many Requests - Project limit reached for your workspace plan.