{"components":{"schemas":{"ApiCatalog":{"additionalProperties":false,"properties":{"linkset":{"items":{"type":"object"},"type":"array"}},"required":["linkset"],"type":"object"},"ApiIndex":{"additionalProperties":false,"properties":{"cli":{"format":"uri","type":"string"},"docs":{"format":"uri","type":"string"},"envelope":{"description":"GET an origin pointer, for example /api/v1/content/{txid}_0:-1","type":"string"},"llms":{"format":"uri","type":"string"},"openapi":{"format":"uri","type":"string"},"version":{"type":"string"},"versionPolicy":{"format":"uri","type":"string"}},"required":["version","openapi","envelope","cli","docs","versionPolicy"],"type":"object"},"CliPackage":{"additionalProperties":false,"properties":{"docs":{"format":"uri","type":"string"},"install":{"type":"string"},"name":{"type":"string"},"package":{"format":"uri","type":"string"},"registry":{"type":"string"}},"required":["name","registry","package","install","docs"],"type":"object"},"Error":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"},"hint":{"type":"string"},"message":{"type":"string"},"status":{"type":"integer"}},"required":["code","error","message","status"],"type":"object"},"OpenApiDocument":{"additionalProperties":true,"properties":{"info":{"type":"object"},"openapi":{"type":"string"},"paths":{"type":"object"}},"required":["openapi","info","paths"],"type":"object"},"Problem":{"additionalProperties":false,"properties":{"code":{"type":"string"},"detail":{"type":"string"},"error":{"type":"string"},"hint":{"type":"string"},"instance":{"type":"string"},"message":{"type":"string"},"status":{"type":"integer"},"title":{"type":"string"},"type":{"format":"uri","type":"string"}},"required":["type","title","status","detail","code"],"type":"object"},"VersionPolicy":{"additionalProperties":false,"properties":{"breaking":{"type":"string"},"deprecation":{"type":"string"},"docs":{"format":"uri","type":"string"},"sunset":{"type":"string"},"version":{"type":"string"}},"required":["version","breaking","deprecation","sunset","docs"],"type":"object"}}},"externalDocs":{"description":"npm CLI: npx bitplan","url":"https://www.npmjs.com/package/bitplan"},"info":{"description":"Public read surface for BitPlan. This is API v1 at /api/v1. Breaking changes increment the URL path to /api/v2. Deprecated operations send a Deprecation header (RFC 9745) and a Sunset header at least 90 days out. The policy page is /docs/api. Nothing is deprecated today. Responses include RateLimit and RateLimit-Policy (120 requests per 60-second window). Unknown /api/v1 and /ordfs paths return application/problem+json. Publishing and decrypting happen in the user's BRC-100 wallet via the npm package bitplan, not this HTTP API.","title":"BitPlan","version":"1.0.0"},"openapi":"3.1.0","paths":{"/.well-known/api-catalog":{"get":{"description":"RFC 9727 API catalog pointing at /openapi.json.","operationId":"getApiCatalog","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiCatalog"}},"application/linkset+json":{"schema":{"$ref":"#/components/schemas/ApiCatalog"}}},"description":"Linkset catalog"}},"summary":"API catalog"}},"/api/v1":{"get":{"description":"Machine-readable index of the v1 read API, the OpenAPI document, and the npm CLI.","operationId":"getApiIndex","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiIndex"}}},"description":"API index"}},"summary":"API v1 index"}},"/api/v1/cli":{"get":{"description":"npm package bitplan: install with npx bitplan or bunx bitplan.","operationId":"getCliPackage","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CliPackage"}}},"description":"CLI package coordinates"}},"summary":"npm CLI bitplan"}},"/api/v1/content/{pointer}":{"get":{"description":"Fetch a BitPlan envelope from 1Sat. Pointer is origin or outpoint plus sequence, for example txid_0:-1 for the tip. Publishing and decrypting happen in the user's BRC-100 wallet via the npm CLI bitplan, not this HTTP API.","operationId":"getEnvelopeV1","parameters":[{"description":"txid_vout:seq. Sequence -1 is the tip, 0 is genesis, N is an absolute sequence.","in":"path","name":"pointer","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/x-bitplan":{"schema":{"format":"binary","type":"string"}}},"description":"Validated BitPlan envelope bytes"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Invalid pointer"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No inscription at that pointer"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Upstream content could not be used"}},"summary":"Read a draft envelope"}},"/api/v1/version":{"get":{"description":"Versioning and deprecation policy for the public read API.","operationId":"getVersionPolicy","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VersionPolicy"}}},"description":"Version and deprecation policy"}},"summary":"API version policy"}},"/llms.txt":{"get":{"description":"Agent instructions: when to use BitPlan and how to run the npm CLI bitplan.","operationId":"getLlmsTxt","responses":{"200":{"content":{"text/markdown":{"schema":{"type":"string"}}},"description":"Markdown instructions"}},"summary":"Agent instructions"}},"/openapi.json":{"get":{"description":"OpenAPI 3.1 description of the public read API.","operationId":"getOpenApi","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenApiDocument"}}},"description":"OpenAPI document"}},"summary":"OpenAPI document"}},"/ordfs/content/{pointer}":{"get":{"description":"Fetch a BitPlan envelope from 1Sat. Pointer is origin or outpoint plus sequence, for example txid_0:-1 for the tip. Publishing and decrypting happen in the user's BRC-100 wallet via the npm CLI bitplan, not this HTTP API.","operationId":"getEnvelope","parameters":[{"description":"txid_vout:seq. Sequence -1 is the tip, 0 is genesis, N is an absolute sequence.","in":"path","name":"pointer","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/x-bitplan":{"schema":{"format":"binary","type":"string"}}},"description":"Validated BitPlan envelope bytes"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Invalid pointer"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No inscription at that pointer"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}},"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Upstream content could not be used"}},"summary":"Read a draft envelope"}}},"servers":[{"description":"BitPlan v1","url":"https://bitplan.dev/api/v1"},{"description":"Site origin","url":"https://bitplan.dev"}]}