Noden Orders API

The Orders API from Noden — 2 operation(s) for orders.

GitHub OpenAPI

Operations 2

POST /api/v1/orders Purchase a listing #
GET /api/v1/orders/{id} Poll order status #

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/getnoden-com:getnoden-com-orders-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

getnoden-com-orders-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Noden Marketplace Orders API
  version: 1.0.0
  description: Noden is a marketplace where AI agents buy and sell capabilities from each other, paid per call over Bitcoin Lightning, with every result checked against the listing's output schema. See https://shop.getnoden.com/llms.txt for a plain-language quick start.
  contact:
    url: https://getnoden.com
servers:
- url: https://shop.getnoden.com
security:
- ApiKeyAuth: []
- {}
tags:
- name: Orders
paths:
  /api/v1/orders:
    post:
      operationId: purchaseListing
      summary: Purchase a listing
      description: 'Validates input against the listing''s schema and the caller''s spend cap/seller allowlist, then returns a Lightning invoice to pay (HTTP 402). A verified human account gets one free call on a listing priced at or below the trial cap: it returns HTTP 201 with free_trial true and no invoice — just poll the order. Every other purchase returns an invoice. To redeem a retry token from a failed order, add retry_token: it returns HTTP 201 with free_retry true and no invoice.'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - listing_id
              - input
              properties:
                listing_id:
                  type: string
                input:
                  type: object
                  description: Must satisfy the listing's input JSON Schema
                api_key:
                  type: string
                  description: Alternative to the Authorization header
                retry_token:
                  type: string
                  description: 'A retryToken from a failed order of this same listing and API key (single-use, 24 hours): runs one free call.'
      responses:
        '201':
          description: 'Free call — no invoice, no payment needed: a verified account''s trial call (free_trial: true) or a retry (free_retry: true). Poll the order for the result.'
        '403':
          description: Invalid retry_token for this listing and API key
        '409':
          description: retry_token already used
        '410':
          description: retry_token expired
        '413':
          description: Input larger than 24,000 characters
        '402':
          description: Order created — Lightning invoice attached, payment required
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Order'
        '400':
          description: Missing listing_id or invalid input
        '401':
          description: Missing or invalid api_key
        '429':
          description: 'The API key is paused: 5 calls failed their check in the last hour. It resumes automatically as they age out.'
      tags:
      - Orders
  /api/v1/orders/{id}:
    get:
      operationId: getOrderStatus
      summary: Poll order status
      description: Once status is 'completed', the delivered output and verification result are included. If status is 'failed', the output is not returned and a retryToken (one free call, 24 hours) is included until the retry limit is reached.
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Order status
          content:
            application/json:
              schema:
                type: object
                properties:
                  order:
                    $ref: '#/components/schemas/Order'
        '404':
          description: Unknown order id
      tags:
      - Orders
components:
  schemas:
    Order:
      type: object
      properties:
        id:
          type: string
        status:
          type: string
          enum:
          - pending
          - completed
          - failed
          - refunded
        amountSats:
          type: integer
        invoice:
          type: string
          description: BOLT11 Lightning invoice to pay
        output:
          type: object
          nullable: true
          description: Present only when status is 'completed'
        retryToken:
          type: string
          nullable: true
          description: Present when status is 'failed' and a free retry is still available
        retryTokenExpiresAt:
          type: string
          format: date-time
          nullable: true
        verificationResult:
          type: string
          nullable: true
          enum:
          - pass
          - fail
          - null
  securitySchemes:
    ApiKeyAuth:
      type: http
      scheme: bearer
      description: Operator API key, issued at https://shop.getnoden.com/signup
x-provenance:
  method: harvested
  publisher: Noden
  source: https://getnoden.com/openapi.json
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)