WritersLogic Verifiable AI Agent Hub Context Pack API

The Context Pack API from WritersLogic Verifiable AI Agent Hub — 1 operation(s) for context pack.

GitHub OpenAPI

Operations 1

POST /api/v1/context-pack Pick context blocks that fit a token budget, keeping mandatory blocks and their… #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/writerslogic-com:writerslogic-com-context-pack-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

writerslogic-com-context-pack-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: WritersLogic Verifiable AI Agent Hub Context Pack API
  version: 2.0.0
  description: Pay-per-call agents settled in USDC on Base via x402. Every response carries a signed provenance envelope.
  contact:
    name: WritersLogic
    url: https://writerslogic.com/agents
    email: agents@writerslogic.com
servers:
- url: https://agents.writerslogic.com
tags:
- name: Context Pack
paths:
  /api/v1/context-pack:
    post:
      operationId: context_pack
      summary: Pick context blocks that fit a token budget, keeping mandatory blocks and their…
      description: 'Chooses which context items an agent should put into a prompt without exceeding a token budget: every mandatory item and everything it depends on is always included, then optional items by descending priority (each with the dependencies it pulls in) while they fit. Token counts come from the caller or from o200k_base / cl100k_base; any other tokenizer name returns unsupported (there is no Claude tokenizer, so nothing is estimated). Greedy by priority, not an optimal knapsack; per-item counts are summed and do not model merges across item boundaries (use perItemOverhead for separators). Does not summarize or rewrite items.


        Price: 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: agent-infra
      x-sample-url: https://agents.writerslogic.com/api/v1/samples/context-pack
      security:
      - x402: []
      - apiKey: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              required:
              - items
              - budget
              properties:
                items:
                  type: array
                  items:
                    type: object
                    additionalProperties: false
                    properties:
                      id:
                        type: string
                        maxLength: 100
                        minLength: 1
                        description: Unique id.
                      text:
                        type: string
                        maxLength: 100000
                        description: Content to count when tokens is not given.
                      tokens:
                        type: integer
                        minimum: 0
                        maximum: 100000000
                        description: Caller-supplied token count; always accepted and used in preference to counting text.
                      priority:
                        type: number
                        minimum: -1000000
                        maximum: 1000000
                        description: Higher is packed first among optional items. Default 0.
                      mandatory:
                        type: boolean
                        description: Always included, with its dependencies; if they cannot fit the result is fail.
                      dependsOn:
                        type: array
                        items:
                          type: string
                          maxLength: 100
                        maxItems: 50
                        description: Ids that must be included whenever this item is.
                    required:
                    - id
                  maxItems: 500
                  minItems: 1
                  description: Up to 500 items, 300000 characters of text in total.
                budget:
                  type: integer
                  minimum: 1
                  maximum: 100000000
                  description: Maximum total tokens (including perItemOverhead per included item).
                tokenizer:
                  type: string
                  maxLength: 64
                  description: o200k_base or cl100k_base. Any other name (including Claude models) returns status unsupported for items that need counting; caller token counts are always accepted.
                perItemOverhead:
                  type: integer
                  minimum: 0
                  maximum: 100000
                  description: Tokens added per included item for separators or wrappers. Default 0.
            example:
              items:
              - id: system
                tokens: 300
                mandatory: true
              - id: schema
                tokens: 500
                dependsOn:
                - system
                priority: 5
              - id: history
                tokens: 4000
                priority: 1
              - id: notes
                text: Customer prefers email.
                priority: 3
              budget: 1000
              tokenizer: o200k_base
      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.'
                      budget:
                        type: integer
                      usedTokens:
                        type: integer
                        description: Total of included items; never above budget when status is pass.
                      remainingTokens:
                        type: integer
                      included:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          properties:
                            id:
                              type: string
                            tokens:
                              type: integer
                            reason:
                              type: string
                              enum:
                              - mandatory
                              - dependency
                              - priority
                        maxItems: 500
                        description: In input order.
                      excluded:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          properties:
                            id:
                              type: string
                            tokens:
                              type: integer
                            reason:
                              type: string
                              enum:
                              - over-budget
                            needsTokens:
                              type: integer
                              description: Cost of this item plus the dependencies it would pull in.
                        maxItems: 500
                      mandatoryTokens:
                        type: integer
                        description: Cost of the mandatory items and their dependencies.
                      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
      tags:
      - Context Pack
components:
  securitySchemes:
    x402:
      type: apiKey
      in: header
      name: PAYMENT-SIGNATURE
      description: x402 v2 payment payload (base64) sent after a 402 challenge
    apiKey:
      type: apiKey
      in: header
      name: X-API-KEY