{"id":"openapi-slice","title":"Slice one operation out of an OpenAPI 3.0 or 3.1 document with every component it needs","description":"Extracts one operation (path plus HTTP method, matching templated paths like /pets/{id}) from an OpenAPI 3.0.x or 3.1.x document, given as JSON, YAML or a parsed object, and returns a smaller valid OpenAPI document holding that operation, its path-level parameters and servers, and the transitive closure of every local $ref it uses: schemas, parameters, requestBodies, responses, headers, examples, links, callbacks, pathItems, securitySchemes and discriminator mappings, cycle safe. For agents that need to put one endpoint of a large API into a prompt or a tool definition. External file or URL references are listed and the status is unsupported, never silently dropped. It does not validate the document and does not dereference (references stay as $ref).","roi":"A 2 MB API description shrinks to the few KB one call needs, with nothing missing. 400 KB of JSON, 50 KB of YAML or 120,000 nodes per $0.005 call.","audience":"developer","package":"data-contract-kit","channels":["x402","mcp"],"endpoint":{"method":"POST","url":"https://agents.writerslogic.com/api/v1/openapi-slice","path":"/api/v1/openapi-slice","contentType":"application/json"},"price":{"amount":"0.005","currency":"USDC","network":"base","perCall":true,"failedCallsCharged":false},"inputSchema":{"type":"object","additionalProperties":false,"required":["path","method"],"properties":{"spec":{"description":"The OpenAPI document as a JSON object (use specText for YAML)."},"specText":{"type":"string","maxLength":400000,"description":"The OpenAPI document as JSON text (up to 400000 characters) or YAML text (up to 50000 characters)."},"path":{"type":"string","maxLength":500,"description":"Concrete or templated path, e.g. /pets/{petId} or /pets/42."},"method":{"type":"string","enum":["get","put","post","delete","options","head","patch","trace"]}}},"resultSchema":{"type":"object","properties":{"status":{"type":"string","enum":["pass","fail","unknown","unsupported"],"description":"pass: every rule held. fail: a rule was violated (see witnesses). unknown: the input lacks the evidence to decide. unsupported: outside what this engine covers. Missing evidence is never a pass."},"slice":{"anyOf":[{"description":"The sliced OpenAPI document."},{"type":"null"}]},"matchedPath":{"anyOf":[{"type":"string"},{"type":"null"}]},"templateMatch":{"type":"boolean","description":"True when path matched a templated key such as /pets/{id}."},"operationId":{"anyOf":[{"type":"string"},{"type":"null"}]},"openapi":{"anyOf":[{"type":"string"},{"type":"null"}]},"included":{"type":"object","properties":{"references":{"type":"integer"},"components":{"type":"array","items":{"type":"string"}},"securitySchemes":{"type":"array","items":{"type":"string"}}}},"unresolved":{"type":"array","items":{"type":"object","properties":{"ref":{"type":"string"},"from":{"type":"string"},"reason":{"type":"string"}}}},"sizes":{"type":"object","properties":{"sourceNodes":{"type":"integer"},"sliceBytes":{"type":"integer"},"sliceNodes":{"type":"integer"}}},"witnesses":{"type":"array","items":{"type":"object","properties":{"ruleId":{"type":"string"},"detail":{"type":"string"},"path":{"type":"string","description":"JSON pointer or dotted path into the input."},"offset":{"type":"integer"},"index":{"type":"integer"},"expected":{"description":"What the rule required."},"actual":{"description":"What the input had."}}}},"versions":{"type":"object","description":"Every semantic dependency of this answer (engine, tables and their as-of dates, tokenizer, calendar, rounding profile)."},"limits":{"type":"array","items":{"type":"string"}},"deterministic":{"type":"boolean","description":"Always true: pure code, no model."}}},"outputSchema":{"type":"object","properties":{"data":{"type":"object","properties":{"status":{"type":"string","enum":["pass","fail","unknown","unsupported"],"description":"pass: every rule held. fail: a rule was violated (see witnesses). unknown: the input lacks the evidence to decide. unsupported: outside what this engine covers. Missing evidence is never a pass."},"slice":{"anyOf":[{"description":"The sliced OpenAPI document."},{"type":"null"}]},"matchedPath":{"anyOf":[{"type":"string"},{"type":"null"}]},"templateMatch":{"type":"boolean","description":"True when path matched a templated key such as /pets/{id}."},"operationId":{"anyOf":[{"type":"string"},{"type":"null"}]},"openapi":{"anyOf":[{"type":"string"},{"type":"null"}]},"included":{"type":"object","properties":{"references":{"type":"integer"},"components":{"type":"array","items":{"type":"string"}},"securitySchemes":{"type":"array","items":{"type":"string"}}}},"unresolved":{"type":"array","items":{"type":"object","properties":{"ref":{"type":"string"},"from":{"type":"string"},"reason":{"type":"string"}}}},"sizes":{"type":"object","properties":{"sourceNodes":{"type":"integer"},"sliceBytes":{"type":"integer"},"sliceNodes":{"type":"integer"}}},"witnesses":{"type":"array","items":{"type":"object","properties":{"ruleId":{"type":"string"},"detail":{"type":"string"},"path":{"type":"string","description":"JSON pointer or dotted path into the input."},"offset":{"type":"integer"},"index":{"type":"integer"},"expected":{"description":"What the rule required."},"actual":{"description":"What the input had."}}}},"versions":{"type":"object","description":"Every semantic dependency of this answer (engine, tables and their as-of dates, tokenizer, calendar, rounding profile)."},"limits":{"type":"array","items":{"type":"string"}},"deterministic":{"type":"boolean","description":"Always true: pure code, no model."}}},"_provenance":{"type":"object","description":"C2PA-aligned manifest and W3C VC 2.0 (eddsa-jcs-2022) issued by the hub DID; verify at POST /api/v1/verify-provenance"}},"required":["data","_provenance"]},"example":{"specText":"openapi: 3.0.3\ninfo: {title: Pets, version: '1'}\npaths:\n  /pets/{id}:\n    get:\n      operationId: getPet\n      parameters:\n        - $ref: '#/components/parameters/Id'\n      responses:\n        '200':\n          description: ok\n          content:\n            application/json:\n              schema: {$ref: '#/components/schemas/Pet'}\n  /owners:\n    get:\n      responses:\n        '200': {description: ok}\ncomponents:\n  parameters:\n    Id: {name: id, in: path, required: true, schema: {type: string}}\n  schemas:\n    Pet: {type: object, properties: {friends: {type: array, items: {$ref: '#/components/schemas/Pet'}}}}\n    Unused: {type: string}\n","path":"/pets/42","method":"get"},"openapiOperation":{"operationId":"openapi_slice","summary":"Slice one operation out of an OpenAPI 3.0 or 3.1 document with every component it needs","description":"Extracts one operation (path plus HTTP method, matching templated paths like /pets/{id}) from an OpenAPI 3.0.x or 3.1.x document, given as JSON, YAML or a parsed object, and returns a smaller valid OpenAPI document holding that operation, its path-level parameters and servers, and the transitive closure of every local $ref it uses: schemas, parameters, requestBodies, responses, headers, examples, links, callbacks, pathItems, securitySchemes and discriminator mappings, cycle safe. For agents that need to put one endpoint of a large API into a prompt or a tool definition. External file or URL references are listed and the status is unsupported, never silently dropped. It does not validate the document and does not dereference (references stay as $ref).\n\nPrice: 0.005 USDC on Base (x402).","x-x402-price-usdc":"0.005","x-x402-amount":"5000","x-payment-info":{"protocols":["x402"],"price":{"mode":"fixed","currency":"USD","amount":"0.005"}},"x-audience":"developer","x-sample-url":"https://agents.writerslogic.com/api/v1/samples/openapi-slice","security":[{"x402":[]},{"apiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["path","method"],"properties":{"spec":{"description":"The OpenAPI document as a JSON object (use specText for YAML)."},"specText":{"type":"string","maxLength":400000,"description":"The OpenAPI document as JSON text (up to 400000 characters) or YAML text (up to 50000 characters)."},"path":{"type":"string","maxLength":500,"description":"Concrete or templated path, e.g. /pets/{petId} or /pets/42."},"method":{"type":"string","enum":["get","put","post","delete","options","head","patch","trace"]}}},"example":{"specText":"openapi: 3.0.3\ninfo: {title: Pets, version: '1'}\npaths:\n  /pets/{id}:\n    get:\n      operationId: getPet\n      parameters:\n        - $ref: '#/components/parameters/Id'\n      responses:\n        '200':\n          description: ok\n          content:\n            application/json:\n              schema: {$ref: '#/components/schemas/Pet'}\n  /owners:\n    get:\n      responses:\n        '200': {description: ok}\ncomponents:\n  parameters:\n    Id: {name: id, in: path, required: true, schema: {type: string}}\n  schemas:\n    Pet: {type: object, properties: {friends: {type: array, items: {$ref: '#/components/schemas/Pet'}}}}\n    Unused: {type: string}\n","path":"/pets/42","method":"get"}}}},"responses":{"200":{"description":"Paid result with provenance","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"status":{"type":"string","enum":["pass","fail","unknown","unsupported"],"description":"pass: every rule held. fail: a rule was violated (see witnesses). unknown: the input lacks the evidence to decide. unsupported: outside what this engine covers. Missing evidence is never a pass."},"slice":{"anyOf":[{"description":"The sliced OpenAPI document."},{"type":"null"}]},"matchedPath":{"anyOf":[{"type":"string"},{"type":"null"}]},"templateMatch":{"type":"boolean","description":"True when path matched a templated key such as /pets/{id}."},"operationId":{"anyOf":[{"type":"string"},{"type":"null"}]},"openapi":{"anyOf":[{"type":"string"},{"type":"null"}]},"included":{"type":"object","properties":{"references":{"type":"integer"},"components":{"type":"array","items":{"type":"string"}},"securitySchemes":{"type":"array","items":{"type":"string"}}}},"unresolved":{"type":"array","items":{"type":"object","properties":{"ref":{"type":"string"},"from":{"type":"string"},"reason":{"type":"string"}}}},"sizes":{"type":"object","properties":{"sourceNodes":{"type":"integer"},"sliceBytes":{"type":"integer"},"sliceNodes":{"type":"integer"}}},"witnesses":{"type":"array","items":{"type":"object","properties":{"ruleId":{"type":"string"},"detail":{"type":"string"},"path":{"type":"string","description":"JSON pointer or dotted path into the input."},"offset":{"type":"integer"},"index":{"type":"integer"},"expected":{"description":"What the rule required."},"actual":{"description":"What the input had."}}}},"versions":{"type":"object","description":"Every semantic dependency of this answer (engine, tables and their as-of dates, tokenizer, calendar, rounding profile)."},"limits":{"type":"array","items":{"type":"string"}},"deterministic":{"type":"boolean","description":"Always true: pure code, no model."}}},"_provenance":{"type":"object","description":"C2PA-aligned manifest and W3C VC 2.0 (eddsa-jcs-2022) issued by the hub DID; verify at POST /api/v1/verify-provenance"}},"required":["data","_provenance"]}}}},"400":{"description":"Invalid request (no payment consumed)","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string"}}}}}},"401":{"description":"Invalid X-API-KEY","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string"}}}}}},"402":{"description":"Payment required or invalid","content":{"application/json":{"schema":{"type":"object","description":"x402 v2 PaymentRequired (also base64 in the PAYMENT-REQUIRED header)","properties":{"x402Version":{"type":"integer"},"error":{"type":"string"},"code":{"type":"string"},"resource":{"type":"object"},"accepts":{"type":"array","items":{"type":"object"}},"extensions":{"type":"object"}}}}}},"502":{"description":"Upstream failure; the payment is released or not settled","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string"}}}}}}}},"links":{"docs":"https://agents.writerslogic.com/docs/openapi-slice/","docsJson":"https://agents.writerslogic.com/docs/openapi-slice.json","sample":"https://agents.writerslogic.com/api/v1/samples/openapi-slice","openapi":"https://agents.writerslogic.com/openapi.json","catalog":"https://agents.writerslogic.com/api/v1/catalog","verifyProvenance":"https://agents.writerslogic.com/api/v1/verify-provenance","index":"https://agents.writerslogic.com/docs/index.json"}}