Fabler Labs Commerce API

Paid autonomous purchase of downloadable product SKUs.

GitHub OpenAPI

Operations 5

GET /buy/pack Buy the AI Coding Workflow Pack ($24, zip) #
GET /buy/agent-kit Buy the Autonomous Agent Starter Kit ($29, zip) #
GET /buy/ai-coding-security-pack-v1 Buy the AI Coding Security Pack ($29, zip) #
GET /buy/constitution-packs-v1 Buy the Agent Constitution Pack ($19, zip) #
GET /buy/pre-deploy-security-checklist Buy the 18-Point Pre-Deploy Security Checklist ($0.10, zip) #

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/fablerlabs-com:fablerlabs-com-commerce-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

fablerlabs-com-commerce-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Fabler Labs machine store (x402 API) Commerce API
  version: '2026-07-10'
  summary: A machine-payable HTTP API for AI agents, priced per call in USDC over x402.
  description: Machine-payable endpoints for AI agents, over x402 protocol v2. Unpaid requests to a paid endpoint return `402 Payment Required` with an empty `{}` body and a typed challenge (price, network, asset, pay-to address) in a base64-encoded `PAYMENT-REQUIRED` response header; decode it, pay the USDC, and replay with a base64 `PAYMENT-SIGNATURE` header to get the result. Built and operated by an autonomous AI agent, filmed for transparency. Live status and prices are authoritative in https://fablerlabs.com/products.json.
  x-guidance: 'No account or API key is required. Call a paid operation without payment: HTTP 402 -> decode PAYMENT-REQUIRED -> settle the exact x402 v2 Base USDC terms -> replay the same request with PAYMENT-SIGNATURE.'
  contact:
    name: Fabler Labs support
    email: support@fablerlabs.com
    url: https://fablerlabs.com/contact.html
  termsOfService: https://fablerlabs.com/terms.html
  license:
    name: Proprietary — usage governed by the Terms of Service
    url: https://fablerlabs.com/terms.html
servers:
- url: https://x402.fablerlabs.com
  description: Production machine store (preview)
security: []
tags:
- name: Commerce
  description: Paid autonomous purchase of downloadable product SKUs.
paths:
  /buy/pack:
    get:
      tags:
      - Commerce
      operationId: buyPack
      summary: Buy the AI Coding Workflow Pack ($24, zip)
      description: Buy the AI Coding Workflow Pack with USDC, at parity with the human Stripe checkout. On settlement, the response body is the product .zip itself (Content-Disposition attachment).
      x-402:
        priceUsd: 24
        network: eip155:8453
        asset: USDC
      x-payment-info:
        price:
          mode: fixed
          amount: '24.00'
          currency: USD
        protocols:
        - x402: {}
      parameters:
      - $ref: '#/components/parameters/FilenameOverride'
      responses:
        '200':
          description: Payment settled; the product .zip bytes.
          content:
            application/zip:
              schema:
                type: string
                format: binary
        '400':
          $ref: '#/components/responses/BadRequest'
        '402':
          $ref: '#/components/responses/PaymentRequired'
  /buy/agent-kit:
    get:
      tags:
      - Commerce
      operationId: buyAgentKit
      summary: Buy the Autonomous Agent Starter Kit ($29, zip)
      description: Buy the Autonomous Agent Starter Kit with USDC, at parity with the human Stripe checkout. On settlement, the response body is the product .zip itself (Content-Disposition attachment).
      x-402:
        priceUsd: 29
        network: eip155:8453
        asset: USDC
      x-payment-info:
        price:
          mode: fixed
          amount: '29.00'
          currency: USD
        protocols:
        - x402: {}
      parameters:
      - $ref: '#/components/parameters/FilenameOverride'
      responses:
        '200':
          description: Payment settled; the product .zip bytes.
          content:
            application/zip:
              schema:
                type: string
                format: binary
        '400':
          $ref: '#/components/responses/BadRequest'
        '402':
          $ref: '#/components/responses/PaymentRequired'
  /buy/ai-coding-security-pack-v1:
    get:
      tags:
      - Commerce
      operationId: buySecurityPack
      summary: Buy the AI Coding Security Pack ($29, zip)
      description: Buy the AI Coding Security Pack with USDC, at parity with the human Stripe checkout. On settlement, the response body is the product .zip itself (Content-Disposition attachment).
      x-402:
        priceUsd: 29
        network: eip155:8453
        asset: USDC
      x-payment-info:
        price:
          mode: fixed
          amount: '29.00'
          currency: USD
        protocols:
        - x402: {}
      parameters:
      - $ref: '#/components/parameters/FilenameOverride'
      responses:
        '200':
          description: Payment settled; the product .zip bytes.
          content:
            application/zip:
              schema:
                type: string
                format: binary
        '400':
          $ref: '#/components/responses/BadRequest'
        '402':
          $ref: '#/components/responses/PaymentRequired'
  /buy/constitution-packs-v1:
    get:
      tags:
      - Commerce
      operationId: buyConstitutionPack
      summary: Buy the Agent Constitution Pack ($19, zip)
      description: Buy the Agent Constitution Pack with USDC, at parity with the human Stripe checkout. On settlement, the response body is the product .zip itself (Content-Disposition attachment).
      x-402:
        priceUsd: 19
        network: eip155:8453
        asset: USDC
      x-payment-info:
        price:
          mode: fixed
          amount: '19.00'
          currency: USD
        protocols:
        - x402: {}
      parameters:
      - $ref: '#/components/parameters/FilenameOverride'
      responses:
        '200':
          description: Payment settled; the product .zip bytes.
          content:
            application/zip:
              schema:
                type: string
                format: binary
        '400':
          $ref: '#/components/responses/BadRequest'
        '402':
          $ref: '#/components/responses/PaymentRequired'
  /buy/pre-deploy-security-checklist:
    get:
      tags:
      - Commerce
      operationId: buyPreDeploySecurityChecklist
      summary: Buy the 18-Point Pre-Deploy Security Checklist ($0.10, zip)
      description: Buy the editable pre-deploy security checklist with USDC. On settlement, the response body is the product .zip itself (Content-Disposition attachment). This low-ticket entry product is sold directly over x402.
      x-402:
        priceUsd: 0.1
        network: eip155:8453
        asset: USDC
      x-payment-info:
        price:
          mode: fixed
          amount: '0.10'
          currency: USD
        protocols:
        - x402: {}
      parameters:
      - $ref: '#/components/parameters/FilenameOverride'
      responses:
        '200':
          description: Payment settled; the product .zip bytes.
          content:
            application/zip:
              schema:
                type: string
                format: binary
        '400':
          $ref: '#/components/responses/BadRequest'
        '402':
          $ref: '#/components/responses/PaymentRequired'
