{"uid":"cap_zLxE6MZxfV8tpTb5yroaz","slug":"relaystation-baton-durable-agent-storage-object-ae465beb","name":"Relaystation Baton — Durable Agent Storage Object","description":"A baton is a durable storage object agents create, append, read, and cryptographically prove — then hand off to other agents or people. Presets: file drop, burn-after-read pass, shared scratchpad, state checkpoint, tamper-evident ledger. Metered by bytes, time, egress, writes; price frozen at purchase. 155 tools, one balance — relaystation.ai","url":"https://api.relaystation.ai/v1/baton","method":"POST","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method","bodyType","body"],"properties":{"body":{"type":"object","properties":{"acl":{"type":"object","description":"Collaborator ACL keyed by customer UUID.","additionalProperties":{"enum":["editor","reader"],"type":"string"}},"name":{"type":"string","maxLength":255},"tags":{"type":"array","items":{"type":"string","maxLength":64},"maxItems":32},"tier":{"enum":["femto","pico","nano","micro","standard","big","custom"],"type":"string","description":"Bundled resource tier, or \"custom\" (requires customShape)."},"flags":{"type":"object","properties":{"witness":{"type":"boolean"},"hashChaining":{"type":"boolean"}},"description":"flags.hashChaining: true auto-commits a prepaid witness (an explicit witness: false alongside it → 422 FLAG_DEPENDENCY_UNMET)."},"preset":{"enum":["drop","pass","scratchpad","checkpoint","ledger","witness"],"type":"string","description":"Named preconfig prefill. The LIVE active set is GET /v1/baton/prices."},"tokens":{"type":"array","items":{"type":"object"},"description":"Create-time collaborator tokens; each entry follows the POST /v1/baton/{id}/tokens body."},"content":{"type":"string","description":"Inline initial content (base64-encoded when contentEncoding is base64/binary). Omit for an empty baton."},"schemaRef":{"type":"string","maxLength":255},"rateLimits":{"type":"object"},"contentType":{"type":"string","maxLength":255},"customShape":{"type":"object","required":["sizeBytes","durationSeconds","maxEgressBytes"],"properties":{"sizeBytes":{"description":"Capacity in bytes (number or stringified bigint)."},"readsAllowed":{"type":"integer","minimum":0},"writesAllowed":{"type":"integer","minimum":0},"maxEgressBytes":{"description":"Egress budget in bytes (number or stringified bigint)."},"durationSeconds":{"description":"Lifetime in seconds (number or stringified bigint)."}}},"description":{"type":"string","maxLength":2000},"onExpiration":{"enum":["hard_delete","tombstone_then_delete"],"type":"string"},"eventTriggers":{"type":"array","items":{"type":"object"},"description":"Webhook event triggers; each { url, events[], description? }. The secret is server-minted and returned ONCE."},"contentEncoding":{"enum":["utf-8","base64","binary"],"type":"string"},"requestPresignedUpload":{"type":"boolean","description":"Mint a presigned-PUT URL for an out-of-band initial upload instead of inline content."},"deleteOnAllTokensConsumed":{"type":"boolean"}}},"type":{"type":"string","const":"http"},"method":{"enum":["POST","PUT","PATCH"],"type":"string"},"bodyType":{"enum":["json","form-data","text"],"type":"string"}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object"}}}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.01","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"registry","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.01/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_8zofXrbr8rXGW-uEriizC","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.01","costPer":"request","priority":0,"asset":null,"unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Creates a named, versioned, cryptographically-provable storage object (baton) that agents can write to, read from, append, and hand off to other agents or people","exampleAgentPrompt":"Create a new baton using the 'scratchpad' preset named 'project-notes' so multiple agents can read and write shared notes — set the tier to 'nano' and tag it with 'collaboration' and 'notes'.","exampleUseCases":[{"title":"Burn-after-read secret handoff","prompt":"Create a baton using the 'pass' preset named 'api-credentials-handoff' so I can securely pass a secret to another agent — it should self-destruct after one read."},{"title":"Tamper-evident agent action ledger","prompt":"Set up a new baton using the 'ledger' preset with hash chaining enabled, name it 'audit-trail-2024', and tag it 'compliance' — I need a cryptographically verifiable log of everything my agent fleet does."},{"title":"State checkpoint between pipeline steps","prompt":"Create a 'checkpoint' preset baton named 'pipeline-state-step3' at the 'micro' tier to save my agent's current state so a downstream agent can pick up exactly where it left off."}],"resultDescription":"Returns a baton object with a unique ID, resource metadata (size, duration, egress budget), access tokens, collaborator ACL, cryptographic proof fields, and the initial content if provided. The baton ID is used for all subsequent read, append, and witness operations.","failureModes":["422 FLAG_DEPENDENCY_UNMET — hashChaining:true with witness:false is invalid","400 if required fields (type, method, bodyType, body) are missing","400 if customShape fields are missing when tier is 'custom'","402 if the account balance is insufficient to cover the metered cost","400 if content exceeds the size budget of the selected tier","422 if an invalid preset enum value is provided","403 if the caller lacks permission to create batons"],"whenToPreferThis":"Choose this endpoint when an agent needs a persistent, shareable, cryptographically-provable storage object — especially for inter-agent handoffs, burn-after-read secrets, append-only ledgers, or resumable state checkpoints. Prefer it over generic blob storage when tamper evidence, hash chaining, collaborator ACLs, or preset configurations (drop, pass, scratchpad, checkpoint, ledger) are needed. Ideal when the storage object must be metered, time-limited, and priced at purchase time.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T12:55:40.259Z","isFirstParty":false}