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

# Developer API Quickstart

> Prepare a Starfire AI developer application, create a scoped credential, make a first v1 request, and capture request IDs safely.

# Developer API quickstart

The Starfire Developer Platform is an Alpha surface. Use the active Developer Portal as the source of truth for which `/v1` routes are enabled on your deployment.

## 1. Create or select an application

Use a named application for production integrations so credentials, webhooks, usage, and ownership stay connected.

For organization workloads, prefer organization-owned applications or service accounts when available.

## 2. Create a scoped credential

Grant only the scopes required by the integration. Store the secret in server-side configuration or a secrets manager.

Never embed it into a browser bundle or mobile app.

## 3. Choose the v1 resource

The Starfire v1 architecture includes resource families such as:

```text theme={null}
/v1/models
/v1/chat/completions
/v1/responses
/v1/runs
/v1/builds
/v1/files
/v1/artifacts
/v1/knowledge
/v1/research
```

<Warning>
  A resource path appearing in the Alpha documentation does not guarantee that route is enabled for your account today. Confirm in the current Developer Portal or OpenAPI surface before production integration.
</Warning>

## 4. Send authorization

Where the active contract uses bearer API keys, send the key in the documented server-side Authorization header.

```bash theme={null}
curl https://api.ethanbragdon.icu/v1/models \
  -H "Authorization: Bearer $STARFIRE_API_KEY"
```

Use an environment variable or secret manager for `$STARFIRE_API_KEY`.

## 5. Capture request IDs

Log the Starfire request identifier returned by the active API. Store it alongside your own request trace so failures can be correlated with Developer Portal and Control Center telemetry.

## 6. Respect limits and final states

A successful request that creates a long-running run/build only confirms the resource was accepted. Poll, stream, or receive a webhook until the final state is known.

<CardGroup cols={2}>
  <Card title="Authentication & scopes" icon="key" href="/developers/authentication-scopes">Secure the credential and permission model.</Card>
  <Card title="Limits & errors" icon="triangle-exclamation" href="/developers/rate-limits-errors">Build retry and error handling correctly.</Card>
</CardGroup>
