{
  "openapi": "3.0.0",
  "info": {
    "title": "Token Terminal API",
    "termsOfService": "https://tokenterminal.com/terms",
    "version": "2.0.0"
  },
  "servers": [
    {
      "url": "https://api.tokenterminal.com"
    }
  ],
  "components": {
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "string"
      }
    },
    "schemas": {
      "NotFoundError": {
        "type": "object",
        "required": ["code", "field", "value"],
        "properties": {
          "code": {
            "type": "string",
            "enum": ["NOT_FOUND"],
            "description": "Error code indicating the entity was not found"
          },
          "field": {
            "type": "string",
            "enum": [
              "project_ids",
              "metric_ids",
              "chain_ids",
              "product_ids",
              "market_sector_ids"
            ],
            "description": "The request parameter field that contained the invalid value"
          },
          "value": {
            "type": "string",
            "description": "The invalid ID value that was not found"
          }
        },
        "example": {
          "code": "NOT_FOUND",
          "field": "project_ids",
          "value": "invalid-project"
        }
      },
      "MetricNotAvailableError": {
        "type": "object",
        "required": ["code", "project_id", "metric_id"],
        "properties": {
          "code": {
            "type": "string",
            "enum": ["METRIC_NOT_AVAILABLE"],
            "description": "Error code indicating the metric is not available for the specified project"
          },
          "project_id": {
            "type": "string",
            "description": "The project ID that does not have the metric available"
          },
          "metric_id": {
            "type": "string",
            "description": "The metric ID that is not available for the project"
          }
        },
        "example": {
          "code": "METRIC_NOT_AVAILABLE",
          "project_id": "aave",
          "metric_id": "tvl"
        }
      },
      "PartialError": {
        "oneOf": [
          {
            "type": "object",
            "required": ["code", "field", "value"],
            "properties": {
              "code": {
                "type": "string",
                "enum": ["NOT_FOUND"],
                "description": "Error code indicating the entity was not found"
              },
              "field": {
                "type": "string",
                "enum": [
                  "project_ids",
                  "metric_ids",
                  "chain_ids",
                  "product_ids",
                  "market_sector_ids"
                ],
                "description": "The request parameter field that contained the invalid value"
              },
              "value": {
                "type": "string",
                "description": "The invalid ID value that was not found"
              }
            },
            "example": {
              "code": "NOT_FOUND",
              "field": "project_ids",
              "value": "invalid-project"
            }
          },
          {
            "type": "object",
            "required": ["code", "project_id", "metric_id"],
            "properties": {
              "code": {
                "type": "string",
                "enum": ["METRIC_NOT_AVAILABLE"],
                "description": "Error code indicating the metric is not available for the specified project"
              },
              "project_id": {
                "type": "string",
                "description": "The project ID that does not have the metric available"
              },
              "metric_id": {
                "type": "string",
                "description": "The metric ID that is not available for the project"
              }
            },
            "example": {
              "code": "METRIC_NOT_AVAILABLE",
              "project_id": "aave",
              "metric_id": "tvl"
            }
          }
        ]
      }
    }
  },
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "tags": [],
  "paths": {
    "/v2/projects": {
      "get": {
        "tags": ["Projects"],
        "summary": "Get a list of all projects",
        "description": "Use this endpoint to retrieve a list of all projects that are available on the API.\n",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "name": {
                            "type": "string",
                            "description": "Returns the project name used on the web application."
                          },
                          "project_id": {
                            "type": "string",
                            "description": "Required input on the API when retrieving data for a project."
                          },
                          "coingecko_id": {
                            "type": "string",
                            "description": "Returns the Coingecko ID for a project."
                          },
                          "symbol": {
                            "type": "string",
                            "description": "Returns the ticker for a project’s token (exists if token is launched)."
                          },
                          "url": {
                            "type": "string",
                            "description": "Returns a link to the endpoint for querying a project’s metric availability data."
                          },
                          "is_archived": {
                            "type": "boolean",
                            "description": "Returns true if the project has been archived. Archived projects retain historical data but no new data is processed for them."
                          },
                          "archived_reason": {
                            "type": "string",
                            "description": "Returns information on why the project has been archived if applicable."
                          },
                          "maintenance_reason": {
                            "type": "string",
                            "description": "Returns information on why the project is having maintenance if applicable."
                          },
                          "products": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "product_id": {
                                  "type": "string",
                                  "description": "Returns the product ID."
                                },
                                "product_name": {
                                  "type": "string",
                                  "description": "Returns the product name."
                                },
                                "symbol": {
                                  "type": "string",
                                  "description": "Returns the ticker for a product's token."
                                },
                                "url": {
                                  "type": "string",
                                  "description": "Returns a link to the endpoint for querying more information about the product."
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/projects/{project_id}/metrics": {
      "get": {
        "tags": ["Projects"],
        "summary": "Get historical metrics for a project",
        "description": "Use this endpoint to retrieve historical data for a project. Fill in the required fields on the modal to the right.\n\nThis endpoint supports partial success - if some of the requested metric, chain, or product IDs are not found, the endpoint will return data for the valid entities and include an `errors` array with details about the invalid ones.\n",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "description": "ID of the project\n\nAllows you to select one of the projects available.\n\nThe full list is available on the projects endpoint (see above).\n",
            "required": true,
            "schema": {
              "type": "string",
              "format": "string"
            }
          },
          {
            "name": "metric_ids",
            "in": "query",
            "description": "List of metrics to include according to projects metric availability.\n\nAllows you to select one or more of the metrics available for a specific project. When including multiple metrics, separate each one with a comma. Example: `fees,revenue`.\n\nIf no metric_id is selected, the query defaults to returning all available metrics for the project.\n",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "example": ["fees", "revenue"]
          },
          {
            "name": "chain_ids",
            "in": "query",
            "description": "List of chains to include according to projects chain availability.\n\nAllows you to select one or more of the chains available for a specific project. When including multiple chains, separate each one with a comma. Example: `ethereum,base`.\n\nThe full list of available chains can be retrieved from the projects/:project_id endpoint.\n",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "example": ["ethereum", "base"]
          },
          {
            "name": "product_ids",
            "in": "query",
            "description": "List of products to include according to projects product availability.\n\nAllows you to select one or more of the products available for a specific project. When including multiple products, separate each one with a comma. Example: `usdc,usdt`.\n\nThe full list of available products can be retrieved from the projects endpoint.\n",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "example": ["usdc", "usdt"]
          },
          {
            "name": "market_sector_ids",
            "in": "query",
            "description": "List of market sector IDs to filter projects by.\n\nAllows you to select one or more market sectors to filter the results. Only projects belonging to any of the specified market sectors will be included. When including multiple market sectors, separate each one with a comma. Example: `blockchains-l1,lending`.\n\nThe full list of available market sectors can be retrieved from the `/v2/market-sectors` endpoint.\n",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "example": ["blockchains-l1", "lending"]
          },
          {
            "name": "aggregate_by",
            "in": "query",
            "description": "Level of granularity\n\nThis feature enables more detailed queries of specific metrics. For instance, you can examine a project's revenue by individual chain.\n\nHowever, it's important to note that this level of granularity is not applicable to all metrics. For example, while it is possible to segment the fees metric by chain, the price metric cannot be aggregated in this manner.\n\nThe availability of granularity options varies between projects. Attempting to apply an inappropriate level of granularity to a project will result in an empty result set.\n\nCan be combined without `metric_ids` to return all available metrics with the chosen breakdown.\n",
            "schema": {
              "type": "string",
              "enum": ["chain", "product_id"]
            },
            "example": "chain"
          },
          {
            "name": "start",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Start date\nAllows you to select the start date for the query. If no start is selected, the query defaults to launch date or the first date for which there is data available for the chosen metric(s).\n"
          },
          {
            "name": "end",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "End date\n\nAllows you to select the end date for the query. If no end is selected, the query defaults to the latest date for which there is data available for the chosen metric(s).\n"
          },
          {
            "name": "order_direction",
            "description": "Timestamp ordering\n\nAllows you to define how the response is sorted. The response is always sorted by timestamp, and by selecting `desc` the response starts from the most recent entry, and vice versa for `asc`.\n\nIf no order_direction is selected, the response defaults to `desc`.\n",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "desc",
              "enum": ["asc", "desc"]
            }
          },
          {
            "name": "assets_bridged",
            "in": "query",
            "description": "Include bridged assets in asset metrics\n\nControls whether bridged asset values are included when calculating asset-related metrics (e.g. `asset_market_cap_circulating`, `asset_transfer_volume`). Set to `false` to exclude bridged assets and only count native asset values.\n\nDefaults to `true`.\n",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "timestamp": {
                            "type": "string",
                            "description": "Returns the historical date for a given metric(s)."
                          },
                          "project_name": {
                            "type": "string",
                            "description": "Returns the project name used on the web application."
                          },
                          "project_id": {
                            "type": "string",
                            "description": "Returns the project ID."
                          },
                          "chain": {
                            "type": "string",
                            "description": "Returns the chosen metric(s) per chain.\n\nHas to be selected from the aggregate_by parameter.\n"
                          },
                          "business_line": {
                            "type": "string",
                            "description": "Returns the chosen metric(s) per business line.\n\nHas to be selected from the aggregate_by parameter.\n"
                          },
                          "version": {
                            "type": "string",
                            "description": "Returns the chosen metric(s) per version.\n\nHas to be selected from the aggregate_by parameter.\n"
                          },
                          "metric_id(s)": {
                            "type": "string",
                            "description": "Returns the chosen metric(s) for the project.\n\nThe full list of available metrics can be retrieved from the projects/:project_id endpoint (see above).\n\nThe metric_id(s) have to be selected from the metric_ids parameter.\n"
                          }
                        }
                      }
                    },
                    "errors": {
                      "type": "array",
                      "description": "Optional array of errors that occurred during request processing. Only present if some requested entities were not found.\n\nThe endpoint returns data for valid entities even when errors are present, allowing partial success.\n",
                      "items": {
                        "type": "object",
                        "required": ["code", "field", "value"],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": ["NOT_FOUND"],
                            "description": "Error code indicating the entity was not found"
                          },
                          "field": {
                            "type": "string",
                            "enum": [
                              "project_ids",
                              "metric_ids",
                              "chain_ids",
                              "product_ids",
                              "market_sector_ids"
                            ],
                            "description": "The request parameter field that contained the invalid value"
                          },
                          "value": {
                            "type": "string",
                            "description": "The invalid ID value that was not found"
                          }
                        },
                        "example": {
                          "code": "NOT_FOUND",
                          "field": "project_ids",
                          "value": "invalid-project"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/projects/{project_id}": {
      "get": {
        "tags": ["Projects"],
        "summary": "Get metric availability for a project",
        "description": "Use this endpoint to retrieve the metric availability for a project.",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "description": "Required input on the API when retrieving data for a project.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "name": {
                          "type": "string",
                          "description": "Returns the project name used on the web application."
                        },
                        "project_id": {
                          "type": "string",
                          "description": "Returns the ID of the project."
                        },
                        "symbol": {
                          "type": "string",
                          "description": "Returns the ticker for a project's token (exists if token is launched)."
                        },
                        "description": {
                          "type": "object",
                          "description": "Returns project's description for who, what, and how."
                        },
                        "market_sectors": {
                          "type": "object",
                          "description": "Returns the market sectors the project belongs to."
                        },
                        "chains": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "Returns the chains the project operates on, e.g. `ethereum`, `avalanche`."
                        },
                        "links": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "summary": {
                                "type": "string",
                                "description": "Link title"
                              },
                              "url": {
                                "type": "string",
                                "description": "Link URL"
                              }
                            }
                          },
                          "description": "Returns the links to the project's website, social media, and other resources."
                        },
                        "aggregate_by_options": {
                          "type": "object",
                          "description": "Returns what a metric can be aggregated by (used in `aggregate_by`)."
                        },
                        "metric_availability": {
                          "type": "string",
                          "description": "Returns the metrics that are available for the project."
                        },
                        "metric_definitions": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "metric_id": {
                                "type": "string",
                                "description": "Returns the metric ID."
                              },
                              "definition": {
                                "type": "string",
                                "description": "Returns the definition for the specific metric definition on the project."
                              }
                            }
                          }
                        },
                        "metric_sources": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "metric_id": {
                                "type": "string",
                                "description": "Returns the metric ID."
                              },
                              "definition": {
                                "type": "string",
                                "description": "Returns the definition for the specific metric source on the project."
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/projects/{project_id}/metric-aggregations": {
      "get": {
        "tags": ["Projects"],
        "summary": "Get metric aggregations for a project",
        "description": "Use this endpoint to retrieve metric aggregation data for one project.",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "description": "ID of the project\n\nAllows you to select one of the projects available.\n",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "project_name": {
                            "type": "string",
                            "description": "Returns the project name used on the web application."
                          },
                          "project_id": {
                            "type": "string",
                            "description": "Returns the project ID used on the web application."
                          },
                          "metric_id": {
                            "type": "string",
                            "description": "Returns the chosen metric for the project(s)."
                          },
                          "metric_aggregation_name": {
                            "type": "string",
                            "description": "Returns the chosen metric metric aggregation for the project(s)."
                          },
                          "value": {
                            "type": "string",
                            "description": "Returns the value of the chosen metric aggregation."
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/projects/{project_id}/financial-statement": {
      "get": {
        "tags": ["Projects"],
        "summary": "Get financial statement for a project",
        "description": "Use this endpoint to retrieve the financial statement report for a project.",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "description": "The project ID to retrieve financial statement for.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "timestamp_granularity",
            "in": "query",
            "description": "The financial statement time granularity.",
            "required": false,
            "schema": {
              "type": "string",
              "default": "quarter",
              "enum": ["year", "quarter", "month", "week"]
            }
          },
          {
            "name": "interval",
            "in": "query",
            "description": "The time interval to retrieve financial statement for.",
            "schema": {
              "type": "string",
              "default": "1y",
              "enum": ["1m", "1y", "2y", "3y", "5y", "max"]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "timestamp": {
                            "type": "string",
                            "description": "The timestamp of the data point."
                          },
                          "timestamp_label_heading": {
                            "type": "string",
                            "description": "The heading for granularity, e.g. Q3 2023."
                          },
                          "timestamp_label_subheading": {
                            "type": "string",
                            "description": "The subheading for the granularity, e.g. Oct 1 - Dec 31."
                          },
                          "timestamp_granularity": {
                            "type": "string",
                            "description": "The date granularity, e.g. quarter."
                          },
                          "project_name": {
                            "type": "string",
                            "description": "The project's name."
                          },
                          "section": {
                            "type": "string",
                            "description": "The section a metric belongs to, e.g. Income statement."
                          },
                          "metric_id": {
                            "type": "string",
                            "description": "The metric ID."
                          },
                          "value": {
                            "type": "string",
                            "description": "The value of the metric."
                          },
                          "pop_change": {
                            "type": "string",
                            "description": "The change ratio of the metric value to the previous value."
                          },
                          "definition": {
                            "type": "string",
                            "description": "The definition of the metric."
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/projects/{project_id}/products/{product_id}": {
      "get": {
        "tags": ["Projects"],
        "summary": "Get details for a specific product of a project",
        "description": "Use this endpoint to retrieve detailed information about a specific product within a project.\n",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "description": "ID of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "product_id",
            "in": "path",
            "description": "ID of the product",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "name": {
                          "type": "string",
                          "description": "Name of the product"
                        },
                        "product_id": {
                          "type": "string",
                          "description": "Unique identifier for the product"
                        },
                        "project_id": {
                          "type": "string",
                          "description": "Identifier for the parent project"
                        },
                        "symbol": {
                          "type": "string",
                          "description": "Symbol for the product"
                        },
                        "market_sectors": {
                          "type": "object",
                          "description": "Market sectors the product belongs to"
                        },
                        "chains": {
                          "type": "array",
                          "description": "Chains the product operates on",
                          "items": {
                            "type": "string"
                          }
                        },
                        "aggregate_by_options": {
                          "type": "object",
                          "description": "Available options for aggregating data"
                        },
                        "metric_availability": {
                          "type": "object",
                          "description": "Available metrics for the product"
                        },
                        "metric_definitions": {
                          "type": "array",
                          "description": "Definitions for available metrics",
                          "items": {
                            "type": "object"
                          }
                        },
                        "metric_sources": {
                          "type": "array",
                          "description": "Sources for available metrics",
                          "items": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input"
          },
          "404": {
            "description": "Product not found"
          }
        }
      }
    },
    "/v2/projects/{project_id}/products/{product_id}/metrics": {
      "get": {
        "tags": ["Projects"],
        "summary": "Get historical metrics for a specific product of a project",
        "description": "Use this endpoint to retrieve historical metrics data for a specific product within a project.\n\nThis endpoint supports partial success - if some of the requested metric or chain IDs are not found, the endpoint will return data for the valid entities and include an `errors` array with details about the invalid ones.\n",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "description": "ID of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "product_id",
            "in": "path",
            "description": "ID of the product",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "metric_ids",
            "in": "query",
            "description": "List of metrics to include according to product metric availability.\n\nAllows you to select one or more of the metrics available for a specific product. When including multiple metrics, separate each one with a comma. Example: `fees,revenue`.\n\nIf no metric_id is selected, the query defaults to returning all available metrics for the product.\n",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "example": ["fees", "revenue"]
          },
          {
            "name": "chain_ids",
            "in": "query",
            "description": "List of chains to include\n\nAllow selection of one or more chains to include in the data, particularly for metrics where chain-level granularity is available. When selecting multiple chains, separate each with a comma. Example: `ethereum,arbitrum`.\n\nIf no chain_id is provided, available chains for the product and metric will be used in the response.\n",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "start",
            "in": "query",
            "description": "Start date for data\n\nSet the beginning date for the data to be returned. Format: YYYY-MM-DD.\n\nIf no start date is provided, all historical data will be included from the earliest available date.\n",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "end",
            "in": "query",
            "description": "End date for data\n\nSet the ending date for the data to be returned. Format: YYYY-MM-DD.\n\nIf no end date is provided, data up to the current date will be included.\n",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "aggregate_by",
            "in": "query",
            "description": "Level of granularity\n\nThis feature enables more detailed queries of specific metrics. For instance, you can examine a product's revenue by individual chain.\n\nThe availability of granularity options varies between products. Attempting to apply an inappropriate level of granularity to a product will result in an empty result set.\n\nCan be combined without `metric_ids` to return all available metrics with the chosen breakdown.\n",
            "schema": {
              "type": "string",
              "enum": ["chain", "product_id"]
            }
          },
          {
            "name": "order_direction",
            "in": "query",
            "description": "Order direction for the results\n\nSort the results in ascending or descending order based on date.\n",
            "schema": {
              "type": "string",
              "enum": ["asc", "desc"],
              "default": "desc"
            }
          },
          {
            "name": "assets_bridged",
            "in": "query",
            "description": "Include bridged assets in asset metrics\n\nControls whether bridged asset values are included when calculating asset-related metrics (e.g. `asset_market_cap_circulating`, `asset_transfer_volume`). Set to `false` to exclude bridged assets and only count native asset values.\n\nDefaults to `true`.\n",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "metric_id": {
                            "type": "string",
                            "description": "Identifier for the metric"
                          },
                          "date": {
                            "type": "string",
                            "description": "Date for this data point"
                          },
                          "value": {
                            "type": "number",
                            "description": "Value of the metric for the given date"
                          },
                          "chain_id": {
                            "type": "string",
                            "description": "Chain identifier (when aggregated by chain)"
                          }
                        }
                      }
                    },
                    "errors": {
                      "type": "array",
                      "description": "Optional array of errors that occurred during request processing. Only present if some requested entities were invalid.\n\nThe endpoint returns data for valid entities even when errors are present, allowing partial success.\n",
                      "items": {
                        "type": "object",
                        "required": ["code", "field", "value"],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": ["NOT_FOUND"],
                            "description": "Error code indicating the entity was not found"
                          },
                          "field": {
                            "type": "string",
                            "enum": [
                              "project_ids",
                              "metric_ids",
                              "chain_ids",
                              "product_ids",
                              "market_sector_ids"
                            ],
                            "description": "The request parameter field that contained the invalid value"
                          },
                          "value": {
                            "type": "string",
                            "description": "The invalid ID value that was not found"
                          }
                        },
                        "example": {
                          "code": "NOT_FOUND",
                          "field": "project_ids",
                          "value": "invalid-project"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input"
          },
          "404": {
            "description": "Product not found"
          }
        }
      }
    },
    "/v2/market-sectors": {
      "get": {
        "tags": ["Market sectors"],
        "summary": "Get a list of all market sectors",
        "description": "Use this endpoint to retrieve a list of all available market sectors that are available on the API.\n",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "description": "The Array containing the data for a successful response.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string",
                            "description": "Returns the market sector ID for retrieving data for each market sector."
                          },
                          "name": {
                            "type": "string",
                            "description": "Name of the market sector"
                          },
                          "url": {
                            "type": "string",
                            "description": "Returns a link to the endpoint for querying a market sector data."
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/market-sectors/{market_sector_id}": {
      "get": {
        "tags": ["Market sectors"],
        "summary": "Get market sector data",
        "description": "Use this endpoint to retrieve a market sector metadata and the list of all projects belonging to market sector.\n",
        "parameters": [
          {
            "name": "market_sector_id",
            "in": "path",
            "description": "The market sector ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "description": "The object containing the data for a successful response.",
                      "properties": {
                        "market_sector_id": {
                          "type": "string",
                          "description": "Market sector's ID"
                        },
                        "name": {
                          "type": "string",
                          "description": "Name of the market sector"
                        },
                        "description": {
                          "type": "object",
                          "properties": {
                            "what": {
                              "type": "string",
                              "description": "Description of the market sector"
                            },
                            "how": {
                              "type": "string",
                              "description": "Description on how does the market sector work"
                            }
                          }
                        },
                        "projects": {
                          "type": "array",
                          "description": "List of projects belonging to market sector",
                          "items": {
                            "type": "object",
                            "properties": {
                              "project_id": {
                                "type": "string",
                                "description": "ID of the project"
                              },
                              "name": {
                                "type": "string",
                                "description": "Name of the project"
                              },
                              "url": {
                                "type": "string",
                                "description": "Returns a link to the endpoint for querying project specific data."
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/metrics": {
      "get": {
        "tags": ["Metrics"],
        "summary": "Get a list of all metrics",
        "description": "Use this endpoint to retrieve a list of all metrics available on the API.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "metric_id": {
                            "type": "string",
                            "description": "Required input on the API when retrieving data for a metric."
                          },
                          "metric_name": {
                            "type": "string",
                            "description": "The metric's name."
                          },
                          "description": {
                            "type": "string",
                            "description": "The metric's description."
                          },
                          "url": {
                            "type": "string",
                            "description": "Returns a link to the endpoint for querying metric-specific data."
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/metrics/{metric_id}": {
      "get": {
        "tags": ["Metrics"],
        "summary": "Get metric data for multiple projects",
        "description": "Use this endpoint to retrieve metric data for multiple projects.\n\nYou can get specific metric for all projects by omitting `project_ids` or using `project_ids=all`.\n\nThis endpoint supports partial success - if some of the requested entities (projects, chains, or products) are invalid or if a metric is not available for a specific project, the endpoint will return data for the valid entities and include an `errors` array with details about the issues.\n",
        "parameters": [
          {
            "name": "metric_id",
            "in": "path",
            "description": "Allows you to select one of the metrics available. The full list is available on the metrics endpoint (see above).",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "project_ids",
            "in": "query",
            "description": "Allows you to select one or more of the projects available for a specific metric. When including multiple projects, separate each one with a comma. Example: `aave,uniswap`.\n\nYou can fetch all available projects for the respective metric by omitting this parameter or using value `all`.\n",
            "required": false,
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "chain_ids",
            "in": "query",
            "description": "List of chains to include according to projects chain availability.\n\nAllows you to select one or more of the chains available for a specific project. When including multiple chains, separate each one with a comma. Example: `ethereum,base`.\n\nThe full list of available chains can be retrieved from the projects/:project_id endpoint.\n",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "example": ["ethereum", "base"]
          },
          {
            "name": "product_ids",
            "in": "query",
            "description": "List of products to include according to projects product availability.\n\nAllows you to select one or more of the products available for a specific project. When including multiple products, separate each one with a comma. Example: `usdc,usdt`.\n\nThe full list of available products can be retrieved from the projects endpoint.\n",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "example": ["usdc", "usdt"]
          },
          {
            "name": "market_sector_ids",
            "in": "query",
            "description": "List of market sector IDs to filter projects by.\n\nAllows you to select one or more market sectors to filter the results. Only projects belonging to any of the specified market sectors will be included. When including multiple market sectors, separate each one with a comma. Example: `blockchains-l1,lending`.\n\nThe full list of available market sectors can be retrieved from the `/v2/market-sectors` endpoint.\n",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "example": ["blockchains-l1", "lending"]
          },
          {
            "name": "start",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Allows you to select the start date for the query. If no start is selected, the query defaults to launch date or the first date for which there is data available for the chosen metric(s)."
          },
          {
            "name": "end",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Allows you to select the end date for the query. If no end is selected, the query defaults to the latest date for which there is data available for the chosen metric(s)."
          },
          {
            "name": "assets_bridged",
            "in": "query",
            "description": "Include bridged assets in asset metrics\n\nControls whether bridged asset values are included when calculating asset-related metrics (e.g. `asset_market_cap_circulating`, `asset_transfer_volume`). Set to `false` to exclude bridged assets and only count native asset values.\n\nDefaults to `true`.\n",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "timestamp": {
                            "type": "string",
                            "description": "Returns the historical date for a given metric(s)."
                          },
                          "project_id": {
                            "type": "string",
                            "description": "Returns the project ID."
                          },
                          "project_name": {
                            "type": "string",
                            "description": "Returns the project name used on the web application."
                          },
                          "metric_id": {
                            "type": "string",
                            "description": "Returns the chosen metric for the project(s)."
                          },
                          "value": {
                            "type": "string",
                            "description": "Returns the value of the chosen metric."
                          }
                        }
                      }
                    },
                    "errors": {
                      "type": "array",
                      "description": "Optional array of errors that occurred during request processing. Only present if some requested entities were invalid or unavailable.\n\nThe endpoint returns data for valid entities even when errors are present, allowing partial success.\n",
                      "items": {
                        "oneOf": [
                          {
                            "type": "object",
                            "required": ["code", "field", "value"],
                            "properties": {
                              "code": {
                                "type": "string",
                                "enum": ["NOT_FOUND"],
                                "description": "Error code indicating the entity was not found"
                              },
                              "field": {
                                "type": "string",
                                "enum": [
                                  "project_ids",
                                  "metric_ids",
                                  "chain_ids",
                                  "product_ids",
                                  "market_sector_ids"
                                ],
                                "description": "The request parameter field that contained the invalid value"
                              },
                              "value": {
                                "type": "string",
                                "description": "The invalid ID value that was not found"
                              }
                            },
                            "example": {
                              "code": "NOT_FOUND",
                              "field": "project_ids",
                              "value": "invalid-project"
                            }
                          },
                          {
                            "type": "object",
                            "required": ["code", "project_id", "metric_id"],
                            "properties": {
                              "code": {
                                "type": "string",
                                "enum": ["METRIC_NOT_AVAILABLE"],
                                "description": "Error code indicating the metric is not available for the specified project"
                              },
                              "project_id": {
                                "type": "string",
                                "description": "The project ID that does not have the metric available"
                              },
                              "metric_id": {
                                "type": "string",
                                "description": "The metric ID that is not available for the project"
                              }
                            },
                            "example": {
                              "code": "METRIC_NOT_AVAILABLE",
                              "project_id": "aave",
                              "metric_id": "tvl"
                            }
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/metric-aggregations": {
      "get": {
        "tags": ["Metrics"],
        "summary": "Get metric aggregations for multiple projects",
        "description": "Use this endpoint to retrieve metric aggregations for multiple projects.\n\nYou can get all aggregations for all projects by omitting `project_ids` and `metric_ids` parameters. Fetching all projects or metrics you can omit the parameter or using parameter value `all`.\n\nThis endpoint supports partial success - if some of the requested project or metric IDs are not found, the endpoint will return data for the valid entities and include an `errors` array with details about the invalid ones.\n",
        "parameters": [
          {
            "name": "project_ids",
            "in": "query",
            "description": "Allows you to select one or more of the projects available for a specific metric. When including multiple projects, separate each one with a comma. Example: `aave,uniswap`.\n\nYou can fetch all available projects by omitting this parameter or using value `all`.\n",
            "required": true,
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "metric_ids",
            "in": "query",
            "description": "Allows you to fetch all aggregations for the given comma separated list of metrics available. The full list is available on the metrics endpoint (see above).\n\nYou can fetch all available metrics by omitting this parameter or using value `all`.\n",
            "required": false,
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "project_name": {
                            "type": "string",
                            "description": "Returns the project name used on the web application."
                          },
                          "project_id": {
                            "type": "string",
                            "description": "Returns the project ID used on the web application."
                          },
                          "metric_id": {
                            "type": "string",
                            "description": "Returns the chosen metric for the project(s)."
                          },
                          "metric_aggregation_name": {
                            "type": "string",
                            "description": "Returns the chosen metric metric aggregation for the project(s)."
                          },
                          "value": {
                            "type": "string",
                            "description": "Returns the value of the chosen metric aggregation."
                          }
                        }
                      }
                    },
                    "errors": {
                      "type": "array",
                      "description": "Optional array of errors that occurred during request processing. Only present if some requested entities were not found.\n\nThe endpoint returns data for valid entities even when errors are present, allowing partial success.\n",
                      "items": {
                        "type": "object",
                        "required": ["code", "field", "value"],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": ["NOT_FOUND"],
                            "description": "Error code indicating the entity was not found"
                          },
                          "field": {
                            "type": "string",
                            "enum": [
                              "project_ids",
                              "metric_ids",
                              "chain_ids",
                              "product_ids",
                              "market_sector_ids"
                            ],
                            "description": "The request parameter field that contained the invalid value"
                          },
                          "value": {
                            "type": "string",
                            "description": "The invalid ID value that was not found"
                          }
                        },
                        "example": {
                          "code": "NOT_FOUND",
                          "field": "project_ids",
                          "value": "invalid-project"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/metric-breakdown": {
      "post": {
        "tags": ["Metrics"],
        "summary": "Get metric breakdown aggregation for multiple projects, chains, or products",
        "description": "Use this endpoint to retrieve metric breakdown aggregation for multiple projects including avg, change, sum, trend, and latest values over a given interval or date range. When looking at cumulative metrics such as fees, reference sums for the total aggregate, and when looking at static metrics such as total value locked, reference latest values for the latest running total. See the response reference below for more details.\n\nThis endpoint supports partial success - if some of the requested metric, project, chain, or product IDs are not found, the endpoint will return data for the valid entities and include an `errors` array with details about the invalid ones.\n",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["metric_ids", "interval", "group_by"],
                "properties": {
                  "metric_ids": {
                    "type": "array",
                    "description": "Array of metric IDs to retrieve data for",
                    "items": {
                      "type": "string"
                    }
                  },
                  "project_ids": {
                    "type": "array",
                    "description": "Optional array of project IDs to filter by",
                    "items": {
                      "type": "string"
                    }
                  },
                  "product_ids": {
                    "type": "array",
                    "description": "Optional array of product IDs to filter by",
                    "items": {
                      "type": "string"
                    }
                  },
                  "chain_ids": {
                    "type": "array",
                    "description": "Optional array of chain IDs to filter by",
                    "items": {
                      "type": "string"
                    }
                  },
                  "market_sector_ids": {
                    "type": "array",
                    "description": "Optional list of market sector IDs to filter by",
                    "items": {
                      "type": "string"
                    },
                    "example": ["blockchains-l1", "lending"]
                  },
                  "interval": {
                    "type": "string",
                    "description": "Time interval for aggregation",
                    "enum": [
                      "24h",
                      "7d",
                      "30d",
                      "90d",
                      "180d",
                      "365d",
                      "ytd",
                      "max"
                    ]
                  },
                  "group_by": {
                    "type": "string",
                    "description": "How to group the results",
                    "enum": [
                      "projects",
                      "chains",
                      "chain-project",
                      "chain-product",
                      "chain-market-sector",
                      "market-sector",
                      "product"
                    ]
                  },
                  "start": {
                    "type": "string",
                    "format": "date",
                    "description": "Start date for the query"
                  },
                  "end": {
                    "type": "string",
                    "format": "date",
                    "description": "End date for the query"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "data_id": {
                            "type": "string",
                            "description": "The ID of the project depending on grouping this may not be in the return.",
                            "example": "usual"
                          },
                          "chain_id": {
                            "type": "string",
                            "description": "The ID of the chain depending on grouping this may not be in the return.",
                            "example": "usual"
                          },
                          "product_id": {
                            "type": "string",
                            "description": "The ID of the product depending on grouping this may not be in the return.",
                            "example": "usual"
                          },
                          "metrics": {
                            "type": "object",
                            "additionalProperties": {
                              "type": "object",
                              "properties": {
                                "avg": {
                                  "type": "number",
                                  "description": "Average value over the selected interval"
                                },
                                "change": {
                                  "type": "number",
                                  "description": "Percentage change over the selected interval. Most useful with static metrics such as averages and running totals."
                                },
                                "sum": {
                                  "type": "number",
                                  "description": "Sum of values over the selected interval. Most useful for non-static or cumulative metrics where each day's values are unique."
                                },
                                "trend": {
                                  "type": "number",
                                  "description": "Trend indicator value. Most useful for non-static or cumulative metrics where each day's values are unique."
                                },
                                "latest": {
                                  "type": "number",
                                  "description": "Latest value for the metric. Most useful for static metrics such as averages and running totals."
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    "errors": {
                      "type": "array",
                      "description": "Optional array of errors that occurred during request processing. Only present if some requested entities were not found.\n\nThe endpoint returns data for valid entities even when errors are present, allowing partial success.\n",
                      "items": {
                        "type": "object",
                        "required": ["code", "field", "value"],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": ["NOT_FOUND"],
                            "description": "Error code indicating the entity was not found"
                          },
                          "field": {
                            "type": "string",
                            "enum": [
                              "project_ids",
                              "metric_ids",
                              "chain_ids",
                              "product_ids",
                              "market_sector_ids"
                            ],
                            "description": "The request parameter field that contained the invalid value"
                          },
                          "value": {
                            "type": "string",
                            "description": "The invalid ID value that was not found"
                          }
                        },
                        "example": {
                          "code": "NOT_FOUND",
                          "field": "project_ids",
                          "value": "invalid-project"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/datasets": {
      "get": {
        "tags": ["Datasets"],
        "summary": "List all datasets",
        "description": "Use this endpoint to list all datasets that are available.\n",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "description": "The object containing the data for a successful response.",
                      "properties": {
                        "mart_id": {
                          "type": "string",
                          "description": "The ID of the dataset (aka. mart ID)"
                        },
                        "name": {
                          "type": "string",
                          "description": "The name of the dataset"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/datasets/blockchain_comparison": {
      "get": {
        "tags": ["Datasets"],
        "summary": "Get the Blockchain comparison dataset",
        "description": "Use this endpoint to retrieve the Blockchain comparison dataset.\n\nYou can get the whole dataset by omitting all parameters.\n",
        "parameters": [
          {
            "name": "chain_ids",
            "in": "query",
            "description": "Allows you to select one or more of the chains available in the dataset. When including multiple chains, separate each one with a comma. Example: `ethereum,arbitrum`.\n",
            "required": false,
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "example": ["ethereum", "arbitrum"]
          },
          {
            "name": "order_by",
            "in": "query",
            "description": "Allows you to select a field by which the response array is sorted.\n",
            "schema": {
              "type": "string",
              "format": "string"
            },
            "example": "market_cap_fd_30d_change"
          },
          {
            "name": "order_direction",
            "in": "query",
            "description": "Allows you to define order direction for the field selected in `order_by`. If no order_direction is selected, the response defaults to `asc`.\n",
            "schema": {
              "type": "string",
              "format": "string"
            },
            "example": "desc"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Limit the number of results returned. Usage through API reference has max limit of 50.",
            "schema": {
              "type": "number",
              "format": "number"
            },
            "example": 10
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "description": "The Array containing the data for a successful response.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "chain_id": {
                            "type": "string",
                            "description": "The ID of the chain"
                          },
                          "chain_name": {
                            "type": "string",
                            "description": "The name of the chain"
                          },
                          "market_cap_fd_latest": {
                            "type": "number",
                            "description": "Latest market cap fully diluted"
                          },
                          "market_cap_fd_1d_change": {
                            "type": "number",
                            "description": "Change in market cap fully diluted in the past 1 day"
                          },
                          "market_cap_fd_7d_change": {
                            "type": "number",
                            "description": "Change in market cap fully diluted in the past  7 days"
                          },
                          "market_cap_fd_30d_change": {
                            "type": "number",
                            "description": "Change in market cap fully diluted in the past  30 days"
                          },
                          "market_cap_fd_90d_change": {
                            "type": "number",
                            "description": "Change in market cap fully diluted in the past  90 days"
                          },
                          "market_cap_fd_180d_change": {
                            "type": "number",
                            "description": "Change in market cap fully diluted in the past  180 days"
                          },
                          "market_cap_fd_365d_change": {
                            "type": "number",
                            "description": "Change in market cap fully diluted in the past  365 days"
                          },
                          "market_cap_circ_latest": {
                            "type": "number",
                            "description": "Latest market cap circulating"
                          },
                          "market_cap_circ_1d_change": {
                            "type": "number",
                            "description": "Change in market cap circulating in the past 1 day"
                          },
                          "market_cap_circ_7d_change": {
                            "type": "number",
                            "description": "Change in market cap circulating in the past  7 days"
                          },
                          "market_cap_circ_30d_change": {
                            "type": "number",
                            "description": "Change in market cap circulating in the past  30 days"
                          },
                          "market_cap_circ_90d_change": {
                            "type": "number",
                            "description": "Change in market cap circulating in the past  90 days"
                          },
                          "market_cap_circ_180d_change": {
                            "type": "number",
                            "description": "Change in market cap circulating in the past  180 days"
                          },
                          "market_cap_circ_365d_change": {
                            "type": "number",
                            "description": "Change in market cap circulating in the past  365 days"
                          },
                          "active_users_daily_latest": {
                            "type": "number",
                            "description": "Active users (daily) for the last 1 day"
                          },
                          "active_users_daily_1d_change": {
                            "type": "number",
                            "description": "Change in active users (daily) in the past 1 day"
                          },
                          "active_users_daily_7d_change": {
                            "type": "number",
                            "description": "Change in active users (daily) in the past  7 days"
                          },
                          "active_users_daily_30d_change": {
                            "type": "number",
                            "description": "Change in active users (daily) in the past  30 days"
                          },
                          "active_users_daily_90d_change": {
                            "type": "number",
                            "description": "Change in active users (daily) in the past  90 days"
                          },
                          "active_users_daily_180d_change": {
                            "type": "number",
                            "description": "Change in active users (daily) in the past  180 days"
                          },
                          "active_users_daily_365d_change": {
                            "type": "number",
                            "description": "Change in active users (daily) in the past  365 days"
                          },
                          "transaction_count_1d": {
                            "type": "number",
                            "description": "Transaction count for the last 1 day"
                          },
                          "transaction_count_1d_trend": {
                            "type": "number",
                            "description": "Transaction count trend for the last 1 day"
                          },
                          "transaction_count_7d": {
                            "type": "number",
                            "description": "Transaction count for the last 7 days"
                          },
                          "transaction_count_7d_trend": {
                            "type": "number",
                            "description": "Transaction count trend for the last 7 days"
                          },
                          "transaction_count_30d": {
                            "type": "number",
                            "description": "Transaction count for the last 30 days"
                          },
                          "transaction_count_30d_trend": {
                            "type": "number",
                            "description": "Transaction count trend for the last 30 days"
                          },
                          "transaction_count_90d": {
                            "type": "number",
                            "description": "Transaction count for the last 90 days"
                          },
                          "transaction_count_90d_trend": {
                            "type": "number",
                            "description": "Transaction count trend for the last 90 days"
                          },
                          "transaction_count_180d": {
                            "type": "number",
                            "description": "Transaction count for the last 180 days"
                          },
                          "transaction_count_180d_trend": {
                            "type": "number",
                            "description": "Transaction count trend for the last 180 days"
                          },
                          "transaction_count_365d": {
                            "type": "number",
                            "description": "Transaction count for the last 365 days"
                          },
                          "transaction_count_365d_trend": {
                            "type": "number",
                            "description": "Transaction count trend for the last 365 days"
                          },
                          "transaction_count_max": {
                            "type": "number",
                            "description": "Transaction count for all time"
                          },
                          "core_developers_latest": {
                            "type": "number",
                            "description": "Number of distinct GitHub users that made 1+ commits to the project's public GitHub repositories during the past 30 days."
                          },
                          "core_developers_1d_change": {
                            "type": "number",
                            "description": "Change in Core developers in the past 1 day"
                          },
                          "core_developers_7d_change": {
                            "type": "number",
                            "description": "Change in Core developers in the past  7 days"
                          },
                          "core_developers_30d_change": {
                            "type": "number",
                            "description": "Change in Core developers in the past  30 days"
                          },
                          "core_developers_90d_change": {
                            "type": "number",
                            "description": "Change in Core developers in the past  90 days"
                          },
                          "core_developers_180d_change": {
                            "type": "number",
                            "description": "Change in Core developers in the past  180 days"
                          },
                          "core_developers_365d_change": {
                            "type": "number",
                            "description": "Change in Core developers in the past  365 days"
                          },
                          "ecosystem_fees_1d_sum": {
                            "type": "number",
                            "description": "Ecosystem fees for the last 1 day"
                          },
                          "ecosystem_fees_1d_trend": {
                            "type": "number",
                            "description": "Ecosystem fees trend for the last 1 day"
                          },
                          "ecosystem_fees_7d_sum": {
                            "type": "number",
                            "description": "Ecosystem fees for the last 7 days"
                          },
                          "ecosystem_fees_7d_trend": {
                            "type": "number",
                            "description": "Ecosystem fees trend for the last 7 days"
                          },
                          "ecosystem_fees_30d_sum": {
                            "type": "number",
                            "description": "Ecosystem fees for the last 30 days"
                          },
                          "ecosystem_fees_30d_trend": {
                            "type": "number",
                            "description": "Ecosystem fees trend for the last 30 days"
                          },
                          "ecosystem_fees_90d_sum": {
                            "type": "number",
                            "description": "Ecosystem fees for the last 90 days"
                          },
                          "ecosystem_fees_90d_trend": {
                            "type": "number",
                            "description": "Ecosystem fees trend for the last 90 days"
                          },
                          "ecosystem_fees_180d_sum": {
                            "type": "number",
                            "description": "Ecosystem fees for the last 180 days"
                          },
                          "ecosystem_fees_180d_trend": {
                            "type": "number",
                            "description": "Ecosystem fees trend for the last 180 days"
                          },
                          "ecosystem_fees_365d_sum": {
                            "type": "number",
                            "description": "Ecosystem fees for the last 365 days"
                          },
                          "ecosystem_fees_365d_trend": {
                            "type": "number",
                            "description": "Ecosystem fees trend for the last 365 days"
                          },
                          "ecosystem_fees_max_sum": {
                            "type": "number",
                            "description": "Ecosystem fees for all time"
                          },
                          "ecosystem_revenue_1d_sum": {
                            "type": "number",
                            "description": "Ecosystem revenue for the last 1 day"
                          },
                          "ecosystem_revenue_1d_trend": {
                            "type": "number",
                            "description": "Ecosystem revenue trend for the last 1 day"
                          },
                          "ecosystem_revenue_7d_sum": {
                            "type": "number",
                            "description": "Ecosystem revenue for the last 7 days"
                          },
                          "ecosystem_revenue_7d_trend": {
                            "type": "number",
                            "description": "Ecosystem revenue trend for the last 7 days"
                          },
                          "ecosystem_revenue_30d_sum": {
                            "type": "number",
                            "description": "Ecosystem revenue for the last 30 days"
                          },
                          "ecosystem_revenue_30d_trend": {
                            "type": "number",
                            "description": "Ecosystem revenue trend for the last 30 days"
                          },
                          "ecosystem_revenue_90d_sum": {
                            "type": "number",
                            "description": "Ecosystem revenue for the last 90 days"
                          },
                          "ecosystem_revenue_90d_trend": {
                            "type": "number",
                            "description": "Ecosystem revenue trend for the last 90 days"
                          },
                          "ecosystem_revenue_180d_sum": {
                            "type": "number",
                            "description": "Ecosystem revenue for the last 180 days"
                          },
                          "ecosystem_revenue_180d_trend": {
                            "type": "number",
                            "description": "Ecosystem revenue trend for the last 180 days"
                          },
                          "ecosystem_revenue_365d_sum": {
                            "type": "number",
                            "description": "Ecosystem revenue for the last 365 days"
                          },
                          "ecosystem_revenue_365d_trend": {
                            "type": "number",
                            "description": "Ecosystem revenue trend for the last 365 days"
                          },
                          "ecosystem_revenue_max_sum": {
                            "type": "number",
                            "description": "Ecosystem revenue for all time"
                          },
                          "ecosystem_dex_trading_volume_1d_sum": {
                            "type": "number",
                            "description": "Ecosystem dex_trading_volume for the last 1 day"
                          },
                          "ecosystem_dex_trading_volume_1d_trend": {
                            "type": "number",
                            "description": "Ecosystem dex_trading_volume trend for the last 1 day"
                          },
                          "ecosystem_dex_trading_volume_7d_sum": {
                            "type": "number",
                            "description": "Ecosystem dex_trading_volume for the last 7 days"
                          },
                          "ecosystem_dex_trading_volume_7d_trend": {
                            "type": "number",
                            "description": "Ecosystem dex_trading_volume trend for the last 7 days"
                          },
                          "ecosystem_dex_trading_volume_30d_sum": {
                            "type": "number",
                            "description": "Ecosystem dex_trading_volume for the last 30 days"
                          },
                          "ecosystem_dex_trading_volume_30d_trend": {
                            "type": "number",
                            "description": "Ecosystem dex_trading_volume trend for the last 30 days"
                          },
                          "ecosystem_dex_trading_volume_90d_sum": {
                            "type": "number",
                            "description": "Ecosystem dex_trading_volume for the last 90 days"
                          },
                          "ecosystem_dex_trading_volume_90d_trend": {
                            "type": "number",
                            "description": "Ecosystem dex_trading_volume trend for the last 90 days"
                          },
                          "ecosystem_dex_trading_volume_180d_sum": {
                            "type": "number",
                            "description": "Ecosystem dex_trading_volume for the last 180 days"
                          },
                          "ecosystem_dex_trading_volume_180d_trend": {
                            "type": "number",
                            "description": "Ecosystem dex_trading_volume trend for the last 180 days"
                          },
                          "ecosystem_dex_trading_volume_365d_sum": {
                            "type": "number",
                            "description": "Ecosystem dex_trading_volume for the last 365 days"
                          },
                          "ecosystem_dex_trading_volume_365d_trend": {
                            "type": "number",
                            "description": "Ecosystem dex_trading_volume trend for the last 365 days"
                          },
                          "ecosystem_dex_trading_volume_max_sum": {
                            "type": "number",
                            "description": "Ecosystem dex_trading_volume for all time"
                          },
                          "ecosystem_tvl_latest": {
                            "type": "number",
                            "description": "Latest ecosystem tvl"
                          },
                          "ecosystem_tvl_1d_change": {
                            "type": "number",
                            "description": "Change in ecosystem tvl in the past 1 day"
                          },
                          "ecosystem_tvl_7d_change": {
                            "type": "number",
                            "description": "Change in ecosystem tvl in the past  7 days"
                          },
                          "ecosystem_tvl_30d_change": {
                            "type": "number",
                            "description": "Change in ecosystem tvl in the past  30 days"
                          },
                          "ecosystem_tvl_90d_change": {
                            "type": "number",
                            "description": "Change in ecosystem tvl in the past  90 days"
                          },
                          "ecosystem_tvl_180d_change": {
                            "type": "number",
                            "description": "Change in ecosystem tvl in the past  180 days"
                          },
                          "ecosystem_tvl_365d_change": {
                            "type": "number",
                            "description": "Change in ecosystem tvl in the past  365 days"
                          },
                          "ecosystem_active_loans_latest": {
                            "type": "number",
                            "description": "Latest ecosystem active loans"
                          },
                          "ecosystem_active_loans_1d_change": {
                            "type": "number",
                            "description": "Change in ecosystem active loans in the past 1 day"
                          },
                          "ecosystem_active_loans_7d_change": {
                            "type": "number",
                            "description": "Change in ecosystem active loans in the past  7 days"
                          },
                          "ecosystem_active_loans_30d_change": {
                            "type": "number",
                            "description": "Change in ecosystem active loans in the past  30 days"
                          },
                          "ecosystem_active_loans_90d_change": {
                            "type": "number",
                            "description": "Change in ecosystem active loans in the past  90 days"
                          },
                          "ecosystem_active_loans_180d_change": {
                            "type": "number",
                            "description": "Change in ecosystem active loans in the past  180 days"
                          },
                          "ecosystem_active_loans_365d_change": {
                            "type": "number",
                            "description": "Change in ecosystem active loans in the past  365 days"
                          },
                          "ecosystem_project_count_latest": {
                            "type": "number",
                            "description": "Latest ecosystem project count"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/datasets/cohort_analysis": {
      "get": {
        "tags": ["Datasets"],
        "summary": "Get the Cohort analysis dataset",
        "description": "Use this endpoint to retrieve the Cohort analysis dataset.\n\nYou can get the whole dataset by omitting all parameters.\n",
        "parameters": [
          {
            "name": "project_ids",
            "in": "query",
            "description": "Allows you to select one or more of the projects available in the dataset. When including multiple projects, separate each one with a comma. Example: `uniswap`.\n",
            "required": false,
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "example": ["uniswap"]
          },
          {
            "name": "market_sector_ids",
            "in": "query",
            "description": "Allows you to select one or more of the market sectors available in the dataset. When including multiple market sectors, separate each one with a comma. Example: `exchange,lending`.\n",
            "required": false,
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "example": ["exchange"]
          },
          {
            "name": "order_by",
            "in": "query",
            "description": "Allows you to select a field by which the response array is sorted.\n",
            "schema": {
              "type": "string",
              "format": "string"
            },
            "example": "cohort"
          },
          {
            "name": "order_direction",
            "in": "query",
            "description": "Allows you to define order direction for the field selected in `order_by`. If no order_direction is selected, the response defaults to `asc`.\n",
            "schema": {
              "type": "string",
              "format": "string"
            },
            "example": "desc"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Limit the number of results returned. Usage through API reference has max limit of 50.",
            "schema": {
              "type": "number",
              "format": "number"
            },
            "example": 10
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "description": "The object containing the data for a successful response.",
                      "properties": {
                        "project_name": {
                          "type": "string",
                          "description": "The name of the project"
                        },
                        "project_id": {
                          "type": "string",
                          "description": "The ID of the project"
                        },
                        "market_sector_id": {
                          "type": "string",
                          "description": "The market sector's ID"
                        },
                        "market_sector_name": {
                          "type": "string",
                          "description": "The market sector's name"
                        },
                        "cohort": {
                          "type": "string",
                          "description": "The cohort"
                        },
                        "initial_cohort_size": {
                          "type": "number",
                          "description": "The initial cohort size"
                        },
                        "month_0": {
                          "type": "number",
                          "description": "The retention rate for month 0"
                        },
                        "month_1": {
                          "type": "number",
                          "description": "The retention rate for month 1"
                        },
                        "month_2": {
                          "type": "number",
                          "description": "The retention rate for month 2"
                        },
                        "month_3": {
                          "type": "number",
                          "description": "The retention rate for month 3"
                        },
                        "month_4": {
                          "type": "number",
                          "description": "The retention rate for month 4"
                        },
                        "month_5": {
                          "type": "number",
                          "description": "The retention rate for month 5"
                        },
                        "month_6": {
                          "type": "number",
                          "description": "The retention rate for month 6"
                        },
                        "month_7": {
                          "type": "number",
                          "description": "The retention rate for month 7"
                        },
                        "month_8": {
                          "type": "number",
                          "description": "The retention rate for month 8"
                        },
                        "month_9": {
                          "type": "number",
                          "description": "The retention rate for month 9"
                        },
                        "month_10": {
                          "type": "number",
                          "description": "The retention rate for month 10"
                        },
                        "month_11": {
                          "type": "number",
                          "description": "The retention rate for month 11"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/datasets/crypto_screener": {
      "get": {
        "tags": ["Datasets"],
        "summary": "Get the Crypto screener dataset",
        "description": "Use this endpoint to retrieve the Crypto screener dataset. You can get the whole dataset by omitting all parameters.\n\nMetrics use the following pattern in the response body: `<metric_id>_<interval>_<aggregation>`.\n\nMetric IDs are the same as the ones used in the `/v2/metrics` endpoint.\nIntervals are `24h`, `7d`, `30d`, `90d`, `180d`, `365d`, `max`.\nAggregations  are `trend`, `change`, `avg`, `ath`, `atl`.\n",
        "parameters": [
          {
            "name": "project_ids",
            "in": "query",
            "description": "Allows you to select one or more of the projects available in the dataset. When including multiple projects, separate each one with a comma. Example: `uniswap`.\n",
            "required": false,
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "example": ["uniswap"]
          },
          {
            "name": "market_sector_ids",
            "in": "query",
            "description": "Allows you to select one or more of the market sectors available in the dataset. When including multiple market sectors, separate each one with a comma. Example: `exchange,lending`.\n",
            "required": false,
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "example": ["exchange"]
          },
          {
            "name": "order_by",
            "in": "query",
            "description": "Allows you to select a field by which the response array is sorted.\n",
            "schema": {
              "type": "string",
              "format": "string"
            }
          },
          {
            "name": "order_direction",
            "in": "query",
            "description": "Allows you to define order direction for the field selected in `order_by`. If no order_direction is selected, the response defaults to `asc`.\n",
            "schema": {
              "type": "string",
              "format": "string"
            },
            "example": "desc"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Limit the number of results returned. Usage through API reference has max limit of 50.",
            "schema": {
              "type": "number",
              "format": "number"
            },
            "example": 10
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "description": "The object containing the data for a successful response. Metric columns are not shown here due to abundant amount of metrics.",
                      "properties": {
                        "project_name": {
                          "type": "string",
                          "description": "The name of the project"
                        },
                        "project_id": {
                          "type": "string",
                          "description": "The ID of the project"
                        },
                        "market_sector_id": {
                          "type": "string",
                          "description": "The market sector's ID"
                        },
                        "market_sector_name": {
                          "type": "string",
                          "description": "The market sector's name"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/datasets/insider_transactions": {
      "get": {
        "tags": ["Datasets"],
        "summary": "Get the Insider transactions dataset",
        "description": "Use this endpoint to retrieve the Insider transactions dataset.\n\nYou can get the whole dataset by omitting all parameters.\n",
        "parameters": [
          {
            "name": "project_ids",
            "in": "query",
            "description": "Allows you to select one or more of the projects available in the dataset. When including multiple projects, separate each one with a comma. Example: `tether,circle`.\n",
            "required": false,
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "example": ["uniswap"]
          },
          {
            "name": "chain_ids",
            "in": "query",
            "description": "Allows you to select one or more of the chains available in the dataset. When including multiple chains, separate each one with a comma. Example: `ethereum,arbitrum`.\n",
            "required": false,
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "example": ["ethereum", "arbitrum"]
          },
          {
            "name": "order_by",
            "in": "query",
            "description": "Allows you to select a field by which the response array is sorted.\n",
            "schema": {
              "type": "string",
              "format": "string"
            },
            "example": "timestamp"
          },
          {
            "name": "order_direction",
            "in": "query",
            "description": "Allows you to define order direction for the field selected in `order_by`. If no order_direction is selected, the response defaults to `asc`.\n",
            "schema": {
              "type": "string",
              "format": "string"
            },
            "example": "desc"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Limit the number of results returned. Usage through API reference has max limit of 50.",
            "schema": {
              "type": "number",
              "format": "number"
            },
            "example": 10
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "description": "The object containing the data for a successful response.",
                      "properties": {
                        "timestamp": {
                          "type": "string",
                          "description": "The timestamp of the transaction"
                        },
                        "project_name": {
                          "type": "string",
                          "description": "The name of the project"
                        },
                        "project_id": {
                          "type": "string",
                          "description": "The ID of the project"
                        },
                        "market_sector_id": {
                          "type": "string",
                          "description": "The market sector's ID"
                        },
                        "market_sector_name": {
                          "type": "string",
                          "description": "The market sector's name"
                        },
                        "chain_id": {
                          "type": "string",
                          "description": "The chain ID of the project"
                        },
                        "chain_name": {
                          "type": "string",
                          "description": "The name of the chain"
                        },
                        "token_standard": {
                          "type": "string",
                          "description": "The token standard of the token"
                        },
                        "token_symbol": {
                          "type": "string",
                          "description": "The symbol of the token"
                        },
                        "token_address": {
                          "type": "string",
                          "description": "The address of the token"
                        },
                        "insider_account_address": {
                          "type": "string",
                          "description": "The address of the insider"
                        },
                        "insider_account_title": {
                          "type": "string",
                          "description": "The title of the insider's account"
                        },
                        "counterparty_account_address": {
                          "type": "string",
                          "description": "The address of the counterparty"
                        },
                        "counterparty_account_title": {
                          "type": "string",
                          "description": "The title of the counterparty's account"
                        },
                        "transaction_hash": {
                          "type": "string",
                          "description": "The hash of the transaction"
                        },
                        "transaction_type": {
                          "type": "string",
                          "description": "The type of the transaction. E.g. Transfer, CEX Withdrawal, DEX trade, CEX Deposit, CEX Internal"
                        },
                        "transaction_number": {
                          "type": "string",
                          "description": "The nth transfer of the token done by the insider"
                        },
                        "dex_name": {
                          "type": "string",
                          "description": "The name of the DEX where the transaction took place"
                        },
                        "action_type": {
                          "type": "string",
                          "description": "Type of action e.g. Buy or Sell"
                        },
                        "amount_native": {
                          "type": "number",
                          "description": "The amount of tokens involved in the transaction"
                        },
                        "amount_usd": {
                          "type": "number",
                          "description": "The USD value of tokens involved in the transaction"
                        },
                        "flow_usd": {
                          "type": "number",
                          "description": "The USD flow in the transaction"
                        },
                        "percentage_of_position": {
                          "type": "number",
                          "description": "The percentage of the position"
                        },
                        "post_transaction_position": {
                          "type": "number",
                          "description": "The insider's position after the transaction"
                        },
                        "position_creation_timestamp": {
                          "type": "string",
                          "description": "The timestamp when the insider's position was created"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/datasets/project_contracts": {
      "get": {
        "tags": ["Datasets"],
        "summary": "Get the Project contracts dataset",
        "description": "Use this endpoint to retrieve the Project contracts dataset.\n\nYou can get the whole dataset by omitting all parameters.\n",
        "parameters": [
          {
            "name": "project_ids",
            "in": "query",
            "description": "Allows you to select one or more of the projects available in the dataset. When including multiple projects, separate each one with a comma. Example: `aave,uniswap`.\n",
            "required": false,
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "example": ["aave", "uniswap"]
          },
          {
            "name": "chain_ids",
            "in": "query",
            "description": "Allows you to select one or more of the chains available in the dataset. When including multiple chains, separate each one with a comma. Example: `ethereum,arbitrum`.\n",
            "required": false,
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "example": ["ethereum", "arbitrum"]
          },
          {
            "name": "market_sector_ids",
            "in": "query",
            "description": "Allows you to select one or more of the market sectors available in the dataset. When including multiple market sectors, separate each one with a comma. Example: `stablecoin,derivatives`.\n",
            "required": false,
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "example": ["stablecoin", "derivatives"]
          },
          {
            "name": "order_by",
            "in": "query",
            "description": "Allows you to select a field by which the response array is sorted.\n",
            "schema": {
              "type": "string",
              "format": "string"
            },
            "example": "gas_used_30d_sum"
          },
          {
            "name": "order_direction",
            "in": "query",
            "description": "Allows you to define order direction for the field selected in `order_by`. If no order_direction is selected, the response defaults to `asc`.\n",
            "schema": {
              "type": "string",
              "format": "string"
            },
            "example": "desc"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Limit the number of results returned. Usage through API reference has max limit of 50.",
            "schema": {
              "type": "number",
              "format": "number"
            },
            "example": 10
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "description": "The Array containing the data for a successful response.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "project_id": {
                            "type": "string",
                            "description": "The ID of the project"
                          },
                          "project_name": {
                            "type": "string",
                            "description": "The name of the project"
                          },
                          "market_sector_id": {
                            "type": "string",
                            "description": "The market sector's ID"
                          },
                          "market_sector_name": {
                            "type": "string",
                            "description": "The market sector's name"
                          },
                          "chain_id": {
                            "type": "string",
                            "description": "The ID of the chain"
                          },
                          "chain_name": {
                            "type": "string",
                            "description": "The name of the chain"
                          },
                          "account_address": {
                            "type": "string",
                            "description": "The address of the account"
                          },
                          "account_title": {
                            "type": "string",
                            "description": "The title of the account"
                          },
                          "account_creation_timestamp": {
                            "type": "string",
                            "description": "The timestamp of the account's creation"
                          },
                          "gas_used_1d_sum": {
                            "type": "number",
                            "description": "Gas used sum for the last 1 day"
                          },
                          "transaction_count_1d_sum": {
                            "type": "number",
                            "description": "Transaction count sum for the last 1 day"
                          },
                          "active_addresses_1d_distinct_count": {
                            "type": "number",
                            "description": "Distinct active addresses for the last 1 day"
                          },
                          "transaction_gas_1d_avg": {
                            "type": "number",
                            "description": "Average gas per transaction for the last 1 day"
                          },
                          "gas_market_share_1d_avg": {
                            "type": "number",
                            "description": "Average gas market share for the last 1 day"
                          },
                          "inflows_1d_sum": {
                            "type": "number",
                            "description": "Inflows sum for the last 1 day"
                          },
                          "outflows_1d_sum": {
                            "type": "number",
                            "description": "Outflows sum for the last 1 day"
                          },
                          "net_flows_1d_sum": {
                            "type": "number",
                            "description": "Net flows sum for the last 1 day"
                          },
                          "gas_used_1d_sum_trend": {
                            "type": "number",
                            "description": "Gas used sum trend for the last 1 day"
                          },
                          "transaction_count_1d_sum_trend": {
                            "type": "number",
                            "description": "Transaction count sum trend for the last 1 day"
                          },
                          "active_addresses_1d_distinct_count_trend": {
                            "type": "number",
                            "description": "Distinct active addresses trend for the last 1 day"
                          },
                          "transaction_gas_1d_avg_trend": {
                            "type": "number",
                            "description": "Average gas per transaction trend for the last 1 day"
                          },
                          "gas_market_share_1d_avg_trend": {
                            "type": "number",
                            "description": "Average gas market share trend for the last 1 day"
                          },
                          "inflows_1d_sum_trend": {
                            "type": "number",
                            "description": "Inflows sum trend for the last 1 day"
                          },
                          "outfows_1d_sum_trend": {
                            "type": "number",
                            "description": "Outflows sum trend for the last 1 day"
                          },
                          "net_flows_1d_sum_trend": {
                            "type": "number",
                            "description": "Net flows sum trend for the last 1 day"
                          },
                          "most_emitted_event_1d_name": {
                            "type": "string",
                            "description": "Most emitted event name for the last 1 day"
                          },
                          "most_emitted_event_1d_signature": {
                            "type": "string",
                            "description": "Most emitted event signature for the last 1 day"
                          },
                          "most_transferred_asset_1d_symbol": {
                            "type": "string",
                            "description": "Most transferred asset symbol for the last 1 day"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/datasets/trending_contracts": {
      "get": {
        "tags": ["Datasets"],
        "summary": "Get the Trending contracts dataset",
        "description": "Use this endpoint to retrieve the Trending contracts dataset.\n\nYou can get the whole dataset by omitting all parameters.\n",
        "parameters": [
          {
            "name": "project_ids",
            "in": "query",
            "description": "Allows you to select one or more of the projects available in the dataset. When including multiple projects, separate each one with a comma. Example: `aave,uniswap`.\n",
            "required": false,
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "example": ["aave", "uniswap"]
          },
          {
            "name": "chain_ids",
            "in": "query",
            "description": "Allows you to select one or more of the chains available in the dataset. When including multiple chains, separate each one with a comma. Example: `ethereum,arbitrum`.\n",
            "required": false,
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "example": ["ethereum", "arbitrum"]
          },
          {
            "name": "market_sector_ids",
            "in": "query",
            "description": "Allows you to select one or more of the market sectors available in the dataset. When including multiple market sectors, separate each one with a comma. Example: `stablecoin,derivatives`.\n",
            "required": false,
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "example": ["stablecoin", "derivatives"]
          },
          {
            "name": "order_by",
            "in": "query",
            "description": "Allows you to select a field by which the response array is sorted.\n",
            "schema": {
              "type": "string",
              "format": "string"
            },
            "example": "gas_used_30d_sum"
          },
          {
            "name": "order_direction",
            "in": "query",
            "description": "Allows you to define order direction for the field selected in `order_by`. If no order_direction is selected, the response defaults to `asc`.\n",
            "schema": {
              "type": "string",
              "format": "string"
            },
            "example": "desc"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Limit the number of results returned. Usage through API reference has max limit of 50.",
            "schema": {
              "type": "number",
              "format": "number"
            },
            "example": 10
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "description": "The Array containing the data for a successful response.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "project_id": {
                            "type": "string",
                            "description": "The ID of the project"
                          },
                          "project_name": {
                            "type": "string",
                            "description": "The name of the project"
                          },
                          "market_sector_id": {
                            "type": "string",
                            "description": "The market sector's ID"
                          },
                          "market_sector_name": {
                            "type": "string",
                            "description": "The market sector's name"
                          },
                          "chain_id": {
                            "type": "string",
                            "description": "The ID of the chain"
                          },
                          "chain_name": {
                            "type": "string",
                            "description": "The name of the chain"
                          },
                          "account_address": {
                            "type": "string",
                            "description": "The address of the account"
                          },
                          "account_title": {
                            "type": "string",
                            "description": "The title of the account"
                          },
                          "account_creation_timestamp": {
                            "type": "string",
                            "description": "The timestamp of the account's creation"
                          },
                          "gas_used_1d_sum": {
                            "type": "number",
                            "description": "Gas used sum for the last 1 day"
                          },
                          "transaction_count_1d_sum": {
                            "type": "number",
                            "description": "Transaction count sum for the last 1 day"
                          },
                          "active_addresses_1d_distinct_count": {
                            "type": "number",
                            "description": "Distinct active addresses for the last 1 day"
                          },
                          "transaction_gas_1d_avg": {
                            "type": "number",
                            "description": "Average gas per transaction for the last 1 day"
                          },
                          "gas_market_share_1d_avg": {
                            "type": "number",
                            "description": "Average gas market share for the last 1 day"
                          },
                          "inflows_1d_sum": {
                            "type": "number",
                            "description": "Inflows sum for the last 1 day"
                          },
                          "outflows_1d_sum": {
                            "type": "number",
                            "description": "Outflows sum for the last 1 day"
                          },
                          "net_flows_1d_sum": {
                            "type": "number",
                            "description": "Net flows sum for the last 1 day"
                          },
                          "gas_used_1d_sum_trend": {
                            "type": "number",
                            "description": "Gas used sum trend for the last 1 day"
                          },
                          "transaction_count_1d_sum_trend": {
                            "type": "number",
                            "description": "Transaction count sum trend for the last 1 day"
                          },
                          "active_addresses_1d_distinct_count_trend": {
                            "type": "number",
                            "description": "Distinct active addresses trend for the last 1 day"
                          },
                          "transaction_gas_1d_avg_trend": {
                            "type": "number",
                            "description": "Average gas per transaction trend for the last 1 day"
                          },
                          "gas_market_share_1d_avg_trend": {
                            "type": "number",
                            "description": "Average gas market share trend for the last 1 day"
                          },
                          "inflows_1d_sum_trend": {
                            "type": "number",
                            "description": "Inflows sum trend for the last 1 day"
                          },
                          "outfows_1d_sum_trend": {
                            "type": "number",
                            "description": "Outflows sum trend for the last 1 day"
                          },
                          "net_flows_1d_sum_trend": {
                            "type": "number",
                            "description": "Net flows sum trend for the last 1 day"
                          },
                          "gas_used_1d_sum_rank": {
                            "type": "number",
                            "description": "Gas used sum rank for the last 1 day"
                          },
                          "most_emitted_event_1d_name": {
                            "type": "string",
                            "description": "Most emitted event name for the last 1 day"
                          },
                          "most_emitted_event_1d_signature": {
                            "type": "string",
                            "description": "Most emitted event signature for the last 1 day"
                          },
                          "most_transferred_asset_1d_symbol": {
                            "type": "string",
                            "description": "Most transferred asset symbol for the last 1 day"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/assets": {
      "get": {
        "tags": ["Assets"],
        "summary": "Get a list of all assets",
        "description": "Use this endpoint to retrieve a list of all assets that are available on the API.\n",
        "parameters": [
          {
            "name": "asset_ids",
            "in": "query",
            "description": "List of asset IDs to filter by.\n\nAllows you to select one or more assets. When including multiple assets, separate each one with a comma. Example: `usdc,usdt`.\n",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "example": ["usdc", "usdt"]
          },
          {
            "name": "asset_types",
            "in": "query",
            "description": "List of asset types to filter by.\n\nAllows you to filter assets by their type. When including multiple types, separate each one with a comma.\n",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "market_sectors",
            "in": "query",
            "description": "List of market sector IDs to filter assets by.\n\nAllows you to select one or more market sectors to filter the results. Only assets belonging to any of the specified market sectors will be included. When including multiple market sectors, separate each one with a comma. Example: `blockchains-l1,lending`.\n\nThe full list of available market sectors can be retrieved from the `/v2/market-sectors` endpoint.\n",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "example": ["blockchains-l1", "lending"]
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Maximum number of assets to return.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 1000,
              "default": 1000
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Number of assets to skip for pagination.",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "asset_id": {
                            "type": "string",
                            "description": "Required input on the API when retrieving data for an asset."
                          },
                          "asset_type": {
                            "type": "string",
                            "nullable": true,
                            "description": "The type of the asset."
                          },
                          "name": {
                            "type": "string",
                            "description": "The asset's name."
                          },
                          "symbol": {
                            "type": "string",
                            "description": "The asset's ticker symbol."
                          },
                          "coingecko_id": {
                            "type": "string",
                            "nullable": true,
                            "description": "The Coingecko ID for the asset."
                          },
                          "addresses": {
                            "type": "array",
                            "description": "List of addresses where the asset exists across different chains.",
                            "items": {
                              "type": "object",
                              "properties": {
                                "chain_id": {
                                  "type": "string",
                                  "nullable": true,
                                  "description": "The chain ID where the asset exists."
                                },
                                "token_address": {
                                  "type": "string",
                                  "nullable": true,
                                  "description": "The token contract address on the chain."
                                },
                                "token_name": {
                                  "type": "string",
                                  "nullable": true,
                                  "description": "The token name on the chain."
                                },
                                "token_symbol": {
                                  "type": "string",
                                  "nullable": true,
                                  "description": "The token symbol on the chain."
                                }
                              }
                            }
                          },
                          "products": {
                            "type": "array",
                            "description": "List of products associated with this asset.",
                            "items": {
                              "type": "object",
                              "properties": {
                                "data_id": {
                                  "type": "string",
                                  "description": "The project data ID."
                                },
                                "product_id": {
                                  "type": "string",
                                  "description": "The product ID."
                                },
                                "tags": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  },
                                  "description": "Tags associated with the product."
                                },
                                "relation_to_the_project": {
                                  "type": "string",
                                  "nullable": true,
                                  "description": "The relationship of the asset to the project (e.g., \"issuer\")."
                                }
                              }
                            }
                          },
                          "created_at": {
                            "type": "string",
                            "description": "Timestamp when the asset was created."
                          },
                          "inserted_at": {
                            "type": "string",
                            "description": "Timestamp when the asset was inserted into the database."
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/assets/{asset_id}": {
      "get": {
        "tags": ["Assets"],
        "summary": "Get asset details and available metrics",
        "description": "Use this endpoint to retrieve detailed information about a specific asset, including the list of available metrics.\n",
        "parameters": [
          {
            "name": "asset_id",
            "in": "path",
            "description": "ID of the asset\n\nAllows you to select one of the assets available.\n\nThe full list is available on the assets endpoint (see above).\n",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "asset_id": {
                          "type": "string",
                          "description": "Returns the ID of the asset."
                        },
                        "asset_type": {
                          "type": "string",
                          "nullable": true,
                          "description": "The type of the asset."
                        },
                        "name": {
                          "type": "string",
                          "description": "Returns the asset name."
                        },
                        "symbol": {
                          "type": "string",
                          "description": "Returns the asset's ticker symbol."
                        },
                        "coingecko_id": {
                          "type": "string",
                          "nullable": true,
                          "description": "Returns the Coingecko ID for the asset."
                        },
                        "addresses": {
                          "type": "array",
                          "description": "List of addresses where the asset exists across different chains.",
                          "items": {
                            "type": "object",
                            "properties": {
                              "chain_id": {
                                "type": "string",
                                "nullable": true
                              },
                              "token_address": {
                                "type": "string",
                                "nullable": true
                              },
                              "token_name": {
                                "type": "string",
                                "nullable": true
                              },
                              "token_symbol": {
                                "type": "string",
                                "nullable": true
                              }
                            }
                          }
                        },
                        "products": {
                          "type": "array",
                          "description": "List of products associated with this asset.",
                          "items": {
                            "type": "object",
                            "properties": {
                              "data_id": {
                                "type": "string"
                              },
                              "product_id": {
                                "type": "string"
                              },
                              "tags": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                }
                              },
                              "relation_to_the_project": {
                                "type": "string",
                                "nullable": true
                              },
                              "logo": {
                                "type": "string",
                                "nullable": true
                              }
                            }
                          }
                        },
                        "created_at": {
                          "type": "string"
                        },
                        "inserted_at": {
                          "type": "string"
                        },
                        "available_metrics": {
                          "type": "array",
                          "description": "List of metric IDs that have data available for this asset.",
                          "items": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Asset not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "enum": ["NOT_FOUND"]
                    },
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/assets/{asset_id}/metrics": {
      "get": {
        "tags": ["Assets"],
        "summary": "Get historical metrics for an asset",
        "description": "Use this endpoint to retrieve historical data for an asset.\n\nThis endpoint supports partial success - if some of the requested metric, chain, or product IDs are not found, the endpoint will return data for the valid entities and include an `errors` array with details about the invalid ones.\n",
        "parameters": [
          {
            "name": "asset_id",
            "in": "path",
            "description": "ID of the asset\n\nAllows you to select one of the assets available.\n\nThe full list is available on the assets endpoint (see above).\n",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "metric_id",
            "in": "query",
            "description": "Metric to include according to asset metric availability.\n\nAllows you to select one of the metrics available for a specific asset.\n\nIf no metric_id is selected, the query defaults to `asset_price`.\n",
            "schema": {
              "type": "string"
            },
            "example": "asset_price"
          },
          {
            "name": "chain_ids",
            "in": "query",
            "description": "List of chains to include according to asset chain availability.\n\nAllows you to select one or more of the chains available for a specific asset. When including multiple chains, separate each one with a comma. Example: `ethereum,base`.\n",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "example": ["ethereum", "base"]
          },
          {
            "name": "product_ids",
            "in": "query",
            "description": "List of products to include according to asset product availability.\n\nAllows you to select one or more of the products available for a specific asset. When including multiple products, separate each one with a comma. Example: `usdc,usdt`.\n",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "example": ["usdc", "usdt"]
          },
          {
            "name": "start",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Start date\nAllows you to select the start date for the query. If no start is selected, the query defaults to launch date or the first date for which there is data available for the chosen metric.\n"
          },
          {
            "name": "end",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "End date\n\nAllows you to select the end date for the query. If no end is selected, the query defaults to the latest date for which there is data available for the chosen metric.\n"
          },
          {
            "name": "aggregate_by",
            "in": "query",
            "description": "Level of granularity\n\nThis feature enables more detailed queries of specific metrics. For instance, you can examine an asset's metrics by individual chain.\n\nHowever, it's important to note that this level of granularity is not applicable to all metrics.\n\nThe only supported value is `chain`.\n",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": ["chain"]
              }
            },
            "example": ["chain"]
          },
          {
            "name": "order_direction",
            "description": "Timestamp ordering\n\nAllows you to define how the response is sorted. The response is always sorted by timestamp, and by selecting `desc` the response starts from the most recent entry, and vice versa for `asc`.\n\nIf no order_direction is selected, the response defaults to `desc`.\n",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "desc",
              "enum": ["asc", "desc"]
            }
          },
          {
            "name": "interval",
            "in": "query",
            "description": "Time interval for data aggregation.\n\nIntervals are `24h`, `7d`, `30d`, `90d`, `180d`, `365d`, `max`, `ytd`, `4fullq`, or a number representing days.\n",
            "schema": {
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "24h",
                    "7d",
                    "30d",
                    "90d",
                    "180d",
                    "365d",
                    "max",
                    "ytd",
                    "4fullq"
                  ]
                },
                {
                  "type": "integer"
                }
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "timestamp": {
                            "type": "string",
                            "description": "Returns the historical date for a given metric."
                          },
                          "asset_id": {
                            "type": "string",
                            "description": "Returns the asset ID."
                          },
                          "metric_id": {
                            "type": "string",
                            "description": "Returns the chosen metric for the asset."
                          },
                          "value": {
                            "type": "string",
                            "description": "Returns the value of the chosen metric."
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/assets/{asset_id}/metrics-breakdown": {
      "post": {
        "tags": ["Assets"],
        "summary": "Get asset metrics breakdown",
        "description": "Use this endpoint to retrieve aggregated breakdown data for asset metrics across different dimensions (projects, chains, market sectors, etc.).\n\nIf an empty `metric_ids` array is provided, it defaults to `['asset_price']`.\n",
        "parameters": [
          {
            "name": "asset_id",
            "in": "path",
            "description": "ID of the asset\n\nAllows you to select one of the assets available.\n\nThe full list is available on the assets endpoint (see above).\n",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["metric_ids", "group_by", "interval"],
                "properties": {
                  "metric_ids": {
                    "type": "array",
                    "description": "List of metrics to include according to asset metric availability.\n\nAllows you to select one or more of the metrics available for a specific asset.\n\nIf an empty array is provided, it defaults to `['asset_price']`.\n",
                    "items": {
                      "type": "string"
                    },
                    "example": ["asset_price", "asset_holders"]
                  },
                  "group_by": {
                    "type": "string",
                    "description": "Dimension to group the breakdown by.\n\nAvailable options: `assets`, `projects`, `product`, `chains`, `market-sector`, `chain-asset`, `chain-project`, `product+chain`.\n",
                    "enum": [
                      "assets",
                      "projects",
                      "product",
                      "chains",
                      "market-sector",
                      "chain-asset",
                      "chain-project",
                      "product+chain"
                    ],
                    "example": "assets"
                  },
                  "interval": {
                    "type": "string",
                    "description": "Time interval for aggregation.\n\nIntervals are `24h`, `7d`, `30d`, `90d`, `180d`, `365d`, `max`.\n",
                    "enum": ["24h", "7d", "30d", "90d", "180d", "365d", "max"],
                    "example": "30d"
                  },
                  "data_ids": {
                    "type": "array",
                    "description": "List of project data IDs to filter by.\n\nAllows you to select one or more projects. When including multiple projects, separate each one with a comma.\n",
                    "items": {
                      "type": "string"
                    },
                    "example": ["ethereum"]
                  },
                  "product_ids": {
                    "type": "array",
                    "description": "List of product IDs to filter by.\n\nAllows you to select one or more products. When including multiple products, separate each one with a comma.\n",
                    "items": {
                      "type": "string"
                    },
                    "example": ["usdc"]
                  },
                  "asset_ids": {
                    "type": "array",
                    "description": "List of asset IDs to filter by.\n\nAllows you to select one or more assets. When including multiple assets, separate each one with a comma.\n",
                    "items": {
                      "type": "string"
                    }
                  },
                  "chain_ids": {
                    "type": "array",
                    "description": "List of chain IDs to filter by.\n\nAllows you to select one or more chains. When including multiple chains, separate each one with a comma.\n",
                    "items": {
                      "type": "string"
                    },
                    "example": ["ethereum", "base"]
                  },
                  "market_sector_ids": {
                    "type": "array",
                    "description": "List of market sector IDs to filter by.\n\nAllows you to select one or more market sectors. When including multiple market sectors, separate each one with a comma.\n\nThe full list of available market sectors can be retrieved from the `/v2/market-sectors` endpoint.\n",
                    "items": {
                      "type": "string"
                    },
                    "example": ["blockchains-l1", "lending"]
                  },
                  "includeSelf": {
                    "type": "boolean",
                    "description": "Include the asset itself in the breakdown results.\n\nIf not specified, defaults to `false`.\n",
                    "default": false
                  },
                  "start": {
                    "type": "string",
                    "format": "date",
                    "description": "Start date for the breakdown.\n\nAllows you to select the start date for the query. If not specified, uses the default start date.\n"
                  },
                  "end": {
                    "type": "string",
                    "format": "date",
                    "description": "End date for the breakdown.\n\nAllows you to select the end date for the query. If not specified, uses the latest available date.\n"
                  },
                  "ignore_threshold": {
                    "type": "boolean",
                    "description": "Ignore metric thresholds when calculating breakdowns.\n\nIf not specified, defaults to `false`.\n",
                    "default": false
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "asset_id": {
                            "type": "string",
                            "nullable": true,
                            "description": "Asset ID (present when group_by includes assets)."
                          },
                          "data_id": {
                            "type": "string",
                            "nullable": true,
                            "description": "Project data ID (present when group_by includes projects)."
                          },
                          "product_id": {
                            "type": "string",
                            "nullable": true,
                            "description": "Product ID (present when group_by includes products)."
                          },
                          "chain_id": {
                            "type": "string",
                            "nullable": true,
                            "description": "Chain ID (present when group_by includes chains)."
                          },
                          "market_sector_id": {
                            "type": "string",
                            "nullable": true,
                            "description": "Market sector ID (present when group_by includes market sectors)."
                          },
                          "metrics": {
                            "type": "object",
                            "description": "Map of metric IDs to their breakdown data.",
                            "additionalProperties": {
                              "type": "object",
                              "properties": {
                                "latest": {
                                  "type": "number",
                                  "description": "Latest value for the metric."
                                },
                                "avg": {
                                  "type": "number",
                                  "description": "Average value for the metric over the interval."
                                },
                                "sum": {
                                  "type": "number",
                                  "description": "Sum of values for the metric over the interval."
                                },
                                "change": {
                                  "type": "number",
                                  "nullable": true,
                                  "description": "Percentage change compared to the previous period."
                                },
                                "trend": {
                                  "type": "number",
                                  "nullable": true,
                                  "description": "Trend indicator comparing two time windows."
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "oneOf": [
                          {
                            "type": "object",
                            "required": ["code", "field", "value"],
                            "properties": {
                              "code": {
                                "type": "string",
                                "enum": ["NOT_FOUND"],
                                "description": "Error code indicating the entity was not found"
                              },
                              "field": {
                                "type": "string",
                                "enum": [
                                  "project_ids",
                                  "metric_ids",
                                  "chain_ids",
                                  "product_ids",
                                  "market_sector_ids"
                                ],
                                "description": "The request parameter field that contained the invalid value"
                              },
                              "value": {
                                "type": "string",
                                "description": "The invalid ID value that was not found"
                              }
                            },
                            "example": {
                              "code": "NOT_FOUND",
                              "field": "project_ids",
                              "value": "invalid-project"
                            }
                          },
                          {
                            "type": "object",
                            "required": ["code", "project_id", "metric_id"],
                            "properties": {
                              "code": {
                                "type": "string",
                                "enum": ["METRIC_NOT_AVAILABLE"],
                                "description": "Error code indicating the metric is not available for the specified project"
                              },
                              "project_id": {
                                "type": "string",
                                "description": "The project ID that does not have the metric available"
                              },
                              "metric_id": {
                                "type": "string",
                                "description": "The metric ID that is not available for the project"
                              }
                            },
                            "example": {
                              "code": "METRIC_NOT_AVAILABLE",
                              "project_id": "aave",
                              "metric_id": "tvl"
                            }
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "meta": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}
