$TAPE_GATEWAY as the base URL. For Tapenet, set:
Conventions
Every endpoint on the following pages behaves the same way in these respects. The endpoint pages stay short because these rules apply everywhere. Read-only. There are no write endpoints here. Writes are Solana transactions made through the CLI and the SDKs. If you want HTTP writes, that’s the S3-compatible gateway. Bootstrap behavior. A gateway that is still catching up with the chain serves only health and stats. Every other route returns503 until it’s ready.
Errors. Plain status codes with a short message body:
Metering. The two content endpoints,
/object/{track_id} and /track/{track_id}, draw down per-IP request and byte buckets. The /v1 catalog family and the status routes are not metered. See rate limits for the tiers and the self-hosting path.
Request tracing (planned). Responses will carry a request ID that follows the request through the gateway’s storage-node calls, so you can quote it when reporting an issue.
Caching. Decoded-content responses are track-addressed: the ETag is the track’s on-chain commitment and Cache-Control is immutable, because a track-addressed URL can only ever serve one payload. This is what makes gateway responses cache well (serving through a CDN).
Wire formats. The /object and /track endpoints serve raw bytes, and the status endpoints serve JSON; both are comfortable from curl. The versioned /v1/tracks and /v1/tapes catalog family answers in the SDK’s compact binary encoding, except the slice route, which returns raw bytes. Its pages gain SDK examples as the TypeScript, Go, Python, Swift, and Kotlin SDKs are published.
Endpoints
Status
Health and stats. These serve even during bootstrap.
Objects
Decoded object content and the name-ordered object catalog.
Tracks
Track records, payloads, proofs, slices, lookup, and listing.