{
  "openapi": "3.1.0",
  "info": {
    "title": "cmcfin API Reference",
    "version": "0.1.0",
    "description": "CompaniesMarketCap source API for bluedoor Financial Data.\nSimple ranking and cross-company metric source for large public companies.\nCoverage: Company search; Market-cap rankings; Company metrics; Category ranking paths.\nGenerated from the live source contract and representative live API responses on 2026-06-07T01:30:59.456Z."
  },
  "servers": [
    {
      "url": "https://api.cmcfin.bluedoor.sh",
      "description": "cmcfin source API"
    }
  ],
  "externalDocs": {
    "description": "CompaniesMarketCap source API docs",
    "url": "https://bluedoor.sh/apis/financial-data/sources/cmcfin"
  },
  "tags": [
    {
      "name": "Rankings"
    }
  ],
  "paths": {
    "/v1/ranking-paths": {
      "get": {
        "summary": "Ranking paths",
        "parameters": [
          {
            "name": "refresh",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-cmcfin-contact",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "email"
            },
            "description": "Optional contact email for higher public rate limits and support diagnostics."
          },
          {
            "name": "authorization",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "example": "Bearer <key>"
            },
            "description": "Optional API-key authorization for higher-volume access tiers."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/cmcfin_get_ranking_pathsResponse"
                },
                "examples": {
                  "live": {
                    "summary": "Live response",
                    "value": {
                      "ok": true,
                      "data": {
                        "single_segment": [
                          {
                            "key": "global",
                            "origin_path": "(homepage)"
                          },
                          {
                            "key": "largest-by-revenue",
                            "origin_path": "largest-companies-by-revenue"
                          },
                          {
                            "key": "largest-by-employees",
                            "origin_path": "largest-companies-by-number-of-employees"
                          }
                        ],
                        "two_segment": [
                          {
                            "category": "banks",
                            "ranking_path": "largest-banks-by-market-cap"
                          },
                          {
                            "category": "airlines",
                            "ranking_path": "largest-airlines-by-market-cap"
                          },
                          {
                            "category": "automakers",
                            "ranking_path": "largest-automakers-by-market-cap"
                          }
                        ],
                        "blocked": [
                          "assets-by-market-cap",
                          "top-companies-by-market-cap-gain"
                        ]
                      },
                      "meta": {
                        "source": "companiesmarketcap",
                        "request_id": "3969ef7c-e22c-4abb-8a74-1a965554bc77"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request. A required parameter is missing, malformed, or outside the supported range.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 400 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "bad_request",
                        "message": "Required query parameter is missing or invalid."
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. API-key authenticated tiers use an Authorization bearer token.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 401 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "unauthorized",
                        "message": "A valid API key is required for this tier."
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not found. The requested route, resource, or symbol could not be resolved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 404 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "not_found",
                        "message": "The requested resource was not found."
                      }
                    }
                  }
                }
              }
            }
          },
          "405": {
            "description": "Method not allowed. Source API routes are documented as HTTP GET unless otherwise specified.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 405 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "method_not_allowed",
                        "message": "This route does not support the requested HTTP method."
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Rate limited. Retry after the limit reset or include the documented contact/API-key headers.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 429 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "rate_limited",
                        "message": "Too many requests. Retry after the rate-limit reset."
                      }
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Upstream source error. The source service rejected or failed the upstream request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 502 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "upstream_error",
                        "message": "The upstream source returned an error."
                      }
                    }
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. The source API or an upstream dependency is temporarily unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 503 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "service_unavailable",
                        "message": "The service is temporarily unavailable."
                      }
                    }
                  }
                }
              }
            }
          },
          "504": {
            "description": "Upstream timeout. The upstream source did not return within the source API timeout window.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 504 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "upstream_timeout",
                        "message": "The upstream source timed out."
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "cmcfin_get_ranking_paths",
        "description": "Returns ranking paths with source-native fields and identifiers.",
        "x-source-api": "cmcfin",
        "x-source-name": "CompaniesMarketCap",
        "x-source-upstream": "companiesmarketcap.com",
        "x-docs-example-url": "https://api.cmcfin.bluedoor.sh/v1/ranking-paths",
        "x-docs-example-status": 200,
        "x-docs-captured-at": "2026-06-07T01:35:56.133Z"
      }
    },
    "/v1/search": {
      "get": {
        "summary": "Search",
        "parameters": [
          {
            "name": "refresh",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "q",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-cmcfin-contact",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "email"
            },
            "description": "Optional contact email for higher public rate limits and support diagnostics."
          },
          {
            "name": "authorization",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "example": "Bearer <key>"
            },
            "description": "Optional API-key authorization for higher-volume access tiers."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/cmcfin_get_searchResponse"
                },
                "examples": {
                  "live": {
                    "summary": "Live response",
                    "value": {
                      "ok": true,
                      "data": {
                        "query": "apple",
                        "results": [
                          {
                            "id": null,
                            "identifier": "AAPL",
                            "name": "Apple",
                            "url": "apple",
                            "img_dark_png": 1,
                            "logo_url": "AAPL",
                            "type": "stock"
                          },
                          {
                            "id": null,
                            "identifier": "APLE",
                            "name": "Apple Hospitality REIT\r\n",
                            "url": "apple-hospitality-reit",
                            "img_dark_png": 0,
                            "logo_url": "APLE",
                            "type": "stock"
                          },
                          {
                            "id": null,
                            "identifier": "AMAT",
                            "name": "Applied Materials",
                            "url": "applied-materials",
                            "img_dark_png": 1,
                            "logo_url": "AMAT",
                            "type": "stock"
                          }
                        ],
                        "count": 8
                      },
                      "meta": {
                        "source": "companiesmarketcap",
                        "provider": "companiesmarketcap",
                        "endpoint": "search_json",
                        "family": "search_json",
                        "route": "search",
                        "status": "ok",
                        "cache": "miss",
                        "identity_tier": "contact",
                        "generated_at": "2026-06-07T01:35:56.661Z",
                        "freshness": {
                          "max_age_seconds": 300,
                          "stale_while_revalidate_seconds": 1800,
                          "stale": false
                        },
                        "request_id": "f5a1d06d-bd10-4c20-a085-8916636418b1"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request. A required parameter is missing, malformed, or outside the supported range.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 400 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "bad_request",
                        "message": "Required query parameter is missing or invalid."
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. API-key authenticated tiers use an Authorization bearer token.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 401 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "unauthorized",
                        "message": "A valid API key is required for this tier."
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not found. The requested route, resource, or symbol could not be resolved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 404 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "not_found",
                        "message": "The requested resource was not found."
                      }
                    }
                  }
                }
              }
            }
          },
          "405": {
            "description": "Method not allowed. Source API routes are documented as HTTP GET unless otherwise specified.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 405 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "method_not_allowed",
                        "message": "This route does not support the requested HTTP method."
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Rate limited. Retry after the limit reset or include the documented contact/API-key headers.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 429 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "rate_limited",
                        "message": "Too many requests. Retry after the rate-limit reset."
                      }
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Upstream source error. The source service rejected or failed the upstream request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 502 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "upstream_error",
                        "message": "The upstream source returned an error."
                      }
                    }
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. The source API or an upstream dependency is temporarily unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 503 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "service_unavailable",
                        "message": "The service is temporarily unavailable."
                      }
                    }
                  }
                }
              }
            }
          },
          "504": {
            "description": "Upstream timeout. The upstream source did not return within the source API timeout window.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 504 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "upstream_timeout",
                        "message": "The upstream source timed out."
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "cmcfin_get_search",
        "description": "Searches CompaniesMarketCap data and returns source-native matches and identifiers.",
        "x-source-api": "cmcfin",
        "x-source-name": "CompaniesMarketCap",
        "x-source-upstream": "companiesmarketcap.com",
        "x-docs-example-url": "https://api.cmcfin.bluedoor.sh/v1/search?q=apple",
        "x-docs-example-status": 200,
        "x-docs-captured-at": "2026-06-07T01:35:56.882Z"
      }
    },
    "/v1/rankings/{ranking_path}": {
      "get": {
        "summary": "Global",
        "parameters": [
          {
            "name": "ranking_path",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "refresh",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-cmcfin-contact",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "email"
            },
            "description": "Optional contact email for higher public rate limits and support diagnostics."
          },
          {
            "name": "authorization",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "example": "Bearer <key>"
            },
            "description": "Optional API-key authorization for higher-volume access tiers."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/cmcfin_get_rankings_ranking_pathResponse"
                },
                "examples": {
                  "live": {
                    "summary": "Live response",
                    "value": {
                      "ok": true,
                      "data": {
                        "rows": [
                          {
                            "rank": 1,
                            "name": "NVIDIA",
                            "symbol": "NVDA",
                            "marketcap": 4967727366144,
                            "revenue_ttm": null,
                            "employees_count": null,
                            "pe_ratio_ttm": null,
                            "dividend_yield_ttm": null,
                            "operating_margin_ttm": null,
                            "price_usd": 205.1,
                            "country": "United States",
                            "raw": {
                              "rank": "1",
                              "name": "NVIDIA",
                              "symbol": "NVDA",
                              "marketcap": "4967727366144",
                              "price_usd": "205.1",
                              "country": "United States"
                            }
                          },
                          {
                            "rank": 2,
                            "name": "Apple",
                            "symbol": "AAPL",
                            "marketcap": 4514011676672,
                            "revenue_ttm": null,
                            "employees_count": null,
                            "pe_ratio_ttm": null,
                            "dividend_yield_ttm": null,
                            "operating_margin_ttm": null,
                            "price_usd": 307.34,
                            "country": "United States",
                            "raw": {
                              "rank": "2",
                              "name": "Apple",
                              "symbol": "AAPL",
                              "marketcap": "4514011676672",
                              "price_usd": "307.34",
                              "country": "United States"
                            }
                          },
                          {
                            "rank": 3,
                            "name": "Alphabet (Google)",
                            "symbol": "GOOG",
                            "marketcap": 4449968848896,
                            "revenue_ttm": null,
                            "employees_count": null,
                            "pe_ratio_ttm": null,
                            "dividend_yield_ttm": null,
                            "operating_margin_ttm": null,
                            "price_usd": 365.76,
                            "country": "United States",
                            "raw": {
                              "rank": "3",
                              "name": "Alphabet (Google)",
                              "symbol": "GOOG",
                              "marketcap": "4449968848896",
                              "price_usd": "365.76",
                              "country": "United States"
                            }
                          }
                        ],
                        "total": 8594,
                        "columns": [
                          "rank",
                          "name",
                          "symbol"
                        ],
                        "raw_header": [
                          "Rank",
                          "Name",
                          "Symbol"
                        ],
                        "origin_path": null
                      },
                      "meta": {
                        "source": "companiesmarketcap",
                        "provider": "companiesmarketcap",
                        "endpoint": "html_export_csv",
                        "family": "html_export_csv",
                        "route": "ranking",
                        "status": "ok",
                        "cache": "hit",
                        "identity_tier": "contact",
                        "generated_at": "2026-06-07T01:29:05.579Z",
                        "freshness": {
                          "max_age_seconds": 1800,
                          "stale_while_revalidate_seconds": 86400,
                          "stale": false
                        },
                        "request_id": "020c4345-740f-4960-ae39-8593fc1dafc7",
                        "cache_age_seconds": 411
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request. A required parameter is missing, malformed, or outside the supported range.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 400 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "bad_request",
                        "message": "Required query parameter is missing or invalid."
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. API-key authenticated tiers use an Authorization bearer token.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 401 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "unauthorized",
                        "message": "A valid API key is required for this tier."
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not found. The requested route, resource, or symbol could not be resolved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 404 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "not_found",
                        "message": "The requested resource was not found."
                      }
                    }
                  }
                }
              }
            }
          },
          "405": {
            "description": "Method not allowed. Source API routes are documented as HTTP GET unless otherwise specified.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 405 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "method_not_allowed",
                        "message": "This route does not support the requested HTTP method."
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Rate limited. Retry after the limit reset or include the documented contact/API-key headers.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 429 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "rate_limited",
                        "message": "Too many requests. Retry after the rate-limit reset."
                      }
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Upstream source error. The source service rejected or failed the upstream request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 502 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "upstream_error",
                        "message": "The upstream source returned an error."
                      }
                    }
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. The source API or an upstream dependency is temporarily unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 503 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "service_unavailable",
                        "message": "The service is temporarily unavailable."
                      }
                    }
                  }
                }
              }
            }
          },
          "504": {
            "description": "Upstream timeout. The upstream source did not return within the source API timeout window.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 504 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "upstream_timeout",
                        "message": "The upstream source timed out."
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "cmcfin_get_rankings_ranking_path",
        "description": "Returns global with source-native fields and identifiers.",
        "tags": [
          "Rankings"
        ],
        "x-source-api": "cmcfin",
        "x-source-name": "CompaniesMarketCap",
        "x-source-upstream": "companiesmarketcap.com",
        "x-docs-example-url": "https://api.cmcfin.bluedoor.sh/v1/rankings/global",
        "x-docs-example-status": 200,
        "x-docs-captured-at": "2026-06-07T01:35:57.474Z"
      }
    },
    "/v1/rankings/{category}/{ranking_path}": {
      "get": {
        "summary": "Category",
        "parameters": [
          {
            "name": "ranking_path",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "category",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "refresh",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-cmcfin-contact",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "email"
            },
            "description": "Optional contact email for higher public rate limits and support diagnostics."
          },
          {
            "name": "authorization",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "example": "Bearer <key>"
            },
            "description": "Optional API-key authorization for higher-volume access tiers."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/cmcfin_get_rankings_category_ranking_pathResponse"
                },
                "examples": {
                  "live": {
                    "summary": "Live response",
                    "value": {
                      "ok": true,
                      "data": {
                        "rows": [
                          {
                            "rank": 1,
                            "name": "JPMorgan Chase",
                            "symbol": "JPM",
                            "marketcap": 836998922240,
                            "revenue_ttm": null,
                            "employees_count": null,
                            "pe_ratio_ttm": null,
                            "dividend_yield_ttm": null,
                            "operating_margin_ttm": null,
                            "price_usd": 312.37,
                            "country": "United States",
                            "raw": {
                              "rank": "1",
                              "name": "JPMorgan Chase",
                              "symbol": "JPM",
                              "marketcap": "836998922240",
                              "price_usd": "312.37",
                              "country": "United States"
                            }
                          },
                          {
                            "rank": 2,
                            "name": "China Construction Bank",
                            "symbol": "601939.SS",
                            "marketcap": 395204155946,
                            "revenue_ttm": null,
                            "employees_count": null,
                            "pe_ratio_ttm": null,
                            "dividend_yield_ttm": null,
                            "operating_margin_ttm": null,
                            "price_usd": 1.51072,
                            "country": "China",
                            "raw": {
                              "rank": "2",
                              "name": "China Construction Bank",
                              "symbol": "601939.SS",
                              "marketcap": "395204155946",
                              "price_usd": "1.51072",
                              "country": "China"
                            }
                          },
                          {
                            "rank": 3,
                            "name": "Bank of America",
                            "symbol": "BAC",
                            "marketcap": 382009507840,
                            "revenue_ttm": null,
                            "employees_count": null,
                            "pe_ratio_ttm": null,
                            "dividend_yield_ttm": null,
                            "operating_margin_ttm": null,
                            "price_usd": 53.83,
                            "country": "United States",
                            "raw": {
                              "rank": "3",
                              "name": "Bank of America",
                              "symbol": "BAC",
                              "marketcap": "382009507840",
                              "price_usd": "53.83",
                              "country": "United States"
                            }
                          }
                        ],
                        "total": 674,
                        "columns": [
                          "rank",
                          "name",
                          "symbol"
                        ],
                        "raw_header": [
                          "Rank",
                          "Name",
                          "Symbol"
                        ],
                        "origin_path": "banks/largest-banks-by-market-cap"
                      },
                      "meta": {
                        "source": "companiesmarketcap",
                        "provider": "companiesmarketcap",
                        "endpoint": "html_export_csv",
                        "family": "html_export_csv",
                        "route": "ranking_in_cat",
                        "status": "ok",
                        "cache": "hit",
                        "identity_tier": "contact",
                        "generated_at": "2026-06-07T01:06:26.325Z",
                        "freshness": {
                          "max_age_seconds": 1800,
                          "stale_while_revalidate_seconds": 86400,
                          "stale": false
                        },
                        "request_id": "81a8ea37-fc63-4f46-ba55-66fe8c02826e",
                        "cache_age_seconds": 1771
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request. A required parameter is missing, malformed, or outside the supported range.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 400 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "bad_request",
                        "message": "Required query parameter is missing or invalid."
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. API-key authenticated tiers use an Authorization bearer token.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 401 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "unauthorized",
                        "message": "A valid API key is required for this tier."
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not found. The requested route, resource, or symbol could not be resolved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 404 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "not_found",
                        "message": "The requested resource was not found."
                      }
                    }
                  }
                }
              }
            }
          },
          "405": {
            "description": "Method not allowed. Source API routes are documented as HTTP GET unless otherwise specified.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 405 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "method_not_allowed",
                        "message": "This route does not support the requested HTTP method."
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Rate limited. Retry after the limit reset or include the documented contact/API-key headers.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 429 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "rate_limited",
                        "message": "Too many requests. Retry after the rate-limit reset."
                      }
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Upstream source error. The source service rejected or failed the upstream request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 502 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "upstream_error",
                        "message": "The upstream source returned an error."
                      }
                    }
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. The source API or an upstream dependency is temporarily unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 503 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "service_unavailable",
                        "message": "The service is temporarily unavailable."
                      }
                    }
                  }
                }
              }
            }
          },
          "504": {
            "description": "Upstream timeout. The upstream source did not return within the source API timeout window.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 504 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "upstream_timeout",
                        "message": "The upstream source timed out."
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "cmcfin_get_rankings_category_ranking_path",
        "description": "Returns category with source-native fields and identifiers.",
        "tags": [
          "Rankings"
        ],
        "x-source-api": "cmcfin",
        "x-source-name": "CompaniesMarketCap",
        "x-source-upstream": "companiesmarketcap.com",
        "x-docs-example-url": "https://api.cmcfin.bluedoor.sh/v1/rankings/banks/largest-banks-by-market-cap",
        "x-docs-example-status": 200,
        "x-docs-captured-at": "2026-06-07T01:35:57.983Z"
      }
    },
    "/v1/companies/{slug}/metrics/{metric}": {
      "get": {
        "summary": "Company metric",
        "parameters": [
          {
            "name": "metric",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "refresh",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "aud",
                "cad",
                "eur",
                "gbp",
                "hkd",
                "inr",
                "nzd",
                "sgd"
              ]
            }
          },
          {
            "name": "language",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "de",
                "fr"
              ]
            }
          },
          {
            "name": "x-cmcfin-contact",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "email"
            },
            "description": "Optional contact email for higher public rate limits and support diagnostics."
          },
          {
            "name": "authorization",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "example": "Bearer <key>"
            },
            "description": "Optional API-key authorization for higher-volume access tiers."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/cmcfin_get_companies_slug_metrics_metricResponse"
                },
                "examples": {
                  "live": {
                    "summary": "Live response",
                    "value": {
                      "ok": true,
                      "data": {
                        "metric": "marketcap",
                        "company": {
                          "name": "Apple",
                          "symbol": "AAPL",
                          "slug": "apple"
                        },
                        "points": [
                          {
                            "date": "1996-01-31",
                            "value": 34015
                          },
                          {
                            "date": "1996-02-29",
                            "value": 33857
                          },
                          {
                            "date": "1996-03-29",
                            "value": 30382
                          }
                        ],
                        "point_count": 783,
                        "shape": "array",
                        "currency": "USD",
                        "currency_explicit": false,
                        "language": null,
                        "title": "Apple (AAPL) - Market capitalization"
                      },
                      "meta": {
                        "source": "companiesmarketcap",
                        "provider": "companiesmarketcap",
                        "endpoint": "html_page_inline_data",
                        "family": "html_page_inline_data",
                        "route": "company_metric",
                        "status": "ok",
                        "cache": "hit",
                        "identity_tier": "contact",
                        "generated_at": "2026-06-07T01:29:07.951Z",
                        "freshness": {
                          "max_age_seconds": 3600,
                          "stale_while_revalidate_seconds": 86400,
                          "stale": false
                        },
                        "request_id": "21c7b0ec-0545-486f-b24e-79ddc7bb6017",
                        "cache_age_seconds": 410
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request. A required parameter is missing, malformed, or outside the supported range.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 400 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "bad_request",
                        "message": "Required query parameter is missing or invalid."
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. API-key authenticated tiers use an Authorization bearer token.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 401 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "unauthorized",
                        "message": "A valid API key is required for this tier."
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not found. The requested route, resource, or symbol could not be resolved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 404 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "not_found",
                        "message": "The requested resource was not found."
                      }
                    }
                  }
                }
              }
            }
          },
          "405": {
            "description": "Method not allowed. Source API routes are documented as HTTP GET unless otherwise specified.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 405 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "method_not_allowed",
                        "message": "This route does not support the requested HTTP method."
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Rate limited. Retry after the limit reset or include the documented contact/API-key headers.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 429 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "rate_limited",
                        "message": "Too many requests. Retry after the rate-limit reset."
                      }
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Upstream source error. The source service rejected or failed the upstream request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 502 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "upstream_error",
                        "message": "The upstream source returned an error."
                      }
                    }
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. The source API or an upstream dependency is temporarily unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 503 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "service_unavailable",
                        "message": "The service is temporarily unavailable."
                      }
                    }
                  }
                }
              }
            }
          },
          "504": {
            "description": "Upstream timeout. The upstream source did not return within the source API timeout window.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 504 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "upstream_timeout",
                        "message": "The upstream source timed out."
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "cmcfin_get_companies_slug_metrics_metric",
        "description": "Returns company metric with source-native fields and identifiers.",
        "x-source-api": "cmcfin",
        "x-source-name": "CompaniesMarketCap",
        "x-source-upstream": "companiesmarketcap.com",
        "x-docs-example-url": "https://api.cmcfin.bluedoor.sh/v1/companies/apple/metrics/marketcap",
        "x-docs-example-status": 200,
        "x-docs-captured-at": "2026-06-07T01:35:58.328Z"
      }
    }
  },
  "components": {
    "schemas": {
      "ErrorEnvelope": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "ok": {
            "type": "boolean",
            "example": false
          },
          "error": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              }
            }
          },
          "meta": {
            "type": "object",
            "additionalProperties": true
          }
        }
      },
      "cmcfin_get_ranking_pathsResponse": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "ok": {
            "type": "boolean"
          },
          "data": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "single_segment": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "key": {
                      "type": "string"
                    },
                    "origin_path": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "key",
                    "origin_path"
                  ]
                }
              },
              "two_segment": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "category": {
                      "type": "string"
                    },
                    "ranking_path": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "category",
                    "ranking_path"
                  ]
                }
              },
              "blocked": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "required": [
              "blocked",
              "single_segment",
              "two_segment"
            ]
          },
          "meta": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "source": {
                "type": "string"
              },
              "request_id": {
                "type": "string"
              }
            },
            "required": [
              "request_id",
              "source"
            ]
          }
        },
        "required": [
          "data",
          "meta",
          "ok"
        ]
      },
      "cmcfin_get_searchResponse": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "ok": {
            "type": "boolean"
          },
          "data": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "query": {
                "type": "string"
              },
              "results": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "id": {
                      "nullable": true
                    },
                    "identifier": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "url": {
                      "type": "string"
                    },
                    "img_dark_png": {
                      "type": "integer"
                    },
                    "logo_url": {
                      "type": "string"
                    },
                    "type": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "id",
                    "identifier",
                    "img_dark_png",
                    "logo_url",
                    "name",
                    "type",
                    "url"
                  ]
                }
              },
              "count": {
                "type": "integer"
              }
            },
            "required": [
              "count",
              "query",
              "results"
            ]
          },
          "meta": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "source": {
                "type": "string"
              },
              "provider": {
                "type": "string"
              },
              "endpoint": {
                "type": "string"
              },
              "family": {
                "type": "string"
              },
              "route": {
                "type": "string"
              },
              "status": {
                "type": "string"
              },
              "cache": {
                "type": "string"
              },
              "identity_tier": {
                "type": "string"
              },
              "generated_at": {
                "type": "string"
              },
              "freshness": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "max_age_seconds": {
                    "type": "integer"
                  },
                  "stale_while_revalidate_seconds": {
                    "type": "integer"
                  },
                  "stale": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "max_age_seconds",
                  "stale",
                  "stale_while_revalidate_seconds"
                ]
              },
              "request_id": {
                "type": "string"
              }
            },
            "required": [
              "cache",
              "endpoint",
              "family",
              "freshness",
              "generated_at",
              "identity_tier",
              "provider",
              "request_id",
              "route",
              "source",
              "status"
            ]
          }
        },
        "required": [
          "data",
          "meta",
          "ok"
        ]
      },
      "cmcfin_get_rankings_ranking_pathResponse": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "ok": {
            "type": "boolean"
          },
          "data": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "rows": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "rank": {
                      "type": "integer"
                    },
                    "name": {
                      "type": "string"
                    },
                    "symbol": {
                      "type": "string"
                    },
                    "marketcap": {
                      "type": "integer"
                    },
                    "revenue_ttm": {
                      "nullable": true
                    },
                    "employees_count": {
                      "nullable": true
                    },
                    "pe_ratio_ttm": {
                      "nullable": true
                    },
                    "dividend_yield_ttm": {
                      "nullable": true
                    },
                    "operating_margin_ttm": {
                      "nullable": true
                    },
                    "price_usd": {
                      "oneOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "integer"
                        }
                      ]
                    },
                    "country": {
                      "type": "string"
                    },
                    "raw": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "rank": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "symbol": {
                          "type": "string"
                        },
                        "marketcap": {
                          "type": "string"
                        },
                        "price_usd": {
                          "type": "string"
                        },
                        "country": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "country",
                        "marketcap",
                        "name",
                        "price_usd",
                        "rank",
                        "symbol"
                      ]
                    }
                  },
                  "required": [
                    "country",
                    "dividend_yield_ttm",
                    "employees_count",
                    "marketcap",
                    "name",
                    "operating_margin_ttm",
                    "pe_ratio_ttm",
                    "price_usd",
                    "rank",
                    "raw",
                    "revenue_ttm",
                    "symbol"
                  ]
                }
              },
              "total": {
                "type": "integer"
              },
              "columns": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "raw_header": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "origin_path": {
                "nullable": true
              }
            },
            "required": [
              "columns",
              "origin_path",
              "raw_header",
              "rows",
              "total"
            ]
          },
          "meta": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "source": {
                "type": "string"
              },
              "provider": {
                "type": "string"
              },
              "endpoint": {
                "type": "string"
              },
              "family": {
                "type": "string"
              },
              "route": {
                "type": "string"
              },
              "status": {
                "type": "string"
              },
              "cache": {
                "type": "string"
              },
              "identity_tier": {
                "type": "string"
              },
              "generated_at": {
                "type": "string"
              },
              "freshness": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "max_age_seconds": {
                    "type": "integer"
                  },
                  "stale_while_revalidate_seconds": {
                    "type": "integer"
                  },
                  "stale": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "max_age_seconds",
                  "stale",
                  "stale_while_revalidate_seconds"
                ]
              },
              "request_id": {
                "type": "string"
              },
              "cache_age_seconds": {
                "type": "integer"
              }
            },
            "required": [
              "cache",
              "cache_age_seconds",
              "endpoint",
              "family",
              "freshness",
              "generated_at",
              "identity_tier",
              "provider",
              "request_id",
              "route",
              "source",
              "status"
            ]
          }
        },
        "required": [
          "data",
          "meta",
          "ok"
        ]
      },
      "cmcfin_get_rankings_category_ranking_pathResponse": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "ok": {
            "type": "boolean"
          },
          "data": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "rows": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "rank": {
                      "type": "integer"
                    },
                    "name": {
                      "type": "string"
                    },
                    "symbol": {
                      "type": "string"
                    },
                    "marketcap": {
                      "type": "integer"
                    },
                    "revenue_ttm": {
                      "nullable": true
                    },
                    "employees_count": {
                      "nullable": true
                    },
                    "pe_ratio_ttm": {
                      "nullable": true
                    },
                    "dividend_yield_ttm": {
                      "nullable": true
                    },
                    "operating_margin_ttm": {
                      "nullable": true
                    },
                    "price_usd": {
                      "type": "number"
                    },
                    "country": {
                      "type": "string"
                    },
                    "raw": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "rank": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "symbol": {
                          "type": "string"
                        },
                        "marketcap": {
                          "type": "string"
                        },
                        "price_usd": {
                          "type": "string"
                        },
                        "country": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "country",
                        "marketcap",
                        "name",
                        "price_usd",
                        "rank",
                        "symbol"
                      ]
                    }
                  },
                  "required": [
                    "country",
                    "dividend_yield_ttm",
                    "employees_count",
                    "marketcap",
                    "name",
                    "operating_margin_ttm",
                    "pe_ratio_ttm",
                    "price_usd",
                    "rank",
                    "raw",
                    "revenue_ttm",
                    "symbol"
                  ]
                }
              },
              "total": {
                "type": "integer"
              },
              "columns": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "raw_header": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "origin_path": {
                "type": "string"
              }
            },
            "required": [
              "columns",
              "origin_path",
              "raw_header",
              "rows",
              "total"
            ]
          },
          "meta": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "source": {
                "type": "string"
              },
              "provider": {
                "type": "string"
              },
              "endpoint": {
                "type": "string"
              },
              "family": {
                "type": "string"
              },
              "route": {
                "type": "string"
              },
              "status": {
                "type": "string"
              },
              "cache": {
                "type": "string"
              },
              "identity_tier": {
                "type": "string"
              },
              "generated_at": {
                "type": "string"
              },
              "freshness": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "max_age_seconds": {
                    "type": "integer"
                  },
                  "stale_while_revalidate_seconds": {
                    "type": "integer"
                  },
                  "stale": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "max_age_seconds",
                  "stale",
                  "stale_while_revalidate_seconds"
                ]
              },
              "request_id": {
                "type": "string"
              },
              "cache_age_seconds": {
                "type": "integer"
              }
            },
            "required": [
              "cache",
              "cache_age_seconds",
              "endpoint",
              "family",
              "freshness",
              "generated_at",
              "identity_tier",
              "provider",
              "request_id",
              "route",
              "source",
              "status"
            ]
          }
        },
        "required": [
          "data",
          "meta",
          "ok"
        ]
      },
      "cmcfin_get_companies_slug_metrics_metricResponse": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "ok": {
            "type": "boolean"
          },
          "data": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "metric": {
                "type": "string"
              },
              "company": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "symbol": {
                    "type": "string"
                  },
                  "slug": {
                    "type": "string"
                  }
                },
                "required": [
                  "name",
                  "slug",
                  "symbol"
                ]
              },
              "points": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "date": {
                      "type": "string"
                    },
                    "value": {
                      "type": "integer"
                    }
                  },
                  "required": [
                    "date",
                    "value"
                  ]
                }
              },
              "point_count": {
                "type": "integer"
              },
              "shape": {
                "type": "string"
              },
              "currency": {
                "type": "string"
              },
              "currency_explicit": {
                "type": "boolean"
              },
              "language": {
                "nullable": true
              },
              "title": {
                "type": "string"
              }
            },
            "required": [
              "company",
              "currency",
              "currency_explicit",
              "language",
              "metric",
              "point_count",
              "points",
              "shape",
              "title"
            ]
          },
          "meta": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "source": {
                "type": "string"
              },
              "provider": {
                "type": "string"
              },
              "endpoint": {
                "type": "string"
              },
              "family": {
                "type": "string"
              },
              "route": {
                "type": "string"
              },
              "status": {
                "type": "string"
              },
              "cache": {
                "type": "string"
              },
              "identity_tier": {
                "type": "string"
              },
              "generated_at": {
                "type": "string"
              },
              "freshness": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "max_age_seconds": {
                    "type": "integer"
                  },
                  "stale_while_revalidate_seconds": {
                    "type": "integer"
                  },
                  "stale": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "max_age_seconds",
                  "stale",
                  "stale_while_revalidate_seconds"
                ]
              },
              "request_id": {
                "type": "string"
              },
              "cache_age_seconds": {
                "type": "integer"
              }
            },
            "required": [
              "cache",
              "cache_age_seconds",
              "endpoint",
              "family",
              "freshness",
              "generated_at",
              "identity_tier",
              "provider",
              "request_id",
              "route",
              "source",
              "status"
            ]
          }
        },
        "required": [
          "data",
          "meta",
          "ok"
        ]
      }
    }
  },
  "x-generated-at": "2026-06-07T01:30:59.456Z",
  "x-source-api": "cmcfin",
  "x-source-base-url": "https://api.cmcfin.bluedoor.sh"
}
