# For agents

Agents can discover, register, and render without a human setting up an account first. Bootstrap from https://assets.dev/llms.txt — it links the OpenAPI spec, the skills catalog, the MCP endpoint, and the auth flow.

## Have an API key

Connect the MCP endpoint:

```
claude mcp add --transport http assets-dev https://app.assets.dev/api/mcp --header "Authorization: Bearer YOUR_API_KEY"
```

The same Bearer key authenticates the REST API. Humans mint keys at https://app.assets.dev → Settings → API keys.

## No key yet

Run the device flow:

```bash
curl -s -X POST "https://app.assets.dev/api/v1/agent/register" \
  -H "content-type: application/json" \
  -d '{"email":"you@example.com"}'
```

Response: `{ "deviceCode": "…", "userCode": "…", "verificationUri": "…", "interval": 5 }`

A human opens the verificationUri and approves in the browser (the link is also emailed to that address). Poll for the key:

```bash
curl -s -X POST "https://app.assets.dev/api/v1/agent/token" \
  -H "content-type: application/json" \
  -d '{"deviceCode":"YOUR_DEVICE_CODE"}'
```

Response: HTTP 428 `{ "error": "authorization_pending" }` while pending, then HTTP 200 `{ "apiKey": "…", "tokenType": "bearer" }`.

## Open without auth

These need no key:

- GET https://app.assets.dev/api/v1/openapi.json
- GET https://app.assets.dev/api/v1/templates (and /api/v1/templates/{id})
- GET https://app.assets.dev/api/v1/skills (and /api/v1/skills/{name})

The MCP endpoint itself requires auth: a Bearer API key, or OAuth sign-in from connector UIs (claude.ai, ChatGPT).

## Links

- Docs guide: https://docs.assets.dev/docs/agents
- API reference: https://docs.assets.dev/docs/api
- llms.txt: https://assets.dev/llms.txt
- OpenAPI: https://app.assets.dev/api/v1/openapi.json
- Skills: https://app.assets.dev/api/v1/skills

---

Canonical: https://assets.dev/agents
Agent index: https://assets.dev/llms.txt
