> ## Documentation Index
> Fetch the complete documentation index at: https://dronebundle.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Project

> Retrieve a single project by ID.

Requires an API key with `read_only` or `full_access` scope.

## Path parameters

<ParamField path="projectId" type="string" required>
  The unique identifier of the project.
</ParamField>

## Response

<ResponseField name="id" type="string">
  Project ID.
</ResponseField>

<ResponseField name="name" type="string">
  Project name.
</ResponseField>

<ResponseField name="description" type="string">
  Project description.
</ResponseField>

<ResponseField name="status" type="string">
  Project status.
</ResponseField>

<ResponseField name="start_date" type="string">
  Start date in ISO 8601 format.
</ResponseField>

<ResponseField name="end_date" type="string | null">
  End date in ISO 8601 format, or `null` if not set.
</ResponseField>

<ResponseField name="created" type="number">
  Unix timestamp (milliseconds) when the project was created.
</ResponseField>

<ResponseField name="updated" type="number">
  Unix timestamp (milliseconds) when the project was last updated.
</ResponseField>

<ResponseField name="archived" type="boolean">
  Whether the project is archived.
</ResponseField>

<ResponseField name="external_id" type="string | null">
  External identifier, if set.
</ResponseField>

<ResponseField name="laanc_number" type="string | null">
  LAANC authorization number, if set.
</ResponseField>

<ResponseField name="created_by" type="object">
  The user or API key that created the project.

  <Expandable title="properties">
    <ResponseField name="id" type="string">
      User ID or API key ID.
    </ResponseField>

    <ResponseField name="email" type="string | null">
      User email. `null` for API key-created projects.
    </ResponseField>

    <ResponseField name="first_name" type="string | null">
      First name, or API key name for API key-created projects.
    </ResponseField>

    <ResponseField name="last_name" type="string | null">
      Last name. `null` for API key-created projects.
    </ResponseField>

    <ResponseField name="profile_picture" type="string | null">
      Profile picture URL.
    </ResponseField>
  </Expandable>
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X GET https://api.dronebundle.com/v1/projects/01964c6b-7a3e-7f00-8000-abc123def456 \
    -H "Authorization: Bearer v1_your_api_key_here"
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "id": "01964c6b-7a3e-7f00-8000-abc123def456",
    "name": "Bridge Inspection Q2",
    "description": "Quarterly drone inspection of the Westfield Bridge.",
    "status": "in_progress",
    "start_date": "2026-04-15",
    "end_date": "2026-04-30",
    "created": 1743400000000,
    "updated": 1743500000000,
    "archived": false,
    "external_id": "PROJ-1042",
    "created_by": {
      "id": "user-abc-123",
      "email": "sarah@example.com",
      "first_name": "Sarah",
      "last_name": "Chen",
      "profile_picture": null
    }
  }
  ```
</ResponseExample>

## Errors

**404 Not Found** - Project not found.

```json theme={null}
{
  "message": "Project not found"
}
```
