CoW Swap App Data API

The App Data API from CoW Swap — 2 operation(s) for app data.

Operations 3

GET /api/v1/app_data/{app_data_hash} Get the full `appData` from contract `appDataHash` #
PUT /api/v1/app_data/{app_data_hash} Registers a full `appData` so it can be referenced by `appDataHash` #
PUT /api/v1/app_data Registers a full `appData` and returns `appDataHash` #

Specifications

Schemas & Data

📊
JSONSchema
https://artifacts.apis.io/cow-protocol/json-schema/cow-protocol-order-creation-schema.json
📊
JSONSchema
https://artifacts.apis.io/cow-protocol/json-schema/cow-protocol-trade-schema.json
📊
JSONSchema
https://artifacts.apis.io/cow-protocol/json-schema/cow-protocol-order-quote-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/cow-protocol/json-schema/cow-protocol-simulation-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/cow-protocol/json-schema/cow-protocol-solver-competition-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/cow-protocol/json-schema/cow-protocol-order-quote-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/cow-protocol/json-schema/cow-protocol-solve-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/cow-protocol/json-schema/cow-protocol-settle-fast-path-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/cow-protocol/json-schema/cow-protocol-solve-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/cow-protocol/json-schema/cow-protocol-settle-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/cow-protocol/json-schema/cow-protocol-reveal-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/cow-protocol/json-schema/cow-protocol-quote-response-kind-schema.json
📊
JSONSchema
https://artifacts.apis.io/cow-protocol/json-schema/cow-protocol-solution-schema.json
📊
JSONSchema
https://artifacts.apis.io/cow-protocol/json-schema/cow-protocol-auction-schema.json

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/cow-protocol:cow-protocol-app-data-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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

cow-protocol-app-data-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 0.0.1
  title: Order Book App Data API
servers:
- description: Mainnet (Prod)
  url: https://api.cow.fi/mainnet
- description: Mainnet (Staging)
  url: https://barn.api.cow.fi/mainnet
- description: Gnosis Chain (Prod)
  url: https://api.cow.fi/xdai
- description: Gnosis Chain (Staging)
  url: https://barn.api.cow.fi/xdai
- description: Arbitrum One (Prod)
  url: https://api.cow.fi/arbitrum_one
- description: Arbitrum One (Staging)
  url: https://barn.api.cow.fi/arbitrum_one
- description: Base (Prod)
  url: https://api.cow.fi/base
- description: Base (Staging)
  url: https://barn.api.cow.fi/base
- description: Avalanche (Prod)
  url: https://api.cow.fi/avalanche
- description: Avalanche (Staging)
  url: https://barn.api.cow.fi/avalanche
- description: Polygon (Prod)
  url: https://api.cow.fi/polygon
- description: Polygon (Staging)
  url: https://barn.api.cow.fi/polygon
- description: Linea (Prod)
  url: https://api.cow.fi/linea
- description: Linea (Staging)
  url: https://barn.api.cow.fi/linea
- description: BNB (Prod)
  url: https://api.cow.fi/bnb
- description: BNB (Staging)
  url: https://barn.api.cow.fi/bnb
- description: Plasma (Prod)
  url: https://api.cow.fi/plasma
- description: Plasma (Staging)
  url: https://barn.api.cow.fi/plasma
- description: Ink (Prod)
  url: https://api.cow.fi/ink
- description: Ink (Staging)
  url: https://barn.api.cow.fi/ink
- description: Sepolia (Prod)
  url: https://api.cow.fi/sepolia
- description: Sepolia (Staging)
  url: https://barn.api.cow.fi/sepolia
- description: Local
  url: http://localhost:8080
tags:
- name: App Data
paths:
  /api/v1/app_data/{app_data_hash}:
    get:
      operationId: getAppDataByHash
      summary: Get the full `appData` from contract `appDataHash`
      parameters:
      - in: path
        name: app_data_hash
        schema:
          $ref: '#/components/schemas/AppDataHash'
        required: true
      responses:
        '200':
          description: Full `appData`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppDataObject'
        '400':
          description: Invalid app data hash.
        '404':
          description: No full `appData` stored for this hash.
      tags:
      - App Data
    put:
      operationId: registerAppDataByHash
      summary: Registers a full `appData` so it can be referenced by `appDataHash`
      description: Uploads a full `appData` to orderbook so that orders created with the corresponding `appDataHash` can be linked to the original full `appData`.
      parameters:
      - in: path
        name: app_data_hash
        schema:
          $ref: '#/components/schemas/AppDataHash'
        required: true
      requestBody:
        description: The `appData` document to upload.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AppDataObject'
      responses:
        '200':
          description: The full `appData` already exists.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppDataHash'
        '201':
          description: The full `appData` was successfully registered.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppDataHash'
        '400':
          description: Error validating full `appData`
        '422':
          description: Unable to parse request body as valid JSON.
        '500':
          description: Error storing the full `appData`
      tags:
      - App Data
  /api/v1/app_data:
    put:
      operationId: registerAppData
      summary: Registers a full `appData` and returns `appDataHash`
      description: Uploads a full `appData` to orderbook and returns the corresponding `appDataHash`.
      requestBody:
        description: The `appData` document to upload.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AppDataObject'
      responses:
        '200':
          description: The full `appData` already exists.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppDataHash'
        '201':
          description: The full `appData` was successfully registered.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppDataHash'
        '400':
          description: Error validating full `appData`
        '422':
          description: Unable to parse request body as valid JSON.
        '500':
          description: Error storing the full `appData`
      tags:
      - App Data
components:
  schemas:
    AppDataObject:
      description: An `appData` document that is registered with the API.
      type: object
      properties:
        fullAppData:
          $ref: '#/components/schemas/AppData'
      required:
      - fullAppData
    AppData:
      description: 'The string encoding of a JSON object representing some `appData`. The

        format of the JSON expected in the `appData` field is defined

        [here](https://github.com/cowprotocol/app-data).

        '
      type: string
      example: '{"version":"0.9.0","metadata":{}}'
    AppDataHash:
      description: '32 bytes encoded as hex with `0x` prefix.

        It''s expected to be the hash of the stringified JSON object representing the `appData`.

        '
      type: string
      example: '0x0000000000000000000000000000000000000000000000000000000000000000'