<!-- source: https://secondlayer.tools/docs/api-reference#subgraph-open-api-document-object -->

## The Subgraph OpenAPI document object

OpenAPI 3.1 document generated from the definition.

| Field | Type | Description |
| --- | --- | --- |
| `openapi` | string | Always `3.1.0`. |
| `info` | object | Title, the subgraph's version, and its description. |
| `servers` | array of object | The `server` param, or this request's origin. |
| `paths` | object | A list path and a count path per table. |
| `components` | object | A `<table>Row` schema per table. |
| `x-secondlayer-subgraph` | string | Subgraph name. |
| `x-secondlayer-version` | string | Deployed version. |
| `x-secondlayer-schema-hash` | string | sha256 of the definition's name, schema and sources. Changes only when they do. |
| `x-secondlayer-pin` | string | sha256 over the schema hash, bundled handler, startBlock, network and runtime. Absent for subgraphs deployed before pins existed. |
| `x-secondlayer-generated-at` | string · date-time | When this document was generated. |
| `x-secondlayer-sources` | object | The definition's `sources`, as written. |
| `x-secondlayer-tables` | array of string | Table names. |

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "sbtc-token Subgraph API",
    "version": "1.0.0"
  },
  "servers": [
    {
      "url": "http://127.0.0.1:3800"
    }
  ],
  "paths": {
    "/v1/subgraphs/sbtc-token/transfers": {
      "get": {
        "summary": "Query sbtc-token.transfers",
        "operationId": "query_sbtc_token_transfers",
        "parameters": [
          {
            "name": "_limit",
            "in": "query",
            "required": false,
            "description": "Maximum rows to return.",
            "schema": {
              "type": "integer",
              "default": 50,
              "minimum": 1,
              "maximum": 1000
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "Resume token from next_cursor (keyset pagination on _id).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "_order",
            "in": "query",
            "required": false,
            "description": "Sort direction (_id keyset).",
            "schema": {
              "type": "string",
              "enum": [
                "asc",
                "desc"
              ],
              "default": "asc"
            }
          },
          {
            "name": "_fields",
            "in": "query",
            "required": false,
            "description": "Comma-separated columns to include.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sender",
            "in": "query",
            "required": false,
            "description": "Filter sender by equality.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sender.neq",
            "in": "query",
            "required": false,
            "description": "Filter sender by inequality.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sender.like",
            "in": "query",
            "required": false,
            "description": "Case-insensitive contains filter for sender.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "recipient",
            "in": "query",
            "required": false,
            "description": "Filter recipient by equality.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "recipient.neq",
            "in": "query",
            "required": false,
            "description": "Filter recipient by inequality.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "recipient.like",
            "in": "query",
            "required": false,
            "description": "Case-insensitive contains filter for recipient.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "amount",
            "in": "query",
            "required": false,
            "description": "Filter amount by equality.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "amount.neq",
            "in": "query",
            "required": false,
            "description": "Filter amount by inequality.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "amount.gt",
            "in": "query",
            "required": false,
            "description": "Filter amount with gt.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "amount.gte",
            "in": "query",
            "required": false,
            "description": "Filter amount with gte.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "amount.lt",
            "in": "query",
            "required": false,
            "description": "Filter amount with lt.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "amount.lte",
            "in": "query",
            "required": false,
            "description": "Filter amount with lte.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "asset_identifier",
            "in": "query",
            "required": false,
            "description": "Filter asset_identifier by equality.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "asset_identifier.neq",
            "in": "query",
            "required": false,
            "description": "Filter asset_identifier by inequality.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "asset_identifier.like",
            "in": "query",
            "required": false,
            "description": "Case-insensitive contains filter for asset_identifier.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "_id",
            "in": "query",
            "required": false,
            "description": "Filter _id by equality.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "_id.neq",
            "in": "query",
            "required": false,
            "description": "Filter _id by inequality.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "_id.gt",
            "in": "query",
            "required": false,
            "description": "Filter _id with gt.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "_id.gte",
            "in": "query",
            "required": false,
            "description": "Filter _id with gte.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "_id.lt",
            "in": "query",
            "required": false,
            "description": "Filter _id with lt.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "_id.lte",
            "in": "query",
            "required": false,
            "description": "Filter _id with lte.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "_block_height",
            "in": "query",
            "required": false,
            "description": "Filter _block_height by equality.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "_block_height.neq",
            "in": "query",
            "required": false,
            "description": "Filter _block_height by inequality.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "_block_height.gt",
            "in": "query",
            "required": false,
            "description": "Filter _block_height with gt.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "_block_height.gte",
            "in": "query",
            "required": false,
            "description": "Filter _block_height with gte.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "_block_height.lt",
            "in": "query",
            "required": false,
            "description": "Filter _block_height with lt.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "_block_height.lte",
            "in": "query",
            "required": false,
            "description": "Filter _block_height with lte.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "_tx_id",
            "in": "query",
            "required": false,
            "description": "Filter _tx_id by equality.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "_tx_id.neq",
            "in": "query",
            "required": false,
            "description": "Filter _tx_id by inequality.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "_tx_id.like",
            "in": "query",
            "required": false,
            "description": "Case-insensitive contains filter for _tx_id.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "_created_at",
            "in": "query",
            "required": false,
            "description": "Filter _created_at by equality.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "_created_at.neq",
            "in": "query",
            "required": false,
            "description": "Filter _created_at by inequality.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "_created_at.gt",
            "in": "query",
            "required": false,
            "description": "Filter _created_at with gt.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "_created_at.gte",
            "in": "query",
            "required": false,
            "description": "Filter _created_at with gte.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "_created_at.lt",
            "in": "query",
            "required": false,
            "description": "Filter _created_at with lt.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "_created_at.lte",
            "in": "query",
            "required": false,
            "description": "Filter _created_at with lte.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "_created_at.like",
            "in": "query",
            "required": false,
            "description": "Case-insensitive contains filter for _created_at.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Rows returned from the subgraph table.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "rows": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/transfersRow"
                      }
                    },
                    "next_cursor": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "tip": {
                      "type": "object",
                      "properties": {
                        "block_height": {
                          "type": "integer"
                        },
                        "subgraph_height": {
                          "type": "integer"
                        },
                        "blocks_behind": {
                          "type": "integer"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/subgraphs/sbtc-token/transfers/count": {
      "get": {
        "summary": "Count sbtc-token.transfers",
        "operationId": "count_sbtc_token_transfers",
        "parameters": [
          {
            "name": "_limit",
            "in": "query",
            "required": false,
            "description": "Maximum rows to return.",
            "schema": {
              "type": "integer",
              "default": 50,
              "minimum": 1,
              "maximum": 1000
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "Resume token from next_cursor (keyset pagination on _id).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "_order",
            "in": "query",
            "required": false,
            "description": "Sort direction (_id keyset).",
            "schema": {
              "type": "string",
              "enum": [
                "asc",
                "desc"
              ],
              "default": "asc"
            }
          },
          {
            "name": "_fields",
            "in": "query",
            "required": false,
            "description": "Comma-separated columns to include.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sender",
            "in": "query",
            "required": false,
            "description": "Filter sender by equality.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sender.neq",
            "in": "query",
            "required": false,
            "description": "Filter sender by inequality.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sender.like",
            "in": "query",
            "required": false,
            "description": "Case-insensitive contains filter for sender.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "recipient",
            "in": "query",
            "required": false,
            "description": "Filter recipient by equality.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "recipient.neq",
            "in": "query",
            "required": false,
            "description": "Filter recipient by inequality.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "recipient.like",
            "in": "query",
            "required": false,
            "description": "Case-insensitive contains filter for recipient.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "amount",
            "in": "query",
            "required": false,
            "description": "Filter amount by equality.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "amount.neq",
            "in": "query",
            "required": false,
            "description": "Filter amount by inequality.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "amount.gt",
            "in": "query",
            "required": false,
            "description": "Filter amount with gt.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "amount.gte",
            "in": "query",
            "required": false,
            "description": "Filter amount with gte.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "amount.lt",
            "in": "query",
            "required": false,
            "description": "Filter amount with lt.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "amount.lte",
            "in": "query",
            "required": false,
            "description": "Filter amount with lte.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "asset_identifier",
            "in": "query",
            "required": false,
            "description": "Filter asset_identifier by equality.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "asset_identifier.neq",
            "in": "query",
            "required": false,
            "description": "Filter asset_identifier by inequality.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "asset_identifier.like",
            "in": "query",
            "required": false,
            "description": "Case-insensitive contains filter for asset_identifier.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "_id",
            "in": "query",
            "required": false,
            "description": "Filter _id by equality.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "_id.neq",
            "in": "query",
            "required": false,
            "description": "Filter _id by inequality.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "_id.gt",
            "in": "query",
            "required": false,
            "description": "Filter _id with gt.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "_id.gte",
            "in": "query",
            "required": false,
            "description": "Filter _id with gte.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "_id.lt",
            "in": "query",
            "required": false,
            "description": "Filter _id with lt.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "_id.lte",
            "in": "query",
            "required": false,
            "description": "Filter _id with lte.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "_block_height",
            "in": "query",
            "required": false,
            "description": "Filter _block_height by equality.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "_block_height.neq",
            "in": "query",
            "required": false,
            "description": "Filter _block_height by inequality.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "_block_height.gt",
            "in": "query",
            "required": false,
            "description": "Filter _block_height with gt.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "_block_height.gte",
            "in": "query",
            "required": false,
            "description": "Filter _block_height with gte.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "_block_height.lt",
            "in": "query",
            "required": false,
            "description": "Filter _block_height with lt.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "_block_height.lte",
            "in": "query",
            "required": false,
            "description": "Filter _block_height with lte.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "_tx_id",
            "in": "query",
            "required": false,
            "description": "Filter _tx_id by equality.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "_tx_id.neq",
            "in": "query",
            "required": false,
            "description": "Filter _tx_id by inequality.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "_tx_id.like",
            "in": "query",
            "required": false,
            "description": "Case-insensitive contains filter for _tx_id.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "_created_at",
            "in": "query",
            "required": false,
            "description": "Filter _created_at by equality.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "_created_at.neq",
            "in": "query",
            "required": false,
            "description": "Filter _created_at by inequality.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "_created_at.gt",
            "in": "query",
            "required": false,
            "description": "Filter _created_at with gt.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "_created_at.gte",
            "in": "query",
            "required": false,
            "description": "Filter _created_at with gte.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "_created_at.lt",
            "in": "query",
            "required": false,
            "description": "Filter _created_at with lt.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "_created_at.lte",
            "in": "query",
            "required": false,
            "description": "Filter _created_at with lte.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "_created_at.like",
            "in": "query",
            "required": false,
            "description": "Case-insensitive contains filter for _created_at.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Row count for the filtered table query.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "count": {
                      "type": "integer"
                    }
                  },
                  "required": [
                    "count"
                  ],
                  "example": {
                    "count": 48138
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "transfersRow": {
        "type": "object",
        "properties": {
          "sender": {
            "type": "string"
          },
          "recipient": {
            "type": "string"
          },
          "amount": {
            "type": "string",
            "pattern": "^-?\\d+(\\.\\d+)?$"
          },
          "asset_identifier": {
            "type": "string"
          },
          "_id": {
            "type": "integer"
          },
          "_block_height": {
            "type": "string",
            "pattern": "^-?\\d+(\\.\\d+)?$"
          },
          "_tx_id": {
            "type": "string"
          },
          "_created_at": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "sender",
          "recipient",
          "amount",
          "asset_identifier",
          "_id",
          "_block_height",
          "_tx_id",
          "_created_at"
        ],
        "example": {
          "sender": "SP000000000000000000002Q6VF78",
          "recipient": "SP000000000000000000002Q6VF78",
          "amount": "1000",
          "asset_identifier": "example",
          "_id": 1,
          "_block_height": "1000",
          "_tx_id": "example",
          "_created_at": "2026-01-01T00:00:00.000Z"
        }
      }
    }
  },
  "x-secondlayer-subgraph": "sbtc-token",
  "x-secondlayer-version": "1.0.0",
  "x-secondlayer-schema-hash": "fffc99aeb7e11b465bf2b91ff67f3b4fcafc7bfbd447fe4d1d36d3bb4b867c2f",
  "x-secondlayer-generated-at": "2026-09-23T15:12:00.000Z",
  "x-secondlayer-sources": {
    "transfers": {
      "type": "ft_transfer",
      "assetIdentifier": "SM3VDXK3WZZSA84XXFKAFAF15NNZX32CTSG82JFQ4.sbtc-token::sbtc-token"
    }
  },
  "x-secondlayer-tables": [
    "transfers"
  ]
}
```
