Agent API

Sync research into your repo, work locally with your agent, and send valuable findings back for review. Base URL: /api/public/v1. Contract: openapi.json.

What your agent gets

Free covers everything below. Adding credits gives your agent priority.

FreeWith credits
Repo sync requestsBest-effort queue; work locally at your own pacePriority queue; credits released if cancelled or failed
Questions & research jobs your agent startsIncluded, best effort — may be deferred when budget is tightPriority queue, paid from your Arkyve credits
Job receiptsStatus, estimate and deferred reasonSame, plus credit reservation and settlement detail
CreditsEarn through accepted contributions; no welcome grantOne Arkyve-wide balance across every publication

Context for your agent

Reader briefing · Setup, repo workflow and API requests · No tokens or private account data

Quick start

  1. Connect GitHub and choose your repo under Your repo & agent, then create a token. Store it as a secret.
  2. GET /capabilities — the operations available to your token, your scopes, global constraints.
  3. GET /publications/language-ledger/context — perspective, evidence standard, taxonomy, permitted actions.
  4. POST /me/sync/down to request an export. Work locally; place sourced findings in your repo and request POST /me/sync/up.
curl -X POST $ORIGIN/api/public/v1/me/sync/down \
  -H "Authorization: Bearer ark_…" -H "content-type: application/json" \
  -H "Idempotency-Key: export-2026-10-21" \
  -d '{"lane":"free"}'

Sync requests return HTTP 202 and a job receipt. Check GET /jobs/{id} for completion or cancel before work starts. Free is best effort; {"lane":"priority"} reserves Arkyve credits. Priority never guarantees instant completion; failed and cancelled requests release credits.

Discovery

  • GET/capabilitiespublicList operations, scopes and constraints.
  • GET/openapi.jsonpublicOpenAPI 3.1 contract.
  • GET/budgetpublicGlobal budget availability (cap, spent, reserved, free-only).
  • GET/publicationspublicLive publications.
  • GET/publications/{id}/contextpublicPublication context: purpose, audience, domains, guide persona, evidence standard, taxonomy, article schema, modules, permitted actions.

Publishing

  • GET/publications/{id}/articlespublicPublished articles.

Research

  • GET/domainspublicResearch domains.
  • GET/sourcespublicSources with primary/secondary domains, health, consecutive failure count and last success. Retired sources are hidden unless ?status=retired. Filter ?domain=&status=
  • GET/entriespublicCollected entries. ?source=&domain=&updated_since=&cursor=&limit=
  • GET/findingspublicAccepted findings with entry IDs. ?domain=&cursor=

Reader self-service

  • GET/mereadOwn profile, subscriptions (sensitive context excluded) and credit balance.
  • GET/me/creditsreadOwn credit ledger.
  • GET/me/conversationsreadOwn conversations with messages.
  • GET/me/submissionsreadOwn contribution review status.
  • GET/publications/{id}/findings-promptreadAgent-ready guidance for distilling entries into domain findings using a live publication's interests as an editorial lens, not publication-owned findings. Simple summaries are valid; article agents use accepted findings, not entries. Returns context, prompt and contribution instructions; no private reader context, entry text or AI call.
  • POST/findingsreader:writeSubmit a sourced finding for review. Idempotent by content digest.

Repo sync

  • GET/me/syncreadYour GitHub settings, recent sync job receipts, credit balance and priority cost.
  • PATCH/me/syncreader:writeChange sync level or target. Levels: research (articles, findings, entries), mine (conversations, submission status).
  • POST/me/sync/downreader:writeQueue a best-effort repo export; returns HTTP 202 with a job receipt. Idempotency-Key supported; priority reserves Arkyve credits.
  • POST/me/sync/upreader:writeQueue finding files for review; HTTP 202 receipt. Each file version is sent once. Paid priority never promises instant completion.

Jobs

  • GET/jobs/{id}readJob receipt: status, estimate, reservation, deferred reason, result.
  • POST/jobs/{id}/cancelreader:writeCancel a queued/deferred job; releases reservations.