{
    "openapi": "3.0.2",
    "info": {
      "title": "ICRC",
      "description": "\nICRC API\n",
      "version": "0.1.0"
    },
    "paths": {
      "/api/v1/ledgers/{ledger_canister_id}/accounts/{account_id}/balance-history": {
        "get": {
          "tags": [
            "account-balances"
          ],
          "summary": "List daily transaction balances for an account",
          "description": "This endpoint returns an account's daily balances.\n\n### How is data retrieved for this endpoint?\n\nValues from the endpoint are created by scraping the transactions from the\nledger canister (and associated archive canisters).",
          "operationId": "list_account_balances_api_v1_ledgers__ledger_canister_id__accounts__account_id__balance_history_get",
          "parameters": [
            {
              "required": true,
              "schema": {
                "title": "Account Id",
                "type": "string"
              },
              "name": "account_id",
              "in": "path"
            },
            {
              "required": true,
              "schema": {
                "title": "Ledger Canister Id",
                "pattern": "^([a-zA-Z0-9]{5}-){4}[a-zA-Z0-9]{3}$",
                "type": "string"
              },
              "name": "ledger_canister_id",
              "in": "path"
            },
            {
              "required": false,
              "schema": {
                "title": "Offset",
                "maximum": 2147483647,
                "minimum": 0,
                "type": "integer"
              },
              "name": "offset",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "title": "Limit",
                "maximum": 365,
                "minimum": 0,
                "type": "integer"
              },
              "name": "limit",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "title": "Start",
                "minimum": 1620406800,
                "type": "number"
              },
              "name": "start",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "title": "End",
                "minimum": 1620406800,
                "type": "number"
              },
              "name": "end",
              "in": "query"
            }
          ],
          "responses": {
            "200": {
              "description": "Successful Response",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/ListAccountBalancesResponse"
                  }
                }
              }
            },
            "422": {
              "description": "Validation Error",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/HTTPValidationError"
                  }
                }
              }
            }
          }
        }
      },
      "/api/v1/ledgers/{ledger_canister_id}/accounts": {
        "get": {
          "tags": [
            "accounts"
          ],
          "summary": "List accounts",
          "description": "### How is data retrieved for this endpoint?\n\nValues from the endpoint are created by the retrieved transactions from the\nledger canister. As transactions come in, the API updates the account information\nand balances in the database.",
          "operationId": "list_accounts_api_v1_ledgers__ledger_canister_id__accounts_get",
          "parameters": [
            {
              "required": true,
              "schema": {
                "title": "Ledger Canister Id",
                "pattern": "^([a-zA-Z0-9]{5}-){4}[a-zA-Z0-9]{3}$",
                "type": "string"
              },
              "name": "ledger_canister_id",
              "in": "path"
            },
            {
              "required": false,
              "schema": {
                "title": "Offset",
                "maximum": 2147483647,
                "minimum": 0,
                "type": "integer",
                "default": 0
              },
              "name": "offset",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "title": "Limit",
                "maximum": 100,
                "minimum": 0,
                "type": "integer",
                "default": 20
              },
              "name": "limit",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "title": "Max Account Index",
                "minimum": 0,
                "type": "integer"
              },
              "name": "max_account_index",
              "in": "query"
            },
            {
              "description": "\u003CI\u003EAvailable values\u003C/I\u003E : id, -id, total_transactions, -total_transactions, created_timestamp, -created_timestamp",
              "required": false,
              "schema": {
                "title": "Sort By",
                "maxItems": 2,
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "\u003CI\u003EAvailable values\u003C/I\u003E : id, -id, total_transactions, -total_transactions, created_timestamp, -created_timestamp",
                "default": [
                  "owner"
                ]
              },
              "name": "sort_by",
              "in": "query"
            }
          ],
          "responses": {
            "200": {
              "description": "Successful Response",
              "content": {
                "application/json": {
                  "schema": {
  
                  }
                }
              }
            },
            "422": {
              "description": "Validation Error",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/HTTPValidationError"
                  }
                }
              }
            }
          }
        }
      },
      "/api/v1/ledgers/{ledger_canister_id}/accounts/{id}/transactions": {
        "get": {
          "tags": [
            "accounts"
          ],
          "summary": "List transactions for an account",
          "description": "This endpoint returns an account's transactions, the total transactions for the account found,\nand the max transaction index. The max transaction index is used to keep track of the\nlocation in the dataset for pagination purposes.\n\n### How is data retrieved for this endpoint?\n\nValues from the endpoint are created by scraping the transactions from the\nledger canister (and associated archive canisters).",
          "operationId": "list_account_transactions_api_v1_ledgers__ledger_canister_id__accounts__id__transactions_get",
          "parameters": [
            {
              "required": true,
              "schema": {
                "title": "Ledger Canister Id",
                "pattern": "^([a-zA-Z0-9]{5}-){4}[a-zA-Z0-9]{3}$",
                "type": "string"
              },
              "name": "ledger_canister_id",
              "in": "path"
            },
            {
              "required": true,
              "schema": {
                "title": "Id",
                "type": "string"
              },
              "name": "id",
              "in": "path"
            },
            {
              "required": false,
              "schema": {
                "title": "Offset",
                "maximum": 2147483647,
                "minimum": 0,
                "type": "integer",
                "default": 0
              },
              "name": "offset",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "title": "Limit",
                "maximum": 100,
                "minimum": 0,
                "type": "integer",
                "default": 20
              },
              "name": "limit",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "title": "Max Transaction Index",
                "minimum": 0,
                "type": "integer"
              },
              "name": "max_transaction_index",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "title": "Include Kind",
                "maxItems": 4,
                "type": "array",
                "items": {
                  "enum": [
                    "approve",
                    "burn",
                    "mint",
                    "transfer"
                  ],
                  "type": "string"
                },
                "default": []
              },
              "name": "include_kind",
              "in": "query"
            },
            {
              "description": "\u003CI\u003EAvailable values\u003C/I\u003E : index, -index, kind, -kind, amount, -amount, timestamp, -timestamp",
              "required": false,
              "schema": {
                "title": "Sort By",
                "maxItems": 2,
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "\u003CI\u003EAvailable values\u003C/I\u003E : index, -index, kind, -kind, amount, -amount, timestamp, -timestamp",
                "default": [
                  "-index"
                ]
              },
              "name": "sort_by",
              "in": "query"
            }
          ],
          "responses": {
            "200": {
              "description": "Successful Response",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/ListTransactionsResponse"
                  }
                }
              }
            },
            "422": {
              "description": "Validation Error",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/HTTPValidationError"
                  }
                }
              }
            }
          }
        }
      },
      "/api/v1/ledgers/{ledger_canister_id}/accounts/{id}": {
        "get": {
          "tags": [
            "accounts"
          ],
          "summary": "Get owner's account",
          "description": "This endpoint returns a singular account that can be found for a given\nledger canister.\n\n### How is data retrieved for this endpoint?\n\nValues from the endpoint are created by the retrieved transactions from the\nledger canister. As transactions come in, the API updates the account information\nand balances in the database.",
          "operationId": "get_account_api_v1_ledgers__ledger_canister_id__accounts__id__get",
          "parameters": [
            {
              "required": true,
              "schema": {
                "title": "Ledger Canister Id",
                "pattern": "^([a-zA-Z0-9]{5}-){4}[a-zA-Z0-9]{3}$",
                "type": "string"
              },
              "name": "ledger_canister_id",
              "in": "path"
            },
            {
              "required": true,
              "schema": {
                "title": "Id",
                "type": "string"
              },
              "name": "id",
              "in": "path"
            }
          ],
          "responses": {
            "200": {
              "description": "Successful Response",
              "content": {
                "application/json": {
                  "schema": {
  
                  }
                }
              }
            },
            "422": {
              "description": "Validation Error",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/HTTPValidationError"
                  }
                }
              }
            }
          }
        }
      },
      "/api/v2/ledgers/{ledger_canister_id}/accounts/count": {
        "get": {
          "tags": [
            "accounts"
          ],
          "summary": "Get the total number of accounts that meet the criteria",
          "operationId": "count_accounts_api_v2_ledgers__ledger_canister_id__accounts_count_get",
          "parameters": [
            {
              "required": true,
              "schema": {
                "title": "Ledger Canister Id",
                "pattern": "^([a-zA-Z0-9]{5}-){4}[a-zA-Z0-9]{3}$",
                "type": "string"
              },
              "name": "ledger_canister_id",
              "in": "path"
            }
          ],
          "responses": {
            "200": {
              "description": "Successful Response",
              "content": {
                "application/json": {
                  "schema": {
  
                  }
                }
              }
            },
            "422": {
              "description": "Validation Error",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/HTTPValidationError"
                  }
                }
              }
            }
          }
        }
      },
      "/api/v2/ledgers/{ledger_canister_id}/accounts": {
        "get": {
          "tags": [
            "accounts"
          ],
          "summary": "List accounts",
          "description": "### How is data retrieved for this endpoint?\n\nValues from the endpoint are created by the retrieved transactions from the\nledger canister. As transactions come in, the API updates the account information\nand balances in the database.",
          "operationId": "list_accounts_api_v2_ledgers__ledger_canister_id__accounts_get",
          "parameters": [
            {
              "required": true,
              "schema": {
                "title": "Ledger Canister Id",
                "pattern": "^([a-zA-Z0-9]{5}-){4}[a-zA-Z0-9]{3}$",
                "type": "string"
              },
              "name": "ledger_canister_id",
              "in": "path"
            },
            {
              "description": "Only match values after this id",
              "required": false,
              "schema": {
                "title": "After",
                "maxItems": 2,
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Only match values after this id",
                "default": []
              },
              "name": "after",
              "in": "query"
            },
            {
              "description": "Only match values before this id",
              "required": false,
              "schema": {
                "title": "Before",
                "maxItems": 2,
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Only match values before this id",
                "default": []
              },
              "name": "before",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "title": "Limit",
                "maximum": 100,
                "minimum": 1,
                "type": "integer",
                "default": 20
              },
              "name": "limit",
              "in": "query"
            },
            {
              "description": "\u003CI\u003EAvailable values\u003C/I\u003E : id, -id, total_transactions, -total_transactions, created_timestamp, -created_timestamp, owner, -owner",
              "required": false,
              "schema": {
                "title": "Sort By",
                "enum": [
                  "id",
                  "-id",
                  "total_transactions",
                  "-total_transactions",
                  "created_timestamp",
                  "-created_timestamp",
                  "owner",
                  "-owner"
                ],
                "type": "string",
                "description": "\u003CI\u003EAvailable values\u003C/I\u003E : id, -id, total_transactions, -total_transactions, created_timestamp, -created_timestamp, owner, -owner",
                "default": "id"
              },
              "name": "sort_by",
              "in": "query"
            }
          ],
          "responses": {
            "200": {
              "description": "Successful Response",
              "content": {
                "application/json": {
                  "schema": {
  
                  }
                }
              }
            },
            "422": {
              "description": "Validation Error",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/HTTPValidationError"
                  }
                }
              }
            }
          }
        }
      },
      "/api/v2/ledgers/{ledger_canister_id}/accounts/{id}/transactions": {
        "get": {
          "tags": [
            "accounts"
          ],
          "summary": "List transactions for an account",
          "description": "This endpoint is similar to the v2 transactions list endpoint.\nThis endpoint returns a list of all transactions that have a `from_account`,\n`to_account`, or `from_ledger` matching the given account.\nIt also returns a \"next_cursor\" and \"previous_cursor\" if there are more pages\nof results\n\n### How is data retrieved for this endpoint?\n\nValues from the endpoint are created by scraping the transactions from the\nledger canister (and associated archive canisters).",
          "operationId": "list_account_transactions_api_v2_ledgers__ledger_canister_id__accounts__id__transactions_get",
          "parameters": [
            {
              "required": true,
              "schema": {
                "title": "Ledger Canister Id",
                "pattern": "^([a-zA-Z0-9]{5}-){4}[a-zA-Z0-9]{3}$",
                "type": "string"
              },
              "name": "ledger_canister_id",
              "in": "path"
            },
            {
              "required": true,
              "schema": {
                "title": "Id",
                "type": "string"
              },
              "name": "id",
              "in": "path"
            },
            {
              "description": "Only match values after this id",
              "required": false,
              "schema": {
                "title": "After",
                "maxItems": 2,
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Only match values after this id",
                "default": []
              },
              "name": "after",
              "in": "query"
            },
            {
              "description": "Only match values before this id",
              "required": false,
              "schema": {
                "title": "Before",
                "maxItems": 2,
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Only match values before this id",
                "default": []
              },
              "name": "before",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "title": "Limit",
                "maximum": 100,
                "minimum": 1,
                "type": "integer",
                "default": 20
              },
              "name": "limit",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "title": "Include Kind",
                "maxItems": 4,
                "type": "array",
                "items": {
                  "enum": [
                    "approve",
                    "burn",
                    "mint",
                    "transfer"
                  ],
                  "type": "string"
                },
                "default": []
              },
              "name": "include_kind",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "title": "Start",
                "minimum": 1620406800,
                "type": "number"
              },
              "name": "start",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "title": "End",
                "minimum": 1620406800,
                "type": "number"
              },
              "name": "end",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "title": "Sort By",
                "enum": [
                  "index",
                  "-index",
                  "amount",
                  "-amount",
                  "timestamp",
                  "-timestamp",
                  "kind",
                  "-kind"
                ],
                "type": "string",
                "default": "-index"
              },
              "name": "sort_by",
              "in": "query"
            }
          ],
          "responses": {
            "200": {
              "description": "Successful Response",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/ListTransactionsResponseV2"
                  }
                }
              }
            },
            "422": {
              "description": "Validation Error",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/HTTPValidationError"
                  }
                }
              }
            }
          }
        }
      },
      "/api/v2/ledgers/{ledger_canister_id}/accounts/{id}/transactions/count": {
        "get": {
          "tags": [
            "accounts"
          ],
          "summary": "Get the total count of transactions matching the given criteria",
          "description": "This endpoint returns the total count of transactions matching the given criteria.",
          "operationId": "count_transactions_api_v2_ledgers__ledger_canister_id__accounts__id__transactions_count_get",
          "parameters": [
            {
              "required": true,
              "schema": {
                "title": "Ledger Canister Id",
                "pattern": "^([a-zA-Z0-9]{5}-){4}[a-zA-Z0-9]{3}$",
                "type": "string"
              },
              "name": "ledger_canister_id",
              "in": "path"
            },
            {
              "required": true,
              "schema": {
                "title": "Id",
                "type": "string"
              },
              "name": "id",
              "in": "path"
            },
            {
              "required": false,
              "schema": {
                "title": "Include Kind",
                "maxItems": 4,
                "type": "array",
                "items": {
                  "enum": [
                    "approve",
                    "burn",
                    "mint",
                    "transfer"
                  ],
                  "type": "string"
                },
                "default": []
              },
              "name": "include_kind",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "title": "Start",
                "minimum": 1620406800,
                "type": "number"
              },
              "name": "start",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "title": "End",
                "minimum": 1620406800,
                "type": "number"
              },
              "name": "end",
              "in": "query"
            }
          ],
          "responses": {
            "200": {
              "description": "Successful Response",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/CountTransactionsResponse"
                  }
                }
              }
            },
            "422": {
              "description": "Validation Error",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/HTTPValidationError"
                  }
                }
              }
            }
          }
        }
      },
      "/api/v1/ledgers/{ledger_canister_id}/blocks": {
        "get": {
          "tags": [
            "blocks"
          ],
          "summary": "List blocks",
          "description": "This endpoint returns blocks, the total blocks, and the max\nblock index. The max block index is used to keep track of the\nlocation in the dataset for pagination purposes.\n\n### How is data retrieved for this endpoint?\n\nValues from the endpoint are retrieved by scraping the blocks from the\nledger canister (and associated archive canisters).",
          "operationId": "list_blocks_api_v1_ledgers__ledger_canister_id__blocks_get",
          "parameters": [
            {
              "required": true,
              "schema": {
                "title": "Ledger Canister Id",
                "pattern": "^([a-zA-Z0-9]{5}-){4}[a-zA-Z0-9]{3}$",
                "type": "string"
              },
              "name": "ledger_canister_id",
              "in": "path"
            },
            {
              "required": false,
              "schema": {
                "title": "Offset",
                "maximum": 2147483647,
                "minimum": 0,
                "type": "integer",
                "default": 0
              },
              "name": "offset",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "title": "Limit",
                "maximum": 100,
                "minimum": 0,
                "type": "integer",
                "default": 20
              },
              "name": "limit",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "title": "Max Block Index",
                "minimum": 0,
                "type": "integer"
              },
              "name": "max_block_index",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "title": "Include Kind",
                "maxItems": 3,
                "type": "array",
                "items": {
                  "enum": [
                    "mint",
                    "burn",
                    "transfer"
                  ],
                  "type": "string"
                },
                "default": []
              },
              "name": "include_kind",
              "in": "query"
            },
            {
              "description": "\u003CI\u003EAvailable values\u003C/I\u003E : index, -index, amount, -amount, timestamp, -timestamp, kind, -kind",
              "required": false,
              "schema": {
                "title": "Sort By",
                "maxItems": 4,
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "\u003CI\u003EAvailable values\u003C/I\u003E : index, -index, amount, -amount, timestamp, -timestamp, kind, -kind",
                "default": [
                  "-index"
                ]
              },
              "name": "sort_by",
              "in": "query"
            }
          ],
          "responses": {
            "200": {
              "description": "Successful Response",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/ListBlocksResponse"
                  }
                }
              }
            },
            "422": {
              "description": "Validation Error",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/HTTPValidationError"
                  }
                }
              }
            }
          }
        }
      },
      "/api/v1/ledgers/{ledger_canister_id}/blocks/{block_hash}": {
        "get": {
          "tags": [
            "blocks"
          ],
          "summary": "Get block",
          "description": "### How is data retrieved for this endpoint?\n\nValues from the endpoint are retrieved by scraping the blocks from the\nledger canister (and associated archive canisters).",
          "operationId": "get_tansaction_api_v1_ledgers__ledger_canister_id__blocks__block_hash__get",
          "parameters": [
            {
              "required": true,
              "schema": {
                "title": "Ledger Canister Id",
                "pattern": "^([a-zA-Z0-9]{5}-){4}[a-zA-Z0-9]{3}$",
                "type": "string"
              },
              "name": "ledger_canister_id",
              "in": "path"
            },
            {
              "required": true,
              "schema": {
                "title": "Block Hash",
                "maxLength": 64,
                "minLength": 64,
                "type": "string"
              },
              "name": "block_hash",
              "in": "path"
            }
          ],
          "responses": {
            "200": {
              "description": "Successful Response",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/Block"
                  }
                }
              }
            },
            "422": {
              "description": "Validation Error",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/HTTPValidationError"
                  }
                }
              }
            }
          }
        }
      },
      "/api/v1/ledgers/{ledger_canister_id}/canisters": {
        "get": {
          "tags": [
            "canisters"
          ],
          "summary": "List canisters",
          "operationId": "list_canisters_api_v1_ledgers__ledger_canister_id__canisters_get",
          "parameters": [
            {
              "required": true,
              "schema": {
                "title": "Ledger Canister Id",
                "pattern": "^([a-zA-Z0-9]{5}-){4}[a-zA-Z0-9]{3}$",
                "type": "string"
              },
              "name": "ledger_canister_id",
              "in": "path"
            }
          ],
          "responses": {
            "200": {
              "description": "Successful Response",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/ListCanistersResponse"
                  }
                }
              }
            },
            "422": {
              "description": "Validation Error",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/HTTPValidationError"
                  }
                }
              }
            }
          }
        }
      },
      "/api/v1/ledgers/{ledger_canister_id}/circulating-supply": {
        "get": {
          "tags": [
            "circulating-supply"
          ],
          "summary": "Get a series of circulating supply values for a ledger",
          "description": "### How is the data for this endpoint gathered?\n\nCirculating supply is calculated by the following formula:\n\nTotal Supply = Sum of all mints - Sum of all burns\nCirculating Supply = Total Supply - Sum of all balances of accounts to which tokens were minted before swap",
          "operationId": "get_circulating_supply_api_v1_ledgers__ledger_canister_id__circulating_supply_get",
          "parameters": [
            {
              "required": true,
              "schema": {
                "title": "Ledger Canister Id",
                "pattern": "^([a-zA-Z0-9]{5}-){4}[a-zA-Z0-9]{3}$",
                "type": "string"
              },
              "name": "ledger_canister_id",
              "in": "path"
            },
            {
              "required": false,
              "schema": {
                "title": "Start",
                "minimum": 1620328530,
                "type": "integer"
              },
              "name": "start",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "title": "End",
                "minimum": 1620328530,
                "type": "integer"
              },
              "name": "end",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "title": "Step",
                "enum": [
                  "3600",
                  "86400"
                ],
                "type": "string",
                "default": "86400"
              },
              "name": "step",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "title": "Index",
                "minimum": 0,
                "type": "integer"
              },
              "name": "index",
              "in": "query"
            }
          ],
          "responses": {
            "200": {
              "description": "Successful Response",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/SupplySeriesResponse"
                  }
                }
              }
            },
            "422": {
              "description": "Validation Error",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/HTTPValidationError"
                  }
                }
              }
            }
          }
        }
      },
      "/api/v1/ledgers/{ledger_canister_id}/circulating-supply.txt": {
        "get": {
          "tags": [
            "circulating-supply"
          ],
          "summary": "Get the latest total supply value in plain text format.",
          "description": "### How is the data for this endpoint gathered?\n\nCirculating supply is calculated by the following formula:\n\nTotal Supply = Sum of all mints - Sum of all burns\nCirculating Supply = Total Supply - Sum of all balances of accounts to which tokens were minted before swap",
          "operationId": "get_circulating_supply_txt_api_v1_ledgers__ledger_canister_id__circulating_supply_txt_get",
          "parameters": [
            {
              "required": true,
              "schema": {
                "title": "Ledger Canister Id",
                "type": "string"
              },
              "name": "ledger_canister_id",
              "in": "path"
            }
          ],
          "responses": {
            "200": {
              "description": "Successful Response",
              "content": {
                "text/plain": {
                  "schema": {
                    "type": "string"
                  }
                }
              }
            },
            "422": {
              "description": "Validation Error",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/HTTPValidationError"
                  }
                }
              }
            }
          }
        }
      },
      "/api/v1/images/ledgers/{ledger_canister_id}/transactions.png": {
        "get": {
          "tags": [
            "images"
          ],
          "summary": "Get open graph image for ICRC ledger transactions",
          "description": "### How is the data for this endpoint gathered?\n\nLedgers belonging to an SNS are automatically detected by looking at the SNS-WASM canister.\nLedgers such as the ckBTC are currently added manually.",
          "operationId": "get_ledger_transactions_image_api_v1_images_ledgers__ledger_canister_id__transactions_png_get",
          "parameters": [
            {
              "required": true,
              "schema": {
                "title": "Ledger Canister Id",
                "pattern": "^([a-zA-Z0-9]{5}-){4}[a-zA-Z0-9]{3}$",
                "type": "string"
              },
              "name": "ledger_canister_id",
              "in": "path"
            }
          ],
          "responses": {
            "200": {
              "description": "Successful Response",
              "content": {
                "application/json": {
                  "schema": {
  
                  }
                }
              }
            },
            "422": {
              "description": "Validation Error",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/HTTPValidationError"
                  }
                }
              }
            }
          }
        }
      },
      "/api/v1/images/ledgers/{ledger_canister_id}/transactions/{index}.png": {
        "get": {
          "tags": [
            "images"
          ],
          "summary": "Get open graph image for ICRC ledger transaction",
          "description": "### How is data retrieved for this endpoint?\n\nValues from the endpoint are retrieved by scraping the transactions from the\nledger canister (and associated archive canisters).",
          "operationId": "get_sns_transaction_image_api_v1_images_ledgers__ledger_canister_id__transactions__index__png_get",
          "parameters": [
            {
              "required": true,
              "schema": {
                "title": "Ledger Canister Id",
                "pattern": "^([a-zA-Z0-9]{5}-){4}[a-zA-Z0-9]{3}$",
                "type": "string"
              },
              "name": "ledger_canister_id",
              "in": "path"
            },
            {
              "required": true,
              "schema": {
                "title": "Index",
                "minimum": 0,
                "type": "integer"
              },
              "name": "index",
              "in": "path"
            }
          ],
          "responses": {
            "200": {
              "description": "Successful Response",
              "content": {
                "application/json": {
                  "schema": {
  
                  }
                }
              }
            },
            "422": {
              "description": "Validation Error",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/HTTPValidationError"
                  }
                }
              }
            }
          }
        }
      },
      "/api/v1/images/ledgers/{ledger_canister_id}/accounts/{id}.png": {
        "get": {
          "tags": [
            "images"
          ],
          "summary": "Get open graph image for ICRC ledger account",
          "operationId": "get_sns_account_image_api_v1_images_ledgers__ledger_canister_id__accounts__id__png_get",
          "parameters": [
            {
              "required": true,
              "schema": {
                "title": "Ledger Canister Id",
                "pattern": "^([a-zA-Z0-9]{5}-){4}[a-zA-Z0-9]{3}$",
                "type": "string"
              },
              "name": "ledger_canister_id",
              "in": "path"
            },
            {
              "required": true,
              "schema": {
                "title": "Id",
                "type": "string"
              },
              "name": "id",
              "in": "path"
            }
          ],
          "responses": {
            "200": {
              "description": "Successful Response",
              "content": {
                "application/json": {
                  "schema": {
  
                  }
                }
              }
            },
            "422": {
              "description": "Validation Error",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/HTTPValidationError"
                  }
                }
              }
            }
          }
        }
      },
      "/api/v1/images/ledgers/{ledger_canister_id}.png": {
        "get": {
          "tags": [
            "images"
          ],
          "summary": "Get open graph image for ICRC ledger",
          "operationId": "get_ledger_image_api_v1_images_ledgers__ledger_canister_id__png_get",
          "parameters": [
            {
              "required": true,
              "schema": {
                "title": "Ledger Canister Id",
                "pattern": "^([a-zA-Z0-9]{5}-){4}[a-zA-Z0-9]{3}$",
                "type": "string"
              },
              "name": "ledger_canister_id",
              "in": "path"
            }
          ],
          "responses": {
            "200": {
              "description": "Successful Response",
              "content": {
                "application/json": {
                  "schema": {
  
                  }
                }
              }
            },
            "422": {
              "description": "Validation Error",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/HTTPValidationError"
                  }
                }
              }
            }
          }
        }
      },
      "/api/v1/ledgers": {
        "get": {
          "tags": [
            "ledgers"
          ],
          "summary": "List ledgers",
          "description": "### How is the data for this endpoint gathered?\n\nLedgers belonging to an SNS are automatically detected by looking at the SNS-WASM canister.\nLedgers such as the ckBTC are currently added manually.",
          "operationId": "list_api_v1_ledgers_get",
          "parameters": [
            {
              "required": false,
              "schema": {
                "uniqueItems": true,
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/app__schemas__ledgers__TokenType"
                }
              },
              "name": "token_types",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "title": "Offset",
                "maximum": 2147483647,
                "minimum": 0,
                "type": "integer",
                "default": 0
              },
              "name": "offset",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "title": "Limit",
                "maximum": 100,
                "minimum": 0,
                "type": "integer",
                "default": 20
              },
              "name": "limit",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "title": "Max Index",
                "minimum": 0,
                "type": "integer"
              },
              "name": "max_index",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "title": "Sort By",
                "type": "array",
                "items": {
                  "enum": [
                    "ledger_canister_id",
                    "-ledger_canister_id",
                    "icrc1_name",
                    "-icrc1_name",
                    "icrc1_symbol",
                    "-icrc1_symbol"
                  ],
                  "type": "string"
                },
                "default": [
                  "icrc1_name"
                ]
              },
              "name": "sort_by",
              "in": "query"
            }
          ],
          "responses": {
            "200": {
              "description": "Successful Response",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/app__schemas__ledgers__LedgerList"
                  }
                }
              }
            },
            "422": {
              "description": "Validation Error",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/HTTPValidationError"
                  }
                }
              }
            }
          }
        }
      },
      "/api/v1/ledgers/{ledger_canister_id}": {
        "get": {
          "tags": [
            "ledgers"
          ],
          "summary": "Get ledger",
          "description": "### How is the data for this endpoint gathered?\n\nLedgers belonging to an SNS are automatically detected by looking at the SNS-WASM canister.\nLedgers such as the ckBTC are currently added manually.",
          "operationId": "retrieve_api_v1_ledgers__ledger_canister_id__get",
          "parameters": [
            {
              "required": true,
              "schema": {
                "title": "Ledger Canister Id",
                "pattern": "^([a-zA-Z0-9]{5}-){4}[a-zA-Z0-9]{3}$",
                "type": "string"
              },
              "name": "ledger_canister_id",
              "in": "path"
            }
          ],
          "responses": {
            "200": {
              "description": "Successful Response",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/app__schemas__ledgers__Ledger"
                  }
                }
              }
            },
            "422": {
              "description": "Validation Error",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/HTTPValidationError"
                  }
                }
              }
            }
          }
        }
      },
      "/api/v2/ledgers": {
        "get": {
          "tags": [
            "ledgers"
          ],
          "summary": "List ledgers",
          "description": "### How is the data for this endpoint gathered?\n\nLedgers belonging to an SNS are automatically detected by looking at the SNS-WASM canister.\nLedgers such as the ckBTC are currently added manually.",
          "operationId": "list_api_v2_ledgers_get",
          "parameters": [
            {
              "description": "Only match values after this ledger_canister_id",
              "required": false,
              "schema": {
                "title": "After",
                "maxItems": 2,
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Only match values after this ledger_canister_id",
                "default": []
              },
              "name": "after",
              "in": "query"
            },
            {
              "description": "Only match values before this ledger_canister_id",
              "required": false,
              "schema": {
                "title": "Before",
                "maxItems": 2,
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Only match values before this ledger_canister_id",
                "default": []
              },
              "name": "before",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "uniqueItems": true,
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Network"
                }
              },
              "name": "network",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "uniqueItems": true,
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/app__models__ledgers__TokenType"
                }
              },
              "name": "token_types",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "title": "Limit",
                "maximum": 100,
                "minimum": 1,
                "type": "integer",
                "default": 20
              },
              "name": "limit",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "title": "Sort By",
                "enum": [
                  "ledger_canister_id",
                  "-ledger_canister_id",
                  "icrc1_name",
                  "-icrc1_name",
                  "icrc1_symbol",
                  "-icrc1_symbol",
                  "total_transactions_count_over_past_7d",
                  "-total_transactions_count_over_past_7d",
                  "unique_owners_count",
                  "-unique_owners_count"
                ],
                "type": "string",
                "default": "ledger_canister_id"
              },
              "name": "sort_by",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "title": "Include Total Supply 7D",
                "type": "boolean",
                "default": false
              },
              "name": "include_total_supply_7d",
              "in": "query"
            },
            {
              "description": "Search for a ledger by name or symbol",
              "required": false,
              "schema": {
                "title": "Query",
                "type": "string",
                "description": "Search for a ledger by name or symbol"
              },
              "name": "query",
              "in": "query"
            }
          ],
          "responses": {
            "200": {
              "description": "Successful Response",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/app__schemas__v2__ledgers__LedgerList"
                  }
                }
              }
            },
            "422": {
              "description": "Validation Error",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/HTTPValidationError"
                  }
                }
              }
            }
          }
        }
      },
      "/api/v2/ledgers/count": {
        "get": {
          "tags": [
            "ledgers"
          ],
          "summary": "Count ledgers",
          "operationId": "count_ledgers_api_v2_ledgers_count_get",
          "parameters": [
            {
              "required": false,
              "schema": {
                "uniqueItems": true,
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Network"
                }
              },
              "name": "network",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "uniqueItems": true,
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/app__models__ledgers__TokenType"
                }
              },
              "name": "token_types",
              "in": "query"
            },
            {
              "description": "Search for a ledger by name or symbol",
              "required": false,
              "schema": {
                "title": "Query",
                "type": "string",
                "description": "Search for a ledger by name or symbol"
              },
              "name": "query",
              "in": "query"
            }
          ],
          "responses": {
            "200": {
              "description": "Successful Response",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/CountLedgersResponse"
                  }
                }
              }
            },
            "422": {
              "description": "Validation Error",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/HTTPValidationError"
                  }
                }
              }
            }
          }
        }
      },
      "/api/v2/ledgers/{ledger_canister_id}": {
        "get": {
          "tags": [
            "ledgers"
          ],
          "summary": "Get ledger",
          "operationId": "retrieve_api_v2_ledgers__ledger_canister_id__get",
          "parameters": [
            {
              "required": true,
              "schema": {
                "title": "Ledger Canister Id",
                "pattern": "^([a-zA-Z0-9]{5}-){4}[a-zA-Z0-9]{3}$",
                "type": "string"
              },
              "name": "ledger_canister_id",
              "in": "path"
            }
          ],
          "responses": {
            "200": {
              "description": "Successful Response",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/app__schemas__v2__ledgers__Ledger"
                  }
                }
              }
            },
            "422": {
              "description": "Validation Error",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/HTTPValidationError"
                  }
                }
              }
            }
          }
        }
      },
      "/api/v1/ledgers/{ledger_canister_id}/total-burned-per-day": {
        "get": {
          "tags": [
            "total-burned-per-day"
          ],
          "summary": "List Total Burned Per Day",
          "operationId": "list_total_burned_per_day_api_v1_ledgers__ledger_canister_id__total_burned_per_day_get",
          "parameters": [
            {
              "required": true,
              "schema": {
                "title": "Ledger Canister Id",
                "pattern": "^([a-zA-Z0-9]{5}-){4}[a-zA-Z0-9]{3}$",
                "type": "string"
              },
              "name": "ledger_canister_id",
              "in": "path"
            },
            {
              "required": false,
              "schema": {
                "title": "Start",
                "minimum": 1620328530,
                "type": "integer"
              },
              "name": "start",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "title": "End",
                "minimum": 1620328530,
                "type": "integer"
              },
              "name": "end",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "title": "Burn Type",
                "enum": [
                  "burn",
                  "fee",
                  "total"
                ],
                "type": "string",
                "default": "burn"
              },
              "name": "burn_type",
              "in": "query"
            }
          ],
          "responses": {
            "200": {
              "description": "Successful Response",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/ListTotalBurnedPerDayResponse"
                  }
                }
              }
            },
            "422": {
              "description": "Validation Error",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/HTTPValidationError"
                  }
                }
              }
            }
          }
        }
      },
      "/api/v1/ledgers/{ledger_canister_id}/total-new-accounts-per-day": {
        "get": {
          "tags": [
            "total-new-accounts-per-day"
          ],
          "summary": "List Total New Accounts Got Created Per Day",
          "operationId": "list_total_new_accounts_per_day_api_v1_ledgers__ledger_canister_id__total_new_accounts_per_day_get",
          "parameters": [
            {
              "required": true,
              "schema": {
                "title": "Ledger Canister Id",
                "pattern": "^([a-zA-Z0-9]{5}-){4}[a-zA-Z0-9]{3}$",
                "type": "string"
              },
              "name": "ledger_canister_id",
              "in": "path"
            },
            {
              "required": false,
              "schema": {
                "title": "Start",
                "minimum": 1620328530,
                "type": "integer"
              },
              "name": "start",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "title": "End",
                "minimum": 1620328530,
                "type": "integer"
              },
              "name": "end",
              "in": "query"
            }
          ],
          "responses": {
            "200": {
              "description": "Successful Response",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/ListTotalNewAccountsPerDayResponse"
                  }
                }
              }
            },
            "422": {
              "description": "Validation Error",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/HTTPValidationError"
                  }
                }
              }
            }
          }
        }
      },
      "/api/v1/ledgers/{ledger_canister_id}/total-new-accounts-till-date": {
        "get": {
          "tags": [
            "total-new-accounts-per-day"
          ],
          "summary": "List Total New Accounts Got Created Till Date",
          "operationId": "list_total_new_accounts_till_date_api_v1_ledgers__ledger_canister_id__total_new_accounts_till_date_get",
          "parameters": [
            {
              "required": true,
              "schema": {
                "title": "Ledger Canister Id",
                "pattern": "^([a-zA-Z0-9]{5}-){4}[a-zA-Z0-9]{3}$",
                "type": "string"
              },
              "name": "ledger_canister_id",
              "in": "path"
            },
            {
              "required": false,
              "schema": {
                "title": "Start",
                "minimum": 1620328530,
                "type": "integer"
              },
              "name": "start",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "title": "End",
                "minimum": 1620328530,
                "type": "integer"
              },
              "name": "end",
              "in": "query"
            }
          ],
          "responses": {
            "200": {
              "description": "Successful Response",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/ListTotalNewAccountsPerDayResponse"
                  }
                }
              }
            },
            "422": {
              "description": "Validation Error",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/HTTPValidationError"
                  }
                }
              }
            }
          }
        }
      },
      "/api/v1/ledgers/{ledger_canister_id}/transactions": {
        "get": {
          "tags": [
            "transactions"
          ],
          "summary": "List transactions",
          "description": "This endpoint returns transactions, the total transactions, and the max\ntransaction index. The max transaction index is used to keep track of the\nlocation in the dataset for pagination purposes.\n\n### How is data retrieved for this endpoint?\n\nValues from the endpoint are retrieved by scraping the transactions from the\nledger canister (and associated archive canisters).",
          "operationId": "list_transactions_api_v1_ledgers__ledger_canister_id__transactions_get",
          "parameters": [
            {
              "required": true,
              "schema": {
                "title": "Ledger Canister Id",
                "pattern": "^([a-zA-Z0-9]{5}-){4}[a-zA-Z0-9]{3}$",
                "type": "string"
              },
              "name": "ledger_canister_id",
              "in": "path"
            },
            {
              "required": false,
              "schema": {
                "title": "Offset",
                "maximum": 2147483647,
                "minimum": 0,
                "type": "integer",
                "default": 0
              },
              "name": "offset",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "title": "Limit",
                "maximum": 100,
                "minimum": 0,
                "type": "integer",
                "default": 20
              },
              "name": "limit",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "title": "Max Transaction Index",
                "minimum": 0,
                "type": "integer"
              },
              "name": "max_transaction_index",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "title": "Include Kind",
                "maxItems": 4,
                "type": "array",
                "items": {
                  "enum": [
                    "approve",
                    "burn",
                    "mint",
                    "transfer"
                  ],
                  "type": "string"
                },
                "default": []
              },
              "name": "include_kind",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "title": "Start",
                "minimum": 1620406800,
                "type": "number"
              },
              "name": "start",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "title": "End",
                "minimum": 1620406800,
                "type": "number"
              },
              "name": "end",
              "in": "query"
            },
            {
              "description": "\u003CI\u003EAvailable values\u003C/I\u003E : index, -index, amount, -amount, timestamp, -timestamp, kind, -kind",
              "required": false,
              "schema": {
                "title": "Sort By",
                "maxItems": 4,
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "\u003CI\u003EAvailable values\u003C/I\u003E : index, -index, amount, -amount, timestamp, -timestamp, kind, -kind",
                "default": [
                  "-index"
                ]
              },
              "name": "sort_by",
              "in": "query"
            }
          ],
          "responses": {
            "200": {
              "description": "Successful Response",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/ListTransactionsResponse"
                  }
                }
              }
            },
            "422": {
              "description": "Validation Error",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/HTTPValidationError"
                  }
                }
              }
            }
          }
        }
      },
      "/api/v1/ledgers/{ledger_canister_id}/transactions/{index}": {
        "get": {
          "tags": [
            "transactions"
          ],
          "summary": "Get transaction",
          "description": "### How is data retrieved for this endpoint?\n\nValues from the endpoint are retrieved by scraping the transactions from the\nledger canister (and associated archive canisters).",
          "operationId": "get_tansaction_api_v1_ledgers__ledger_canister_id__transactions__index__get",
          "parameters": [
            {
              "required": true,
              "schema": {
                "title": "Ledger Canister Id",
                "pattern": "^([a-zA-Z0-9]{5}-){4}[a-zA-Z0-9]{3}$",
                "type": "string"
              },
              "name": "ledger_canister_id",
              "in": "path"
            },
            {
              "required": true,
              "schema": {
                "title": "Index",
                "minimum": 0,
                "type": "integer"
              },
              "name": "index",
              "in": "path"
            }
          ],
          "responses": {
            "200": {
              "description": "Successful Response",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/Transaction"
                  }
                }
              }
            },
            "422": {
              "description": "Validation Error",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/HTTPValidationError"
                  }
                }
              }
            }
          }
        }
      },
      "/api/v2/ledgers/{ledger_canister_id}/transactions": {
        "get": {
          "tags": [
            "transactions"
          ],
          "summary": "List transactions",
          "description": "This endpoint returns a list of all transactions matching the given criteria.\nIt also returns a \"next_cursor\" and \"previous_cursor\" if there are more pages\nof results\n\n### How is data retrieved for this endpoint?\n\nValues from the endpoint are retrieved by scraping the transactions from the\nledger canister (and associated archive canisters).",
          "operationId": "list_transactions_api_v2_ledgers__ledger_canister_id__transactions_get",
          "parameters": [
            {
              "required": true,
              "schema": {
                "title": "Ledger Canister Id",
                "pattern": "^([a-zA-Z0-9]{5}-){4}[a-zA-Z0-9]{3}$",
                "type": "string"
              },
              "name": "ledger_canister_id",
              "in": "path"
            },
            {
              "description": "Only match values after this id",
              "required": false,
              "schema": {
                "title": "After",
                "maxItems": 2,
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Only match values after this id",
                "default": []
              },
              "name": "after",
              "in": "query"
            },
            {
              "description": "Only match values before this id",
              "required": false,
              "schema": {
                "title": "Before",
                "maxItems": 2,
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Only match values before this id",
                "default": []
              },
              "name": "before",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "title": "Limit",
                "maximum": 100,
                "minimum": 1,
                "type": "integer",
                "default": 20
              },
              "name": "limit",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "title": "Include Kind",
                "maxItems": 4,
                "type": "array",
                "items": {
                  "enum": [
                    "approve",
                    "burn",
                    "mint",
                    "transfer"
                  ],
                  "type": "string"
                },
                "default": []
              },
              "name": "include_kind",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "title": "Start",
                "minimum": 1620406800,
                "type": "number"
              },
              "name": "start",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "title": "End",
                "minimum": 1620406800,
                "type": "number"
              },
              "name": "end",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "title": "Sort By",
                "enum": [
                  "index",
                  "-index",
                  "amount",
                  "-amount",
                  "timestamp",
                  "-timestamp",
                  "kind",
                  "-kind"
                ],
                "type": "string",
                "default": "-index"
              },
              "name": "sort_by",
              "in": "query"
            }
          ],
          "responses": {
            "200": {
              "description": "Successful Response",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/ListTransactionsResponseV2"
                  }
                }
              }
            },
            "422": {
              "description": "Validation Error",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/HTTPValidationError"
                  }
                }
              }
            }
          }
        }
      },
      "/api/v2/ledgers/{ledger_canister_id}/transactions/count": {
        "get": {
          "tags": [
            "transactions"
          ],
          "summary": "Get the total count of transactions matching the given criteria",
          "description": "This endpoint returns the total count of transactions matching the given criteria.",
          "operationId": "count_transactions_api_v2_ledgers__ledger_canister_id__transactions_count_get",
          "parameters": [
            {
              "required": true,
              "schema": {
                "title": "Ledger Canister Id",
                "pattern": "^([a-zA-Z0-9]{5}-){4}[a-zA-Z0-9]{3}$",
                "type": "string"
              },
              "name": "ledger_canister_id",
              "in": "path"
            },
            {
              "required": false,
              "schema": {
                "title": "Include Kind",
                "maxItems": 4,
                "type": "array",
                "items": {
                  "enum": [
                    "approve",
                    "burn",
                    "mint",
                    "transfer"
                  ],
                  "type": "string"
                },
                "default": []
              },
              "name": "include_kind",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "title": "Start",
                "minimum": 1620406800,
                "type": "number"
              },
              "name": "start",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "title": "End",
                "minimum": 1620406800,
                "type": "number"
              },
              "name": "end",
              "in": "query"
            }
          ],
          "responses": {
            "200": {
              "description": "Successful Response",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/CountTransactionsResponse"
                  }
                }
              }
            },
            "422": {
              "description": "Validation Error",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/HTTPValidationError"
                  }
                }
              }
            }
          }
        }
      },
      "/api/v1/chain-key-ledgers/transaction-count": {
        "get": {
          "tags": [
            "transaction-count"
          ],
          "summary": "List aggregated transaction count for chain key ledgers",
          "operationId": "list_chain_key_transaction_count_api_v1_chain_key_ledgers_transaction_count_get",
          "parameters": [
            {
              "required": false,
              "schema": {
                "title": "Start",
                "minimum": 1620328530,
                "type": "integer"
              },
              "name": "start",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "title": "End",
                "minimum": 1620328530,
                "type": "integer"
              },
              "name": "end",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/app__schemas__transaction_count__Step"
                  }
                ],
                "default": 86400
              },
              "name": "step",
              "in": "query"
            }
          ],
          "responses": {
            "200": {
              "description": "Successful Response",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/app__schemas__transaction_count__ListTransactionCountResponse"
                  }
                }
              }
            },
            "422": {
              "description": "Validation Error",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/HTTPValidationError"
                  }
                }
              }
            }
          }
        }
      },
      "/api/v1/ledgers/{ledger_canister_id}/transaction-volume": {
        "get": {
          "tags": [
            "transaction-volume"
          ],
          "summary": "List transaction volume",
          "operationId": "list_transaction_volume_api_v1_ledgers__ledger_canister_id__transaction_volume_get",
          "parameters": [
            {
              "required": true,
              "schema": {
                "title": "Ledger Canister Id",
                "pattern": "^([a-zA-Z0-9]{5}-){4}[a-zA-Z0-9]{3}$",
                "type": "string"
              },
              "name": "ledger_canister_id",
              "in": "path"
            },
            {
              "required": false,
              "schema": {
                "title": "Start",
                "minimum": 1620328530,
                "type": "integer"
              },
              "name": "start",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "title": "End",
                "minimum": 1620328530,
                "type": "integer"
              },
              "name": "end",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/app__schemas__transaction_volume__Step"
                  }
                ],
                "default": 86400
              },
              "name": "step",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "title": "Account Id",
                "type": "string"
              },
              "name": "account_id",
              "in": "query"
            }
          ],
          "responses": {
            "200": {
              "description": "Successful Response",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/ListTransactionVolumeResponse"
                  }
                }
              }
            },
            "422": {
              "description": "Validation Error",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/HTTPValidationError"
                  }
                }
              }
            }
          }
        }
      },
      "/api/v1/ledgers/{ledger_canister_id}/total-supply": {
        "get": {
          "tags": [
            "total-supply"
          ],
          "summary": "Retrieve total supply series metrics for a token",
          "operationId": "series_api_v1_ledgers__ledger_canister_id__total_supply_get",
          "parameters": [
            {
              "required": true,
              "schema": {
                "title": "Ledger Canister Id",
                "pattern": "^([a-zA-Z0-9]{5}-){4}[a-zA-Z0-9]{3}$",
                "type": "string"
              },
              "name": "ledger_canister_id",
              "in": "path"
            },
            {
              "required": false,
              "schema": {
                "title": "Start",
                "minimum": 1620328530,
                "type": "integer"
              },
              "name": "start",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "title": "End",
                "minimum": 1620328530,
                "type": "integer"
              },
              "name": "end",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "title": "Step",
                "type": "integer",
                "default": 3600
              },
              "name": "step",
              "in": "query"
            }
          ],
          "responses": {
            "200": {
              "description": "Successful Response",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/TotalSupplySeriesResponse"
                  }
                }
              }
            },
            "422": {
              "description": "Validation Error",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/HTTPValidationError"
                  }
                }
              }
            }
          }
        }
      },
      "/api/v2/ledgers/{ledger_canister_id}/total-supply": {
        "get": {
          "tags": [
            "total-supply"
          ],
          "summary": "Get a series of total supply values for a ledger",
          "description": "### How is the data for this endpoint gathered?\n\nTotal supply is calculated by summing all mints and then subtracting all burns (including fees).",
          "operationId": "get_total_supply_api_v2_ledgers__ledger_canister_id__total_supply_get",
          "parameters": [
            {
              "required": true,
              "schema": {
                "title": "Ledger Canister Id",
                "pattern": "^([a-zA-Z0-9]{5}-){4}[a-zA-Z0-9]{3}$",
                "type": "string"
              },
              "name": "ledger_canister_id",
              "in": "path"
            },
            {
              "required": false,
              "schema": {
                "title": "Start",
                "minimum": 1620328530,
                "type": "integer"
              },
              "name": "start",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "title": "End",
                "minimum": 1620328530,
                "type": "integer"
              },
              "name": "end",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "title": "Step",
                "enum": [
                  "3600",
                  "86400"
                ],
                "type": "string",
                "default": "86400"
              },
              "name": "step",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "title": "Index",
                "minimum": 0,
                "type": "integer"
              },
              "name": "index",
              "in": "query"
            }
          ],
          "responses": {
            "200": {
              "description": "Successful Response",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/SupplySeriesResponse"
                  }
                }
              }
            },
            "422": {
              "description": "Validation Error",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/HTTPValidationError"
                  }
                }
              }
            }
          }
        }
      },
      "/api/v2/ledgers/{ledger_canister_id}/total-supply.txt": {
        "get": {
          "tags": [
            "total-supply"
          ],
          "summary": "Get the latest total supply value in plain text format.",
          "description": "### How is the data for this endpoint gathered?\n\nTotal supply is calculated by summing all mints and then subtracting all burns (including fees).",
          "operationId": "get_total_supply_txt_api_v2_ledgers__ledger_canister_id__total_supply_txt_get",
          "parameters": [
            {
              "required": true,
              "schema": {
                "title": "Ledger Canister Id",
                "type": "string"
              },
              "name": "ledger_canister_id",
              "in": "path"
            }
          ],
          "responses": {
            "200": {
              "description": "Successful Response",
              "content": {
                "text/plain": {
                  "schema": {
                    "type": "string"
                  }
                }
              }
            },
            "422": {
              "description": "Validation Error",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/HTTPValidationError"
                  }
                }
              }
            }
          }
        }
      },
      "/api/v2/transaction-count": {
        "get": {
          "tags": [
            "transaction-count"
          ],
          "summary": "List aggregated transaction count",
          "operationId": "list_chain_key_transaction_count_api_v2_transaction_count_get",
          "parameters": [
            {
              "required": false,
              "schema": {
                "title": "Start",
                "minimum": 1620328530,
                "type": "integer"
              },
              "name": "start",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "title": "End",
                "minimum": 1620328530,
                "type": "integer"
              },
              "name": "end",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/app__schemas__v2__transaction_count__Step"
                  }
                ],
                "default": 86400
              },
              "name": "step",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "$ref": "#/components/schemas/Network"
              },
              "name": "network",
              "in": "query"
            },
            {
              "required": false,
              "schema": {
                "$ref": "#/components/schemas/app__models__ledgers__TokenType"
              },
              "name": "token_type",
              "in": "query"
            }
          ],
          "responses": {
            "200": {
              "description": "Successful Response",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/app__schemas__v2__transaction_count__ListTransactionCountResponse"
                  }
                }
              }
            },
            "422": {
              "description": "Validation Error",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/HTTPValidationError"
                  }
                }
              }
            }
          }
        }
      }
    },
    "components": {
      "schemas": {
        "Block": {
          "title": "Block",
          "required": [
            "index",
            "ledger_canister_id",
            "block_hash",
            "transaction_hash",
            "kind",
            "amount",
            "memo",
            "updated_at"
          ],
          "type": "object",
          "properties": {
            "index": {
              "title": "Index",
              "type": "integer"
            },
            "ledger_canister_id": {
              "title": "Ledger Canister Id",
              "type": "string"
            },
            "block_hash": {
              "title": "Block Hash",
              "type": "string"
            },
            "block_phash": {
              "title": "Block Phash",
              "type": "string"
            },
            "transaction_hash": {
              "title": "Transaction Hash",
              "type": "string"
            },
            "kind": {
              "title": "Kind",
              "type": "string"
            },
            "amount": {
              "title": "Amount",
              "type": "integer"
            },
            "from_owner": {
              "title": "From Owner",
              "type": "string"
            },
            "from_subaccount": {
              "title": "From Subaccount",
              "type": "string"
            },
            "from_account": {
              "title": "From Account",
              "type": "string"
            },
            "to_owner": {
              "title": "To Owner",
              "type": "string"
            },
            "to_subaccount": {
              "title": "To Subaccount",
              "type": "string"
            },
            "to_account": {
              "title": "To Account",
              "type": "string"
            },
            "memo": {
              "title": "Memo",
              "type": "string"
            },
            "fee": {
              "title": "Fee",
              "type": "integer"
            },
            "timestamp": {
              "title": "Timestamp",
              "type": "string"
            },
            "updated_at": {
              "title": "Updated At",
              "type": "string"
            }
          }
        },
        "Canister": {
          "title": "Canister",
          "required": [
            "canister_id",
            "ledger_canister_id",
            "canister_type",
            "updated_at"
          ],
          "type": "object",
          "properties": {
            "canister_id": {
              "title": "Canister Id",
              "type": "string"
            },
            "ledger_canister_id": {
              "title": "Ledger Canister Id",
              "type": "string"
            },
            "canister_type": {
              "title": "Canister Type",
              "type": "string"
            },
            "subnet_id": {
              "title": "Subnet Id",
              "type": "string"
            },
            "controllers": {
              "title": "Controllers",
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "module_hash": {
              "title": "Module Hash",
              "type": "string"
            },
            "cycle_balance": {
              "title": "Cycle Balance",
              "type": "string"
            },
            "stable_memory_bytes": {
              "title": "Stable Memory Bytes",
              "type": "string"
            },
            "updated_at": {
              "title": "Updated At",
              "type": "string"
            }
          }
        },
        "CountLedgersResponse": {
          "title": "CountLedgersResponse",
          "required": [
            "total"
          ],
          "type": "object",
          "properties": {
            "total": {
              "title": "Total",
              "type": "integer"
            }
          }
        },
        "CountTransactionsResponse": {
          "title": "CountTransactionsResponse",
          "required": [
            "total"
          ],
          "type": "object",
          "properties": {
            "total": {
              "title": "Total",
              "type": "integer"
            }
          }
        },
        "HTTPValidationError": {
          "title": "HTTPValidationError",
          "type": "object",
          "properties": {
            "detail": {
              "title": "Detail",
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ValidationError"
              }
            }
          }
        },
        "ListAccountBalancesResponse": {
          "title": "ListAccountBalancesResponse",
          "required": [
            "data"
          ],
          "type": "object",
          "properties": {
            "data": {
              "title": "Data",
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/TreasuryAccountBalances"
              }
            }
          },
          "description": "AccountBalance rest response schema"
        },
        "ListBlocksResponse": {
          "title": "ListBlocksResponse",
          "required": [
            "data",
            "max_block_index",
            "total_blocks"
          ],
          "type": "object",
          "properties": {
            "data": {
              "title": "Data",
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Block"
              }
            },
            "max_block_index": {
              "title": "Max Block Index",
              "type": "integer"
            },
            "total_blocks": {
              "title": "Total Blocks",
              "type": "integer"
            }
          }
        },
        "ListCanistersResponse": {
          "title": "ListCanistersResponse",
          "required": [
            "data"
          ],
          "type": "object",
          "properties": {
            "data": {
              "title": "Data",
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Canister"
              }
            }
          }
        },
        "ListTotalBurnedPerDayResponse": {
          "title": "ListTotalBurnedPerDayResponse",
          "required": [
            "data"
          ],
          "type": "object",
          "properties": {
            "data": {
              "title": "Data",
              "type": "array",
              "items": {
                "type": "array",
                "items": {
  
                }
              }
            }
          }
        },
        "ListTotalNewAccountsPerDayResponse": {
          "title": "ListTotalNewAccountsPerDayResponse",
          "required": [
            "data"
          ],
          "type": "object",
          "properties": {
            "data": {
              "title": "Data",
              "type": "array",
              "items": {
                "type": "array",
                "items": {
                  "type": "integer"
                }
              }
            }
          }
        },
        "ListTransactionVolumeMeta": {
          "title": "ListTransactionVolumeMeta",
          "type": "object",
          "properties": {
            "total_transactions_for_dataset": {
              "title": "Total Transactions For Dataset",
              "type": "string"
            },
            "total_volume_for_dataset": {
              "title": "Total Volume For Dataset",
              "type": "string"
            },
            "total_transactions_for_all_time": {
              "title": "Total Transactions For All Time",
              "type": "string"
            },
            "total_volume_for_all_time": {
              "title": "Total Volume For All Time",
              "type": "string"
            }
          }
        },
        "ListTransactionVolumeResponse": {
          "title": "ListTransactionVolumeResponse",
          "required": [
            "data",
            "meta"
          ],
          "type": "object",
          "properties": {
            "data": {
              "title": "Data",
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/TransactionVolumeMetric"
              }
            },
            "meta": {
              "$ref": "#/components/schemas/ListTransactionVolumeMeta"
            }
          }
        },
        "ListTransactionsResponse": {
          "title": "ListTransactionsResponse",
          "required": [
            "data",
            "max_transaction_index",
            "total_transactions"
          ],
          "type": "object",
          "properties": {
            "data": {
              "title": "Data",
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Transaction"
              }
            },
            "max_transaction_index": {
              "title": "Max Transaction Index",
              "type": "integer"
            },
            "total_transactions": {
              "title": "Total Transactions",
              "type": "integer"
            }
          }
        },
        "ListTransactionsResponseV2": {
          "title": "ListTransactionsResponseV2",
          "required": [
            "data"
          ],
          "type": "object",
          "properties": {
            "data": {
              "title": "Data",
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Transaction"
              }
            },
            "next_cursor": {
              "title": "Next Cursor",
              "type": "string"
            },
            "previous_cursor": {
              "title": "Previous Cursor",
              "type": "string"
            }
          }
        },
        "Network": {
          "title": "Network",
          "enum": [
            "mainnet",
            "testnet"
          ],
          "type": "string",
          "description": "An enumeration."
        },
        "SupplySeriesResponse": {
          "title": "SupplySeriesResponse",
          "required": [
            "data"
          ],
          "type": "object",
          "properties": {
            "data": {
              "title": "Data",
              "type": "array",
              "items": {
                "maxItems": 2,
                "minItems": 2,
                "type": "array",
                "items": [
                  {
                    "type": "integer"
                  },
                  {
                    "type": "string"
                  }
                ]
              }
            }
          }
        },
        "TotalSupplySeriesResponse": {
          "title": "TotalSupplySeriesResponse",
          "required": [
            "data"
          ],
          "type": "object",
          "properties": {
            "data": {
              "title": "Data",
              "type": "array",
              "items": {
                "maxItems": 2,
                "minItems": 2,
                "type": "array",
                "items": [
                  {
                    "type": "integer"
                  },
                  {
                    "type": "string"
                  }
                ]
              }
            }
          }
        },
        "Transaction": {
          "title": "Transaction",
          "required": [
            "index",
            "ledger_canister_id",
            "kind",
            "amount",
            "updated_at"
          ],
          "type": "object",
          "properties": {
            "index": {
              "title": "Index",
              "type": "integer"
            },
            "ledger_canister_id": {
              "title": "Ledger Canister Id",
              "type": "string"
            },
            "kind": {
              "title": "Kind",
              "type": "string"
            },
            "amount": {
              "title": "Amount",
              "type": "string"
            },
            "from_owner": {
              "title": "From Owner",
              "type": "string"
            },
            "from_subaccount": {
              "title": "From Subaccount",
              "type": "string"
            },
            "from_account": {
              "title": "From Account",
              "type": "string"
            },
            "to_owner": {
              "title": "To Owner",
              "type": "string"
            },
            "to_subaccount": {
              "title": "To Subaccount",
              "type": "string"
            },
            "to_account": {
              "title": "To Account",
              "type": "string"
            },
            "spender_owner": {
              "title": "Spender Owner",
              "type": "string"
            },
            "spender_subaccount": {
              "title": "Spender Subaccount",
              "type": "string"
            },
            "spender_account": {
              "title": "Spender Account",
              "type": "string"
            },
            "memo": {
              "title": "Memo",
              "type": "string"
            },
            "fee": {
              "title": "Fee",
              "type": "string"
            },
            "expected_allowance": {
              "title": "Expected Allowance",
              "type": "string"
            },
            "expires_at": {
              "title": "Expires At",
              "type": "string"
            },
            "created_at_time": {
              "title": "Created At Time",
              "type": "string"
            },
            "timestamp": {
              "title": "Timestamp",
              "type": "string"
            },
            "fee_collector_block": {
              "title": "Fee Collector Block",
              "type": "integer"
            },
            "updated_at": {
              "title": "Updated At",
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "TransactionVolumeMetric": {
          "title": "TransactionVolumeMetric",
          "required": [
            "date",
            "timestamp",
            "count",
            "volume",
            "count_over_time"
          ],
          "type": "object",
          "properties": {
            "date": {
              "title": "Date",
              "type": "string"
            },
            "timestamp": {
              "title": "Timestamp",
              "type": "integer"
            },
            "count": {
              "title": "Count",
              "type": "integer"
            },
            "volume": {
              "title": "Volume",
              "type": "string"
            },
            "count_over_time": {
              "title": "Count Over Time",
              "type": "string"
            }
          }
        },
        "TreasuryAccountBalances": {
          "title": "TreasuryAccountBalances",
          "required": [
            "canister_id",
            "ledger_canister_id",
            "day",
            "timestamp",
            "balance"
          ],
          "type": "object",
          "properties": {
            "canister_id": {
              "title": "Canister Id",
              "type": "string"
            },
            "ledger_canister_id": {
              "title": "Ledger Canister Id",
              "pattern": "^([a-zA-Z0-9]{5}-){4}[a-zA-Z0-9]{3}$",
              "type": "string"
            },
            "day": {
              "title": "Day",
              "type": "string",
              "format": "date"
            },
            "timestamp": {
              "title": "Timestamp",
              "type": "string"
            },
            "balance": {
              "title": "Balance",
              "type": "string"
            }
          },
          "description": "schema mapping for AccountBalances Model"
        },
        "ValidationError": {
          "title": "ValidationError",
          "required": [
            "loc",
            "msg",
            "type"
          ],
          "type": "object",
          "properties": {
            "loc": {
              "title": "Location",
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "integer"
                  }
                ]
              }
            },
            "msg": {
              "title": "Message",
              "type": "string"
            },
            "type": {
              "title": "Error Type",
              "type": "string"
            }
          }
        },
        "app__models__ledgers__TokenType": {
          "title": "TokenType",
          "enum": [
            "nns",
            "sns",
            "chain_key",
            "tcycles"
          ],
          "type": "string",
          "description": "An enumeration."
        },
        "app__schemas__ledgers__Ledger": {
          "title": "Ledger",
          "required": [
            "ledger_canister_id",
            "icrc1_metadata"
          ],
          "type": "object",
          "properties": {
            "ledger_canister_id": {
              "title": "Ledger Canister Id",
              "pattern": "^([a-zA-Z0-9]{5}-){4}[a-zA-Z0-9]{3}$",
              "type": "string"
            },
            "sns_root_canister_id": {
              "title": "Sns Root Canister Id",
              "pattern": "^([a-zA-Z0-9]{5}-){4}[a-zA-Z0-9]{3}$",
              "type": "string"
            },
            "ckerc20_orchestrator_id": {
              "title": "Ckerc20 Orchestrator Id",
              "type": "string"
            },
            "ckerc20_contract": {
              "$ref": "#/components/schemas/app__schemas__ledgers__LedgerCkerc20Contract"
            },
            "icrc1_metadata": {
              "$ref": "#/components/schemas/app__schemas__ledgers__LedgerIcrc1Metadata"
            }
          }
        },
        "app__schemas__ledgers__LedgerCkerc20Contract": {
          "title": "LedgerCkerc20Contract",
          "required": [
            "chain_id",
            "address"
          ],
          "type": "object",
          "properties": {
            "chain_id": {
              "title": "Chain Id",
              "type": "string"
            },
            "address": {
              "title": "Address",
              "type": "string"
            }
          }
        },
        "app__schemas__ledgers__LedgerIcrc1Metadata": {
          "title": "LedgerIcrc1Metadata",
          "required": [
            "icrc1_fee",
            "icrc1_name",
            "icrc1_symbol",
            "icrc1_decimals",
            "icrc1_total_supply",
            "icrc1_minting_account"
          ],
          "type": "object",
          "properties": {
            "icrc1_fee": {
              "title": "Icrc1 Fee",
              "type": "string"
            },
            "icrc1_name": {
              "title": "Icrc1 Name",
              "type": "string"
            },
            "icrc1_logo": {
              "title": "Icrc1 Logo",
              "type": "string"
            },
            "icrc1_symbol": {
              "title": "Icrc1 Symbol",
              "type": "string"
            },
            "icrc1_decimals": {
              "title": "Icrc1 Decimals",
              "type": "string"
            },
            "icrc1_total_supply": {
              "title": "Icrc1 Total Supply",
              "type": "string"
            },
            "icrc1_max_memo_length": {
              "title": "Icrc1 Max Memo Length",
              "type": "string"
            },
            "icrc1_minting_account": {
              "$ref": "#/components/schemas/app__schemas__ledgers__LedgerIcrc1MetadataMintingAccount"
            }
          }
        },
        "app__schemas__ledgers__LedgerIcrc1MetadataMintingAccount": {
          "title": "LedgerIcrc1MetadataMintingAccount",
          "required": [
            "owner"
          ],
          "type": "object",
          "properties": {
            "owner": {
              "title": "Owner",
              "type": "string"
            },
            "subaccount": {
              "title": "Subaccount",
              "type": "string"
            }
          }
        },
        "app__schemas__ledgers__LedgerList": {
          "title": "LedgerList",
          "required": [
            "data",
            "max_index",
            "total_ledgers"
          ],
          "type": "object",
          "properties": {
            "data": {
              "title": "Data",
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/app__schemas__ledgers__Ledger"
              }
            },
            "max_index": {
              "title": "Max Index",
              "type": "integer"
            },
            "total_ledgers": {
              "title": "Total Ledgers",
              "type": "integer"
            }
          }
        },
        "app__schemas__ledgers__TokenType": {
          "title": "TokenType",
          "enum": [
            "ckerc20_mainnet",
            "ckerc20_sepolia",
            "sns",
            "tcycles"
          ],
          "description": "An enumeration."
        },
        "app__schemas__transaction_count__ListTransactionCountMeta": {
          "title": "ListTransactionCountMeta",
          "type": "object",
          "properties": {
            "total_transactions_for_dataset": {
              "title": "Total Transactions For Dataset",
              "type": "string"
            },
            "total_transactions_for_all_time": {
              "title": "Total Transactions For All Time",
              "type": "string"
            }
          }
        },
        "app__schemas__transaction_count__ListTransactionCountResponse": {
          "title": "ListTransactionCountResponse",
          "required": [
            "data",
            "meta"
          ],
          "type": "object",
          "properties": {
            "data": {
              "title": "Data",
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/app__schemas__transaction_count__TransactionCountMetric"
              }
            },
            "meta": {
              "$ref": "#/components/schemas/app__schemas__transaction_count__ListTransactionCountMeta"
            }
          }
        },
        "app__schemas__transaction_count__Step": {
          "title": "Step",
          "enum": [86400, 3600],
          "type": "integer",
          "description": "An enumeration."
        },
        "app__schemas__transaction_count__TransactionCountMetric": {
          "title": "TransactionCountMetric",
          "required": [
            "date",
            "timestamp",
            "count",
            "count_over_time"
          ],
          "type": "object",
          "properties": {
            "date": {
              "title": "Date",
              "type": "string"
            },
            "timestamp": {
              "title": "Timestamp",
              "type": "integer"
            },
            "count": {
              "title": "Count",
              "type": "integer"
            },
            "count_over_time": {
              "title": "Count Over Time",
              "type": "string"
            }
          }
        },
        "app__schemas__transaction_volume__Step": {
          "title": "Step",
          "enum": [86400, 3600],
          "type": "integer",
          "description": "An enumeration."
        },
        "app__schemas__v2__ledgers__Ledger": {
          "title": "Ledger",
          "required": [
            "ledger_canister_id",
            "network",
            "token_type",
            "icrc1_metadata"
          ],
          "type": "object",
          "properties": {
            "ledger_canister_id": {
              "title": "Ledger Canister Id",
              "pattern": "^([a-zA-Z0-9]{5}-){4}[a-zA-Z0-9]{3}$",
              "type": "string"
            },
            "network": {
              "title": "Network",
              "type": "string"
            },
            "token_type": {
              "title": "Token Type",
              "type": "string"
            },
            "sns_root_canister_id": {
              "title": "Sns Root Canister Id",
              "pattern": "^([a-zA-Z0-9]{5}-){4}[a-zA-Z0-9]{3}$",
              "type": "string"
            },
            "ckerc20_orchestrator_id": {
              "title": "Ckerc20 Orchestrator Id",
              "type": "string"
            },
            "ckerc20_contract": {
              "$ref": "#/components/schemas/app__schemas__v2__ledgers__LedgerCkerc20Contract"
            },
            "icrc1_metadata": {
              "$ref": "#/components/schemas/app__schemas__v2__ledgers__LedgerIcrc1Metadata"
            },
            "unique_owners_count": {
              "title": "Unique Owners Count",
              "type": "integer"
            },
            "total_transactions_count_over_past_7d": {
              "title": "Total Transactions Count Over Past 7D",
              "type": "integer"
            },
            "total_volume_over_past_7d": {
              "title": "Total Volume Over Past 7D",
              "type": "string"
            },
            "total_supply_7d": {
              "title": "Total Supply 7D",
              "type": "array",
              "items": {
                "maxItems": 2,
                "minItems": 2,
                "type": "array",
                "items": [
                  {
                    "type": "integer"
                  },
                  {
                    "type": "string"
                  }
                ]
              }
            },
            "enabled": {
              "title": "Enabled",
              "type": "boolean"
            }
          }
        },
        "app__schemas__v2__ledgers__LedgerCkerc20Contract": {
          "title": "LedgerCkerc20Contract",
          "required": [
            "chain_id",
            "address"
          ],
          "type": "object",
          "properties": {
            "chain_id": {
              "title": "Chain Id",
              "type": "string"
            },
            "address": {
              "title": "Address",
              "type": "string"
            }
          }
        },
        "app__schemas__v2__ledgers__LedgerIcrc1Metadata": {
          "title": "LedgerIcrc1Metadata",
          "required": [
            "icrc1_fee",
            "icrc1_name",
            "icrc1_symbol",
            "icrc1_decimals",
            "icrc1_total_supply",
            "icrc1_minting_account"
          ],
          "type": "object",
          "properties": {
            "icrc1_fee": {
              "title": "Icrc1 Fee",
              "type": "string"
            },
            "icrc1_name": {
              "title": "Icrc1 Name",
              "type": "string"
            },
            "icrc1_logo": {
              "title": "Icrc1 Logo",
              "type": "string"
            },
            "icrc1_symbol": {
              "title": "Icrc1 Symbol",
              "type": "string"
            },
            "icrc1_decimals": {
              "title": "Icrc1 Decimals",
              "type": "string"
            },
            "icrc1_total_supply": {
              "title": "Icrc1 Total Supply",
              "type": "string"
            },
            "icrc1_max_memo_length": {
              "title": "Icrc1 Max Memo Length",
              "type": "string"
            },
            "icrc1_minting_account": {
              "$ref": "#/components/schemas/app__schemas__v2__ledgers__LedgerIcrc1MetadataMintingAccount"
            }
          }
        },
        "app__schemas__v2__ledgers__LedgerIcrc1MetadataMintingAccount": {
          "title": "LedgerIcrc1MetadataMintingAccount",
          "required": [
            "owner"
          ],
          "type": "object",
          "properties": {
            "owner": {
              "title": "Owner",
              "type": "string"
            },
            "subaccount": {
              "title": "Subaccount",
              "type": "string"
            }
          }
        },
        "app__schemas__v2__ledgers__LedgerList": {
          "title": "LedgerList",
          "required": [
            "data"
          ],
          "type": "object",
          "properties": {
            "data": {
              "title": "Data",
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/app__schemas__v2__ledgers__Ledger"
              }
            },
            "next_cursor": {
              "title": "Next Cursor",
              "type": "string"
            },
            "previous_cursor": {
              "title": "Previous Cursor",
              "type": "string"
            }
          }
        },
        "app__schemas__v2__transaction_count__ListTransactionCountMeta": {
          "title": "ListTransactionCountMeta",
          "type": "object",
          "properties": {
            "total_transactions_for_dataset": {
              "title": "Total Transactions For Dataset",
              "type": "string"
            },
            "total_transactions_for_all_time": {
              "title": "Total Transactions For All Time",
              "type": "string"
            }
          }
        },
        "app__schemas__v2__transaction_count__ListTransactionCountResponse": {
          "title": "ListTransactionCountResponse",
          "required": [
            "data",
            "meta"
          ],
          "type": "object",
          "properties": {
            "data": {
              "title": "Data",
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/app__schemas__v2__transaction_count__TransactionCountMetric"
              }
            },
            "meta": {
              "$ref": "#/components/schemas/app__schemas__v2__transaction_count__ListTransactionCountMeta"
            }
          }
        },
        "app__schemas__v2__transaction_count__Step": {
          "title": "Step",
          "enum": [86400, 3600],
          "type": "integer",
          "description": "An enumeration."
        },
        "app__schemas__v2__transaction_count__TransactionCountMetric": {
          "title": "TransactionCountMetric",
          "required": [
            "date",
            "timestamp",
            "count",
            "count_over_time"
          ],
          "type": "object",
          "properties": {
            "date": {
              "title": "Date",
              "type": "string"
            },
            "timestamp": {
              "title": "Timestamp",
              "type": "integer"
            },
            "count": {
              "title": "Count",
              "type": "integer"
            },
            "count_over_time": {
              "title": "Count Over Time",
              "type": "string"
            }
          }
        }
      }
    }
  }