# What can you build?

Source: https://www.geardex.app/api-docs/what-can-you-build

API access requires the GearDex Studio plan and a scoped Studio API key.

Use these practical ideas, sample requests, and realistic responses to design your first GearDex-powered agent workflows.

## Build ideas

The Studio API is scoped by design in v1, which makes it useful for dashboards, assistants, reporting, and trusted planning automations that can create, correct, or retire gear, shoot, and maintenance records when granted `gear:write`, `shoots:write`, or `maintenance:write`.

Pre-shoot readiness assistant

Compare upcoming shoots with available gear and flag incomplete prep before call time.

Weekly inventory digest

Summarize gear by type, identify aging equipment, and send a focused Monday review.

Client-facing gear lists

Turn filtered inventory queries into clean equipment summaries for pitches and pre-production.

Shoot pipeline board

Build an external status view from planning, confirmed, completed, and cancelled shoots.

Warranty watchdog

Monitor document warranty metadata and trigger reminders before coverage expires.

Service queue automator

Create service records from inspections and keep repair status synchronized through webhooks.

Lending desk bot

Check gear out and in from Slack, and post overdue loans and new flags from webhooks.

Executive snapshot bot

Publish a concise daily inventory and operations brief from the analytics endpoint.

 [Make your first request](https://www.geardex.app/api-docs/getting-started)

## Sample gear queries

Use `/gear` for filtered inventory slices. Start with narrow payloads and paginate outward.

`GET` `/gear?type=camera&limit=3`  `gear:read`

**Request (cURL)**

```bash
curl -X GET "https://www.geardex.app/api/studio-agent/v1/gear?type=camera&limit=3" \
  -H "Authorization: Bearer gdx_live_your_key_here" \
  -H "Accept: application/json"
```

**Response**

```json
{
  "data": [
    {
      "id": "f0a9f6d7-9ab7-4f3c-ae9f-f4b0de2a19b2",
      "gear_type": "camera",
      "brand": "Sony",
      "model": "A7S III",
      "status": "ready",
      "condition": "excellent",
      "purchase_price": 3499,
      "purchase_date": "2024-03-12",
      "created_at": "2025-12-08T14:11:22.801Z",
      "updated_at": "2026-02-01T09:43:10.104Z"
    },
    {
      "id": "3a94ef81-cfc8-4623-ae24-0f8a42d0f115",
      "gear_type": "camera",
      "brand": "Canon",
      "model": "R5 C",
      "status": "ready",
      "condition": "good",
      "purchase_price": 4299,
      "purchase_date": "2023-11-21",
      "created_at": "2025-11-19T09:27:15.125Z",
      "updated_at": "2026-01-25T17:06:44.217Z"
    }
  ],
  "pagination": {
    "type": "camera",
    "limit": 3,
    "offset": 0,
    "returned": 2,
    "total": 8
  }
}
```

## Additional endpoints

You can combine the same API key with additional scopes to build richer agent workflows beyond inventory and shoots.

**Request (cURL): analytics summary**

```bash
curl -X GET "https://www.geardex.app/api/studio-agent/v1/analytics" \
  -H "Authorization: Bearer gdx_live_your_key_here" \
  -H "Accept: application/json"
```

**Response: analytics summary**

```json
{
  "data": {
    "generated_at": "2026-02-16T23:30:02.512Z",
    "inventory": {
      "total_items": 43,
      "by_type": {
        "camera": 8,
        "lens": 17,
        "accessory": 10,
        "filter": 6,
        "drone": 2
      }
    },
    "shoots": {
      "total": 14,
      "by_status": {
        "planning": 4,
        "confirmed": 6,
        "completed": 3,
        "cancelled": 1
      }
    },
    "maintenance": {
      "total": 19,
      "by_status": {
        "scheduled": 3,
        "in_progress": 2,
        "completed": 13,
        "cancelled": 1
      }
    },
    "documents": {
      "total": 28,
      "by_type": {
        "receipt": 14,
        "warranty": 8,
        "insurance": 5,
        "user_manual": 1
      }
    }
  }
}
```

**Request (cURL): profile**

```bash
curl -X GET "https://www.geardex.app/api/studio-agent/v1/profile" \
  -H "Authorization: Bearer gdx_live_your_key_here" \
  -H "Accept: application/json"
```

**Response: profile**

```json
{
  "data": {
    "profile": {
      "id": "2f71f0dd-4a5a-4ea3-b44f-7c4f1c3f7df4",
      "full_name": "GearDex Studio",
      "email": "studio@example.com",
      "city": "Los Angeles",
      "state": "CA",
      "country": "US",
      "currency": "USD",
      "timezone": "America/Los_Angeles",
      "subscription_tier": "studio",
      "subscription_status": "active",
      "created_at": "2025-08-14T12:12:12.920Z",
      "updated_at": "2026-02-10T08:44:01.145Z"
    },
    "studioProfile": {
      "business_name": "Northline Productions LLC",
      "business_email": "ops@northlinepro.com",
      "business_phone": "+1-555-301-7731",
      "default_currency": "USD",
      "default_payment_terms": "Net 30",
      "default_tax_rate": 8.25,
      "created_at": "2025-10-02T16:18:33.844Z",
      "updated_at": "2026-01-30T13:02:17.291Z"
    }
  }
}
```

## Sample shoot queries

Use `/shoots` for timeline and status planning. Pair `status` with date windows to create scheduling views, or grant `shoots:write` to trusted tools that draft new plans, correct timing or status, or remove cancelled plans.

The same pattern applies elsewhere: `gear:write` allows `POST /gear`, `PATCH /gear/{id}`, and `DELETE /gear/{id}` for trusted inventory sync, and `maintenance:write` allows the matching `/maintenance` routes for ops tools that schedule, complete, or clean up service records.

`GET` `/shoots?status=confirmed&fromDate=2026-02-16&toDate=2026-03-16&limit=5`  `shoots:read`

**Request (cURL)**

```bash
curl -X GET "https://www.geardex.app/api/studio-agent/v1/shoots?status=confirmed&fromDate=2026-02-16&toDate=2026-03-16&limit=5" \
  -H "Authorization: Bearer gdx_live_your_key_here" \
  -H "Accept: application/json"
```

**Response**

```json
{
  "data": [
    {
      "id": "39b0b677-7d24-435f-a8df-c10c0c2b4b62",
      "title": "Spring Editorial Campaign",
      "client_name": "Northline Apparel",
      "shoot_date": "2026-02-22",
      "shoot_time": "09:00",
      "location": "Los Angeles, CA",
      "status": "confirmed",
      "completion_progress": 68,
      "created_at": "2026-01-12T13:24:55.454Z",
      "updated_at": "2026-02-14T19:05:22.329Z"
    },
    {
      "id": "f3e2c26e-c7c8-4838-a127-d9e13f52d100",
      "title": "Product Launch Sizzle",
      "client_name": "Apex Audio",
      "shoot_date": "2026-03-02",
      "shoot_time": "14:30",
      "location": "Austin, TX",
      "status": "confirmed",
      "completion_progress": 52,
      "created_at": "2026-01-29T16:44:11.092Z",
      "updated_at": "2026-02-15T08:09:13.608Z"
    }
  ],
  "pagination": {
    "limit": 5,
    "offset": 0,
    "returned": 2,
    "total": 2
  },
  "filters": {
    "status": "confirmed",
    "fromDate": "2026-02-16",
    "toDate": "2026-03-16"
  }
}
```

**Create shoot (cURL)**

```bash
curl -X POST "https://www.geardex.app/api/studio-agent/v1/shoots" \
  -H "Authorization: Bearer gdx_live_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "New Product Editorial",
    "client_name": "Apex Audio",
    "shoot_date": "2026-03-18",
    "shoot_time": "10:00",
    "locations": ["Studio A", "Rooftop"]
  }'
```

**Update shoot (cURL)**

```bash
curl -X PATCH "https://www.geardex.app/api/studio-agent/v1/shoots/shoot_uuid" \
  -H "Authorization: Bearer gdx_live_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "updates": {
      "shoot_time": "11:30",
      "status": "confirmed",
      "completion_progress": 72
    }
  }'
```

## Sample maintenance writes

Use `/maintenance` to keep service work connected to the exact owned gear item it affects. Write calls validate both the maintenance subscription feature and the gear reference.

`POST` `/maintenance`  `maintenance:write`

**Create maintenance (cURL)**

```bash
curl -X POST "https://www.geardex.app/api/studio-agent/v1/maintenance" \
  -H "Authorization: Bearer gdx_live_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "item_type": "camera",
    "item_id": "gear_item_uuid",
    "service_type": "Sensor cleaning",
    "service_date": "2026-03-21",
    "service_provider": "Local camera shop",
    "status": "scheduled"
  }'
```

**Complete maintenance (cURL)**

```bash
curl -X PATCH "https://www.geardex.app/api/studio-agent/v1/maintenance/maintenance_uuid" \
  -H "Authorization: Bearer gdx_live_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "updates": {
      "status": "completed",
      "cost": 149,
      "notes": "Sensor cleaned and body inspected"
    }
  }'
```

## Agent playbooks

These are high-signal prompts you can hand to an AI agent once API auth is configured.

`01` 

Show all confirmed shoots in the next 30 days and list the top 10 camera bodies we can pull for each.

`02` 

Find gear with model or brand matching "Sony", group by type, and output a production prep checklist.

`03` 

Create a weekly summary: total gear count by type plus shoots by status for the current month.

`04` 

Return shoots in planning status with completion progress below 40 so our producer can prioritize follow-up.

`05` 

Create maintenance records for gear flagged in today's inspection notes, then show me what changed.

`06` 

List every open loan that is overdue, grouped by borrower, with the items each person still has.

Prefer named tools over raw requests? Run the same prompts through the [MCP adapter](https://www.geardex.app/api-docs/mcp-adapter).

## Next steps

1. Start with one key and minimum [scopes](https://www.geardex.app/api-docs/scopes), then test your agent flow with `limit=3` queries.
2. Build one narrow workflow first (for example: upcoming shoot digest) before expanding to multi-step agents.
3. Use [audit logs](https://www.geardex.app/api-docs/audit-logs) in Settings to validate exactly which requests your agent is making.