components:
  responses:
    BadRequest:
      description: Malformed request body — not valid JSON, not a top-level JSON object, or a required field is missing or the wrong type. The body is a typed error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            invalidJson:
              value:
                error: invalid_json
                message: request body is not valid JSON
            invalidRequest:
              value:
                error: invalid_request
                message: 'body must be {"text": string}'
    PaymentRequired:
      description: Payment required. The response body is always empty (`{}`) — the accepted payment terms (price, network, asset, pay-to address) ride in a base64-encoded `PAYMENT-REQUIRED` response header instead (x402 protocol v2; see the `PaymentRequired` schema for the decoded shape). Decode it, pay the USDC, and replay the request with a `PAYMENT-SIGNATURE` header.
      headers:
        PAYMENT-REQUIRED:
          description: Base64-encoded JSON matching the `PaymentRequired` schema. Decode with e.g. `curl -si ... | grep -i '^payment-required:' | cut -d' ' -f2 | base64 -d`.
          schema:
            type: string
            format: byte
            examples:
            - eyJ4NDAyVmVyc2lvbiI6Miwi...
      content:
        application/json:
          schema:
            type: object
            additionalProperties: false
            description: Always empty in x402 protocol v2 — the challenge is carried in the `PAYMENT-REQUIRED` header, not the body.
          examples:
            emptyBody:
              value: {}
  schemas:
    Error:
      type: object
      required:
      - error
      properties:
        error:
          type: string
        detail:
          type: string
  parameters:
    FilenameOverride:
      name: filename
      in: query
      required: false
      description: Optional override for the downloaded file's name, sent back in the Content-Disposition header (the file's bytes and content are unchanged — this only renames the saved file). Must match `^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$` (no path separators, quotes, or control characters); a non-matching value is rejected with 400 before payment is requested. Omit it to get the product's default filename.
      schema:
        type: string
        pattern: ^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$
        examples:
        - my-pack.zip
externalDocs:
  description: Human-readable overview of the machine store
  url: https://fablerlabs.com/x402
x-pricing:
  scan-secrets: 0.005
  scrape: 0.005
  market-funding-spreads: 0.001
  nft-owner: 0.003
  market-polymarket-activity: 0.001
  market-krw-prices: 0.001
  render-og: 0.01
  audit-agent-config: 0.05
  audit-pre-deploy: 0.08
  audit-url-security: 0.08
  buy-pack: 24
  buy-agent-kit: 29
  buy-ai-coding-security-pack-v1: 29
  buy-constitution-packs-v1: 19
  buy-pre-deploy-security-checklist: 0.1