API reference

Overview

The LoopLlama API is organized around REST. It uses predictable resource URLs, accepts and returns JSON, and relies on standard HTTP verbs and status codes.

Base URL & versioning#

All endpoints live under a single versioned base URL. The current version is v1; breaking changes ship under a new version prefix.

Base URL
https://api.loopllama.ai/v1

Authentication#

Authenticate every request with a Bearer API key. See Authentication for details.

bash
-H "Authorization: Bearer ll_live_..."

Requests#

  • Send request bodies as JSON with a Content-Type: application/json header.
  • Field names in request bodies use camelCase (e.g. systemPrompt), matching the agent schema.
  • Resource ids are passed as path segments, e.g. /v1/workflows/{id}.

Response envelope#

Successful responses wrap the payload in a data key. A single resource returns an object; collections return an array. Response field names use snake_case (e.g. created_at, workflow_id).

json
// Single resource
{ "data": { "id": "ckv9...", "name": "Brief writer" } }

// Collection
{ "data": [ { "id": "ckv9..." }, { "id": "ckva..." } ] }

Errors are returned without a data key — instead they carry a top-level error string. See Errors.

HTTP status codes#

  • 200 OK — a successful read.
  • 201 Created — a workflow was created.
  • 202 Accepted — a run was queued and will execute asynchronously.
  • 400, 401, 404, 409 — client errors, detailed on the Errors page.

Endpoints#

The complete v1 surface:

GET/v1/workflows
POST/v1/workflows
GET/v1/workflows/{id}
GET/v1/workflows/{id}/runs
POST/v1/workflows/{id}/runs
GET/v1/runs/{id}

Resources#