Agent-first editing

An API built for agents to build your storefront

Most platforms let AI agents browse content. Oeave lets them author it. Point Claude, ChatGPT, or your own agent at a project key and it can create fibers, assemble threads, upload assets, tune the style, and publish — end-to-end, with audit trails and quota guardrails.

# Give your agent a scoped key. It does the rest.
curl -X POST https://api.oeave.com/agent/v1/projects/$PID/fibers \
  -H "Authorization: Bearer $OEAVE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "kind": "brandStory",
    "data": {
      "title": "Built for the fjords",
      "richText": "<p>Hand-assembled in Bergen…</p>"
    }
  }'
# → 202 { data: { id, version }, pending: [{ taskId, kind: "embed_fiber_plan" }] }

Agents are the new editors

Merchants don't want to spend Friday afternoon in a CMS. They want to describe what they need and have it built. The best LLMs can already design, write, and iterate on storefront content — if the platform meets them halfway.

Oeave was designed, from the first endpoint, for agent authoring. Not a bolt-on chatbot. Not a scraping target. A real write API with the guardrails an autonomous process needs to be trusted with your brand.

What agent-first means

  • Create, read, update, and delete every primitive
  • Scoped keys and per-project permissions
  • Idempotency + optimistic concurrency built-in
  • Async task model so long work doesn't block
  • A self-describing /docs endpoint the agent reads at boot

Everything an agent needs to ship a storefront

End-to-end authoring, not just reads

Create fibers

35+ content primitives — brand stories, feature cards, FAQs, testimonials, pricing, 3D models, video. Agents compose the right shape for the right moment.

Assemble threads

Order fibers into narrative threads per funnel stage. Add, patch, reorder, and delete components with atomic If-Match guards.

Upload assets

Presigned R2 uploads with content-hash dedupe. One call returns a PUT URL; the next finalizes and queues depth/classify/transcribe variants.

Tune the style

Deep-merge patches to colors, fonts, surfaces, motion — or import an entire visual identity from a live URL in one call.

Search semantically

Vector search over every fiber and thread. Agents look up 'what have we said about warranty?' before they write something new.

Publish & verify

Trigger a build, poll the status, read the published URL. The full publish pipeline is callable — no dashboard round-trip.

Designed for autonomy, not for hope

The guardrails that make agents trustworthy

Scoped API keys

Bind each key to specific projects and scopes (fibers:write, threads:delete, publish:write, …). A read-only key can never ship a change; a sandbox key can never touch production.

Idempotency keys

Every write accepts an Idempotency-Key header. Retries from a flaky agent never double-create. Task-backed operations dedupe for 24h.

Optimistic concurrency

Every resource has a version. Pass If-Match: <version> on PATCH to get a clean 409 on conflict — no silent overwrites of a teammate's work.

Quotas you can reason about

Per-tier monthly caps on uploads, depth generations, embedding tokens, and publishes. X-Quota-* headers on every response so the agent knows how much runway it has left.

Async tasks, not hanging sockets

Long work — embeddings, depth maps, style imports, publishes — returns a 202 with a taskId. Agents poll GET /tasks/:id without holding a connection open.

Structured error envelope

Every failure is { ok: false, error: { code, message, details } } with machine-readable codes (validation, quota_exceeded, insufficient_scope, …). Agents branch on code, not prose.

Ships with a skill your agent already understands

Every Oeave deployment serves a canonical skill file at /agent/v1/skill. Drop it into Claude Code, a Claude Agent SDK project, or any ChatGPT custom GPT and the agent knows the conventions, the endpoints, the fiber primitives, and the happy-path recipes.

The same deployment also exposes /agent/v1/docs — a JSON catalog of endpoints, scopes, fiber kinds, and component shapes. Fetched once at the start of a session, it grounds the agent in exactly what your tier can do.

Self-describing at session start

# 1. Load the skill — the agent learns the conventions
curl https://api.oeave.com/agent/v1/skill

# 2. Fetch the live endpoint catalog
curl https://api.oeave.com/agent/v1/docs \
  -H "Authorization: Bearer $OEAVE_API_KEY"

# 3. Check identity, tier, and quota budget
curl https://api.oeave.com/agent/v1/me \
  -H "Authorization: Bearer $OEAVE_API_KEY"

What agents build with it

Three patterns we see on day one

Describe-to-storefront

A merchant tells their agent "build me a page for the new 500ml flask." The agent drafts fibers from brand assets, arranges threads per funnel stage, imports the style from the merchant's website, and hits publish. Human reviews, not human assembles.

Continuous sync

Scheduled jobs pull fresh specs from a PIM, patch the matching fibers with If-Match versions, skip re-embedding unchanged copy, and republish. Your agent is the glue between your CMS and Oeave.

Programmatic experiments

Clone a thread, swap the hook, publish under a test slug, and read back analytics. Agents run dozens of variants in the time it takes a marketer to brief one.

Why 'agent-first' is not the same as 'has an API'

A quick reality check

When an agent…Typical CMS APIOeave
Learns the endpointsScrape marketing docs, guess at shapesFetch /agent/v1/docs — full catalog as JSON
Retries a flaky writeHope idempotency, or double-postIdempotency-Key dedupes for 24h
Handles long workBlocks on the request or fire-and-forget202 + taskId; poll when ready
Avoids stomping on teammatesLast-write-winsIf-Match versions → 409 on conflict
Hits a quota ceilingOpaque 429 or silent drop402 quota_exceeded with metric + resetsAt
Needs limited accessOne key with god modePer-project, per-scope keys

Agents that read, agents that write

Oeave's agentic commerce stack makes your content discoverable to shopping agents via MCP, llms.txt, and query video. The agent API is the other side of the same coin — letting agents build the content those shopping agents will later surface.

The agent can ship it

Give your AI a real API.

Create a project, generate a scoped key, point your agent at /agent/v1/docs, and watch it build. Free to start.