{
  "openapi": "3.1.0",
  "info": {
    "title": "Zapi — Finance",
    "description": "Every Finance endpoint on Zapi. Rendered catalog: https://zpi.web.id/category/finance",
    "version": "1.0.0",
    "license": {
      "name": "Zapi Terms of Service",
      "url": "https://zpi.web.id/terms"
    }
  },
  "servers": [
    {
      "url": "https://api.zpi.web.id"
    }
  ],
  "security": [
    {
      "ApiKeyAuth": []
    }
  ],
  "components": {
    "securitySchemes": {
      "ApiKeyAuth": {
        "type": "apiKey",
        "in": "header",
        "name": "x-api-key"
      }
    },
    "schemas": {
      "Envelope": {
        "type": "object",
        "required": [
          "status",
          "message"
        ],
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "success",
              "error"
            ]
          },
          "message": {
            "type": "string"
          },
          "content": {}
        }
      }
    },
    "responses": {
      "Error": {
        "description": "Invalid key, rate limit, or upstream failure",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Envelope"
            }
          }
        }
      }
    }
  },
  "externalDocs": {
    "url": "https://zpi.web.id/category/finance/llms.txt"
  },
  "paths": {
    "/v1/finance:bi-kurs/jisdor": {
      "get": {
        "operationId": "finance_bi_kurs_jisdor",
        "summary": "JISDOR",
        "description": "The official USD/IDR reference rate, by day.",
        "tags": [
          "Bank Indonesia"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/bi-kurs#reference-jisdor"
        },
        "parameters": [
          {
            "name": "startDate",
            "in": "query",
            "required": false,
            "description": "Range start, YYYY-MM-DD. Omit for the latest published rate",
            "schema": {
              "type": "string",
              "example": "2026-07-01"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "required": false,
            "description": "Range end, YYYY-MM-DD. Defaults to today when a start is given",
            "schema": {
              "type": "string",
              "example": "2026-07-31"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "count": 23,
                    "items": [
                      {
                        "date": "2026-07-31",
                        "rate": 18058
                      },
                      {
                        "date": "2026-07-30",
                        "rate": 18078
                      },
                      {
                        "date": "2026-07-29",
                        "rate": 18087
                      },
                      {
                        "date": "2026-07-28",
                        "rate": 18088
                      },
                      {
                        "date": "2026-07-27",
                        "rate": 17995
                      },
                      {
                        "date": "2026-07-24",
                        "rate": 17973
                      },
                      {
                        "date": "2026-07-23",
                        "rate": 17915
                      },
                      {
                        "date": "2026-07-22",
                        "rate": 17909
                      }
                    ],
                    "series": "jisdor",
                    "source": "bank-indonesia",
                    "endDate": "2026-07-31",
                    "currency": "USD",
                    "startDate": "2026-07-01"
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:bi-kurs/transaction": {
      "get": {
        "operationId": "finance_bi_kurs_transaction",
        "summary": "Transaction rate",
        "description": "Kurs Transaksi BI — the rate used for settlement and tax reporting.",
        "tags": [
          "Bank Indonesia"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/bi-kurs#reference-transaction"
        },
        "parameters": [
          {
            "name": "date",
            "in": "query",
            "required": false,
            "description": "Single publication date, YYYY-MM-DD. Omit for the latest",
            "schema": {
              "type": "string",
              "example": "2026-07-31"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "required": false,
            "description": "ISO currency code. Required when requesting a date range",
            "schema": {
              "type": "string",
              "example": "USD"
            }
          },
          {
            "name": "startDate",
            "in": "query",
            "required": false,
            "description": "Range start, YYYY-MM-DD. Needs a currency",
            "schema": {
              "type": "string",
              "example": "2026-07-01"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "required": false,
            "description": "Range end, YYYY-MM-DD. Defaults to today",
            "schema": {
              "type": "string",
              "example": "2026-07-31"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "date": "2026-07-31",
                    "count": 26,
                    "items": [
                      {
                        "buy": 4897.12,
                        "date": "2026-07-31",
                        "sell": 4946.61,
                        "unit": 1,
                        "currency": "AED"
                      },
                      {
                        "buy": 12501.39,
                        "date": "2026-07-31",
                        "sell": 12628.85,
                        "unit": 1,
                        "currency": "AUD"
                      },
                      {
                        "buy": 13925.53,
                        "date": "2026-07-31",
                        "sell": 14068.75,
                        "unit": 1,
                        "currency": "BND"
                      },
                      {
                        "buy": 12786.19,
                        "date": "2026-07-31",
                        "sell": 12917.45,
                        "unit": 1,
                        "currency": "CAD"
                      },
                      {
                        "buy": 22003.19,
                        "date": "2026-07-31",
                        "sell": 22235.21,
                        "unit": 1,
                        "currency": "CHF"
                      },
                      {
                        "buy": 2662.27,
                        "date": "2026-07-31",
                        "sell": 2689.18,
                        "unit": 1,
                        "currency": "CNH"
                      },
                      {
                        "buy": 2661.83,
                        "date": "2026-07-31",
                        "sell": 2688.86,
                        "unit": 1,
                        "currency": "CNY"
                      },
                      {
                        "buy": 2752.21,
                        "date": "2026-07-31",
                        "sell": 2780.29,
                        "unit": 1,
                        "currency": "DKK"
                      }
                    ],
                    "series": "transaction",
                    "source": "bank-indonesia",
                    "endDate": null,
                    "currency": null,
                    "startDate": null
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:bi-kurs/banknote": {
      "get": {
        "operationId": "finance_bi_kurs_banknote",
        "summary": "Banknote rate",
        "description": "Kurs Uang Kertas Asing — the physical cash rate.",
        "tags": [
          "Bank Indonesia"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/bi-kurs#reference-banknote"
        },
        "parameters": [
          {
            "name": "date",
            "in": "query",
            "required": false,
            "description": "Single publication date, YYYY-MM-DD. Omit for the latest",
            "schema": {
              "type": "string",
              "example": "2026-07-31"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "required": false,
            "description": "ISO currency code. Required when requesting a date range",
            "schema": {
              "type": "string",
              "example": "USD"
            }
          },
          {
            "name": "startDate",
            "in": "query",
            "required": false,
            "description": "Range start, YYYY-MM-DD. Needs a currency",
            "schema": {
              "type": "string",
              "example": "2026-07-01"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "required": false,
            "description": "Range end, YYYY-MM-DD. Defaults to today",
            "schema": {
              "type": "string",
              "example": "2026-07-31"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "date": "2026-07-31",
                    "count": 1,
                    "items": [
                      {
                        "buy": 17578,
                        "date": "2026-07-31",
                        "sell": 18578,
                        "unit": 1,
                        "currency": "USD"
                      }
                    ],
                    "series": "banknote",
                    "source": "bank-indonesia",
                    "endDate": null,
                    "currency": "USD",
                    "startDate": null
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:bi-kurs/currencies": {
      "get": {
        "operationId": "finance_bi_kurs_currencies",
        "summary": "Currencies",
        "description": "Which currencies each rate series carries.",
        "tags": [
          "Bank Indonesia"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/bi-kurs#reference-currencies"
        },
        "parameters": [
          {
            "name": "series",
            "in": "query",
            "required": false,
            "description": "Restrict to one rate series. Default all",
            "schema": {
              "type": "string",
              "enum": [
                "all",
                "transaction",
                "banknote"
              ],
              "default": "all",
              "example": "all"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "date": "2026-07-31",
                    "count": 26,
                    "items": [
                      {
                        "code": "AED",
                        "name": "UNITED ARAB EMIRATES DIRHAM",
                        "banknote": true,
                        "transaction": true
                      },
                      {
                        "code": "AUD",
                        "name": "AUSTRALIAN DOLLAR",
                        "banknote": true,
                        "transaction": true
                      },
                      {
                        "code": "BND",
                        "name": "BRUNEI DOLLAR",
                        "banknote": true,
                        "transaction": true
                      },
                      {
                        "code": "CAD",
                        "name": "CANADIAN DOLLAR",
                        "banknote": true,
                        "transaction": true
                      },
                      {
                        "code": "CHF",
                        "name": "SWISS FRANC",
                        "banknote": true,
                        "transaction": true
                      },
                      {
                        "code": "CNH",
                        "name": "CHINA YUAN",
                        "banknote": true,
                        "transaction": true
                      },
                      {
                        "code": "CNY",
                        "name": "CHINA YUAN",
                        "banknote": false,
                        "transaction": true
                      },
                      {
                        "code": "DKK",
                        "name": "DANISH KRONE",
                        "banknote": true,
                        "transaction": true
                      }
                    ],
                    "series": "all",
                    "source": "bank-indonesia"
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:bi-kurs/policy-rate": {
      "get": {
        "operationId": "finance_bi_kurs_policy_rate",
        "summary": "BI-Rate",
        "description": "The policy rate and every decision that changed it.",
        "tags": [
          "Bank Indonesia"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/bi-kurs#reference-policy-rate"
        },
        "parameters": [
          {
            "name": "count",
            "in": "query",
            "required": false,
            "description": "Most recent decisions to return. Default 24, max 200",
            "schema": {
              "type": "number",
              "default": 24,
              "example": "24"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "count": 10,
                    "items": [
                      {
                        "date": "2026-07-22",
                        "ratePercent": 5.75,
                        "announcementUrl": "https://www.bi.go.id/id/publikasi/ruang-media/news-release/Pages/sp_2814226.aspx"
                      },
                      {
                        "date": "2026-06-18",
                        "ratePercent": 5.75,
                        "announcementUrl": "https://www.bi.go.id/id/publikasi/ruang-media/news-release/Pages/sp_2812626.aspx"
                      },
                      {
                        "date": "2026-06-09",
                        "ratePercent": 5.5,
                        "announcementUrl": "https://www.bi.go.id/id/publikasi/ruang-media/news-release/Pages/sp_2811926.aspx"
                      },
                      {
                        "date": "2026-05-20",
                        "ratePercent": 5.25,
                        "announcementUrl": "https://www.bi.go.id/id/publikasi/ruang-media/news-release/Pages/sp_2810726.aspx"
                      },
                      {
                        "date": "2026-04-22",
                        "ratePercent": 4.75,
                        "announcementUrl": "https://www.bi.go.id/id/publikasi/ruang-media/news-release/Pages/sp_288426.aspx"
                      },
                      {
                        "date": "2026-03-17",
                        "ratePercent": 4.75,
                        "announcementUrl": "https://www.bi.go.id/id/publikasi/ruang-media/news-release/Pages/sp_286526.aspx"
                      },
                      {
                        "date": "2026-02-19",
                        "ratePercent": 4.75,
                        "announcementUrl": "https://www.bi.go.id/id/publikasi/ruang-media/news-release/Pages/sp_284326.aspx"
                      },
                      {
                        "date": "2026-01-21",
                        "ratePercent": 4.75,
                        "announcementUrl": "https://www.bi.go.id/id/publikasi/ruang-media/news-release/Pages/sp_281326.aspx"
                      }
                    ],
                    "series": "bi-rate",
                    "source": "bank-indonesia",
                    "effectiveDate": "2026-07-22",
                    "currentRatePercent": 5.75
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:bi-kurs/inflation": {
      "get": {
        "operationId": "finance_bi_kurs_inflation",
        "summary": "Inflation",
        "description": "Indonesian headline inflation, year on year, by month.",
        "tags": [
          "Bank Indonesia"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/bi-kurs#reference-inflation"
        },
        "parameters": [
          {
            "name": "count",
            "in": "query",
            "required": false,
            "description": "Most recent months to return. Default 24, max 120",
            "schema": {
              "type": "number",
              "default": 24,
              "example": "24"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "basis": "year-on-year",
                    "count": 10,
                    "items": [
                      {
                        "month": "2026-06",
                        "inflationPercent": 3.34
                      },
                      {
                        "month": "2026-05",
                        "inflationPercent": 3.08
                      },
                      {
                        "month": "2026-04",
                        "inflationPercent": 2.42
                      },
                      {
                        "month": "2026-03",
                        "inflationPercent": 3.48
                      },
                      {
                        "month": "2026-02",
                        "inflationPercent": 4.76
                      },
                      {
                        "month": "2026-01",
                        "inflationPercent": 3.55
                      },
                      {
                        "month": "2025-12",
                        "inflationPercent": 2.92
                      },
                      {
                        "month": "2025-11",
                        "inflationPercent": 2.72
                      }
                    ],
                    "series": "inflation",
                    "source": "bank-indonesia",
                    "latestMonth": "2026-06",
                    "latestPercent": 3.34
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:binance/ticker": {
      "get": {
        "operationId": "finance_binance_ticker",
        "summary": "Ticker",
        "description": "24-hour statistics for one spot pair.",
        "tags": [
          "Binance"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/binance#reference-ticker"
        },
        "parameters": [
          {
            "name": "symbol",
            "in": "query",
            "required": true,
            "description": "Trading pair. Accepts BTCUSDT, BTC/USDT or btc_usdt",
            "schema": {
              "type": "string",
              "example": "BTCUSDT"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "ask": 62986.66,
                    "bid": 62986.65,
                    "low": 62275,
                    "high": 63150,
                    "last": 62986.66,
                    "open": 62971.86,
                    "askQty": 4.04187,
                    "bidQty": 3.92792,
                    "change": 14.8,
                    "symbol": "BTCUSDT",
                    "exchange": "binance",
                    "openTime": 1785549235012,
                    "closeTime": 1785635635012,
                    "tradeCount": 826869,
                    "volumeBase": 7308.28437,
                    "volumeQuote": 459748760.2615933,
                    "changePercent": 0.024,
                    "previousClose": 62971.86,
                    "weightedAvgPrice": 62907.89150855
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:binance/tickers": {
      "get": {
        "operationId": "finance_binance_tickers",
        "summary": "Tickers",
        "description": "Every spot pair at once, filterable by quote asset.",
        "tags": [
          "Binance"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/binance#reference-tickers"
        },
        "parameters": [
          {
            "name": "quote",
            "in": "query",
            "required": false,
            "description": "Restrict to pairs quoted in this asset. Default USDT",
            "schema": {
              "type": "string",
              "enum": [
                "all",
                "USDT",
                "USDC",
                "BTC",
                "ETH",
                "BNB",
                "FDUSD",
                "TRY",
                "EUR"
              ],
              "default": "USDT",
              "example": "USDT"
            }
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "description": "Filter by base asset",
            "schema": {
              "type": "string",
              "example": "btc"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Sort key, descending for volume and change. Default volume",
            "schema": {
              "type": "string",
              "enum": [
                "volume",
                "change",
                "symbol"
              ],
              "default": "volume",
              "example": "volume"
            }
          },
          {
            "name": "count",
            "in": "query",
            "required": false,
            "description": "Rows to return. Default 100, max 500",
            "schema": {
              "type": "number",
              "default": 100,
              "example": "100"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "sort": "volume",
                    "count": 10,
                    "items": [
                      {
                        "low": 1.0007,
                        "base": "USDC",
                        "high": 1.0009,
                        "last": 1.00085,
                        "quote": "USDT",
                        "change": -0.00003,
                        "symbol": "USDCUSDT",
                        "tradeCount": 505338,
                        "volumeBase": 465800496,
                        "volumeQuote": 466177265.05961,
                        "changePercent": -0.003
                      },
                      {
                        "low": 62275,
                        "base": "BTC",
                        "high": 63150,
                        "last": 62991.99,
                        "quote": "USDT",
                        "change": 20.13,
                        "symbol": "BTCUSDT",
                        "tradeCount": 827359,
                        "volumeBase": 7311.09465,
                        "volumeQuote": 459925771.4156871,
                        "changePercent": 0.032
                      },
                      {
                        "low": 1822.06,
                        "base": "ETH",
                        "high": 1875.45,
                        "last": 1856.5,
                        "quote": "USDT",
                        "change": -10.05,
                        "symbol": "ETHUSDT",
                        "tradeCount": 878480,
                        "volumeBase": 113651.93,
                        "volumeQuote": 210628641.95109,
                        "changePercent": -0.538
                      },
                      {
                        "low": 0.0407,
                        "base": "MIRA",
                        "high": 0.0433,
                        "last": 0.041,
                        "quote": "USDT",
                        "change": -0.0018,
                        "symbol": "MIRAUSDT",
                        "tradeCount": 124310,
                        "volumeBase": 2191410638.9,
                        "volumeQuote": 94077365.95299,
                        "changePercent": -4.206
                      },
                      {
                        "low": 70.58,
                        "base": "SOL",
                        "high": 73.21,
                        "last": 72.65,
                        "quote": "USDT",
                        "change": -0.39,
                        "symbol": "SOLUSDT",
                        "tradeCount": 272860,
                        "volumeBase": 1105628.794,
                        "volumeQuote": 79911008.59277,
                        "changePercent": -0.534
                      },
                      {
                        "low": 573.5,
                        "base": "BNB",
                        "high": 592.8,
                        "last": 577.93,
                        "quote": "USDT",
                        "change": -11.92,
                        "symbol": "BNBUSDT",
                        "tradeCount": 492848,
                        "volumeBase": 105720.504,
                        "volumeQuote": 61457961.68883,
                        "changePercent": -2.021
                      },
                      {
                        "low": 0.99986,
                        "base": "USD1",
                        "high": 1.00004,
                        "last": 0.99993,
                        "quote": "USDT",
                        "change": -0.00011,
                        "symbol": "USD1USDT",
                        "tradeCount": 102808,
                        "volumeBase": 57487899,
                        "volumeQuote": 57483361.20734,
                        "changePercent": -0.011
                      },
                      {
                        "low": 37.07,
                        "base": "GIGGLE",
                        "high": 55.71,
                        "last": 42.51,
                        "quote": "USDT",
                        "change": -2.97,
                        "symbol": "GIGGLEUSDT",
                        "tradeCount": 841714,
                        "volumeBase": 1065602.953,
                        "volumeQuote": 48090911.77891,
                        "changePercent": -6.53
                      }
                    ],
                    "quote": "USDT",
                    "total": 723,
                    "exchange": "binance"
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:binance/klines": {
      "get": {
        "operationId": "finance_binance_klines",
        "summary": "Klines",
        "description": "OHLCV candles from one minute to one month.",
        "tags": [
          "Binance"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/binance#reference-klines"
        },
        "parameters": [
          {
            "name": "symbol",
            "in": "query",
            "required": true,
            "description": "Trading pair. Accepts BTCUSDT, BTC/USDT or btc_usdt",
            "schema": {
              "type": "string",
              "example": "BTCUSDT"
            }
          },
          {
            "name": "interval",
            "in": "query",
            "required": false,
            "description": "Candle size. Default 1d",
            "schema": {
              "type": "string",
              "enum": [
                "1m",
                "3m",
                "5m",
                "15m",
                "30m",
                "1h",
                "2h",
                "4h",
                "6h",
                "8h",
                "12h",
                "1d",
                "3d",
                "1w",
                "1M"
              ],
              "default": "1d",
              "example": "1d"
            }
          },
          {
            "name": "count",
            "in": "query",
            "required": false,
            "description": "Number of candles. Default 200, max 1000",
            "schema": {
              "type": "number",
              "default": 200,
              "example": "200"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "count": 30,
                    "symbol": "BTCUSDT",
                    "candles": [
                      {
                        "low": 62328.24,
                        "date": "2026-07-04T00:00:00.000Z",
                        "high": 63461.99,
                        "open": 62583.26,
                        "close": 63144.01,
                        "openTime": 1783123200000,
                        "closeTime": 1783209599999,
                        "tradeCount": 1643288,
                        "volumeBase": 9139.8274,
                        "volumeQuote": 574233846.0826051
                      },
                      {
                        "low": 62436.59,
                        "date": "2026-07-05T00:00:00.000Z",
                        "high": 63999,
                        "open": 63144.01,
                        "close": 63650,
                        "openTime": 1783209600000,
                        "closeTime": 1783295999999,
                        "tradeCount": 1790183,
                        "volumeBase": 9172.07758,
                        "volumeQuote": 577866444.607444
                      },
                      {
                        "low": 61306.84,
                        "date": "2026-07-06T00:00:00.000Z",
                        "high": 64700,
                        "open": 63650.01,
                        "close": 64042.02,
                        "openTime": 1783296000000,
                        "closeTime": 1783382399999,
                        "tradeCount": 3777895,
                        "volumeBase": 21435.28437,
                        "volumeQuote": 1347956046.4032269
                      },
                      {
                        "low": 62671.39,
                        "date": "2026-07-07T00:00:00.000Z",
                        "high": 64314,
                        "open": 64042.93,
                        "close": 63363.99,
                        "openTime": 1783382400000,
                        "closeTime": 1783468799999,
                        "tradeCount": 3282102,
                        "volumeBase": 16834.20823,
                        "volumeQuote": 1069267686.8886092
                      },
                      {
                        "low": 61544.56,
                        "date": "2026-07-08T00:00:00.000Z",
                        "high": 63761.99,
                        "open": 63364,
                        "close": 62290,
                        "openTime": 1783468800000,
                        "closeTime": 1783555199999,
                        "tradeCount": 3598487,
                        "volumeBase": 18620.09796,
                        "volumeQuote": 1160087170.620036
                      },
                      {
                        "low": 61705.29,
                        "date": "2026-07-09T00:00:00.000Z",
                        "high": 63500,
                        "open": 62290.01,
                        "close": 63230,
                        "openTime": 1783555200000,
                        "closeTime": 1783641599999,
                        "tradeCount": 3176050,
                        "volumeBase": 16742.80672,
                        "volumeQuote": 1050849813.269484
                      },
                      {
                        "low": 62926.01,
                        "date": "2026-07-10T00:00:00.000Z",
                        "high": 64692.83,
                        "open": 63230.01,
                        "close": 64161.72,
                        "openTime": 1783641600000,
                        "closeTime": 1783727999999,
                        "tradeCount": 2927425,
                        "volumeBase": 17589.00122,
                        "volumeQuote": 1126097961.002051
                      },
                      {
                        "low": 63819,
                        "date": "2026-07-11T00:00:00.000Z",
                        "high": 64504.11,
                        "open": 64161.72,
                        "close": 63819,
                        "openTime": 1783728000000,
                        "closeTime": 1783814399999,
                        "tradeCount": 1406178,
                        "volumeBase": 9151.97432,
                        "volumeQuote": 587469874.5668087
                      }
                    ],
                    "exchange": "binance",
                    "interval": "1d"
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:binance/depth": {
      "get": {
        "operationId": "finance_binance_depth",
        "summary": "Order book",
        "description": "Resting bids and asks for one spot pair.",
        "tags": [
          "Binance"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/binance#reference-depth"
        },
        "parameters": [
          {
            "name": "symbol",
            "in": "query",
            "required": true,
            "description": "Trading pair. Accepts BTCUSDT, BTC/USDT or btc_usdt",
            "schema": {
              "type": "string",
              "example": "BTCUSDT"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Levels per side. Default 50, max 500",
            "schema": {
              "type": "number",
              "default": 50,
              "example": "50"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "asks": [
                      {
                        "price": 62992,
                        "amount": 2.41343
                      },
                      {
                        "price": 62992.01,
                        "amount": 0.00142
                      },
                      {
                        "price": 62992.02,
                        "amount": 0.00016
                      },
                      {
                        "price": 62992.08,
                        "amount": 0.00008
                      },
                      {
                        "price": 62992.74,
                        "amount": 0.00008
                      },
                      {
                        "price": 62992.8,
                        "amount": 0.00018
                      },
                      {
                        "price": 62992.81,
                        "amount": 0.05142
                      },
                      {
                        "price": 62992.82,
                        "amount": 0.17044
                      }
                    ],
                    "bids": [
                      {
                        "price": 62991.99,
                        "amount": 6.46597
                      },
                      {
                        "price": 62991.98,
                        "amount": 0.00016
                      },
                      {
                        "price": 62991.97,
                        "amount": 0.00016
                      },
                      {
                        "price": 62991.44,
                        "amount": 0.004
                      },
                      {
                        "price": 62991.32,
                        "amount": 0.00018
                      },
                      {
                        "price": 62991.31,
                        "amount": 0.04207
                      },
                      {
                        "price": 62991.29,
                        "amount": 0.00018
                      },
                      {
                        "price": 62991.28,
                        "amount": 0.16704
                      }
                    ],
                    "spread": 0.01,
                    "symbol": "BTCUSDT",
                    "askCount": 10,
                    "bidCount": 10,
                    "exchange": "binance"
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:crypto-price/price": {
      "get": {
        "operationId": "finance_crypto_price_price",
        "summary": "Get Crypto Price",
        "description": "Retrieve current price for a given cryptocurrency.",
        "tags": [
          "Crypto Price"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/crypto-price#reference-price"
        },
        "parameters": [
          {
            "name": "coins",
            "in": "query",
            "required": true,
            "description": "Comma-separated coin IDs (slug, lowercase)",
            "schema": {
              "type": "string",
              "example": "bitcoin,ethereum"
            }
          },
          {
            "name": "vs",
            "in": "query",
            "required": false,
            "description": "Comma-separated vs currencies. Default usd",
            "schema": {
              "type": "string",
              "example": "usd"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "ok": true,
                    "prices": {
                      "bitcoin": {
                        "usd": 74826,
                        "usd_24h_change": -2.5782005155042933,
                        "usd_market_cap": 1500248007735.9695
                      },
                      "ethereum": {
                        "usd": 2056.7,
                        "usd_24h_change": -2.743476892620399,
                        "usd_market_cap": 248261597304.3915
                      }
                    }
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:currency-convert/convert": {
      "get": {
        "operationId": "finance_currency_convert_convert",
        "summary": "Convert Currency",
        "description": "Convert an amount from one currency to another.",
        "tags": [
          "Currency Converter"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/currency-convert#reference-convert"
        },
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "required": false,
            "description": "Source currency (ISO 4217). Default USD",
            "schema": {
              "type": "string",
              "example": "USD"
            }
          },
          {
            "name": "to",
            "in": "query",
            "required": false,
            "description": "Target currency (ISO 4217). Default IDR",
            "schema": {
              "type": "string",
              "example": "IDR"
            }
          },
          {
            "name": "amount",
            "in": "query",
            "required": false,
            "description": "Amount to convert. Default 1",
            "schema": {
              "type": "number",
              "example": "100"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "ok": true,
                    "to": "IDR",
                    "date": "2026-05-26",
                    "from": "USD",
                    "rate": 17834.8,
                    "amount": 100,
                    "result": 1783480
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:fear-greed/crypto": {
      "get": {
        "operationId": "finance_fear_greed_crypto",
        "summary": "Crypto sentiment",
        "description": "The crypto Fear & Greed index, with history.",
        "tags": [
          "Fear & Greed"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/fear-greed#reference-crypto"
        },
        "parameters": [
          {
            "name": "count",
            "in": "query",
            "required": false,
            "description": "Days of history. Default 30, max 365",
            "schema": {
              "type": "number",
              "default": 30,
              "example": "30"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "date": "2026-08-02",
                    "count": 14,
                    "items": [
                      {
                        "date": "2026-08-02",
                        "score": 27,
                        "rating": "Fear",
                        "timestamp": 1785628800
                      },
                      {
                        "date": "2026-08-01",
                        "score": 27,
                        "rating": "Fear",
                        "timestamp": 1785542400
                      },
                      {
                        "date": "2026-07-31",
                        "score": 25,
                        "rating": "Extreme Fear",
                        "timestamp": 1785456000
                      },
                      {
                        "date": "2026-07-30",
                        "score": 28,
                        "rating": "Fear",
                        "timestamp": 1785369600
                      },
                      {
                        "date": "2026-07-29",
                        "score": 29,
                        "rating": "Fear",
                        "timestamp": 1785283200
                      },
                      {
                        "date": "2026-07-28",
                        "score": 29,
                        "rating": "Fear",
                        "timestamp": 1785196800
                      },
                      {
                        "date": "2026-07-27",
                        "score": 30,
                        "rating": "Fear",
                        "timestamp": 1785110400
                      },
                      {
                        "date": "2026-07-26",
                        "score": 26,
                        "rating": "Fear",
                        "timestamp": 1785024000
                      }
                    ],
                    "score": 27,
                    "market": "crypto",
                    "rating": "Fear",
                    "nextUpdateIn": 79557
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:fear-greed/stocks": {
      "get": {
        "operationId": "finance_fear_greed_stocks",
        "summary": "Stock sentiment",
        "description": "US equity sentiment plus its seven sub-indicators.",
        "tags": [
          "Fear & Greed"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/fear-greed#reference-stocks"
        },
        "parameters": [
          {
            "name": "count",
            "in": "query",
            "required": false,
            "description": "Days of history. Default 30, max 365",
            "schema": {
              "type": "number",
              "default": 30,
              "example": "30"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "asOf": "2026-07-31T23:59:52+00:00",
                    "count": 14,
                    "items": [
                      {
                        "date": "2026-07-31",
                        "score": 42.46,
                        "rating": "fear"
                      },
                      {
                        "date": "2026-07-30",
                        "score": 40.71,
                        "rating": "fear"
                      },
                      {
                        "date": "2026-07-29",
                        "score": 34.66,
                        "rating": "fear"
                      },
                      {
                        "date": "2026-07-28",
                        "score": 37.89,
                        "rating": "fear"
                      },
                      {
                        "date": "2026-07-27",
                        "score": 37.63,
                        "rating": "fear"
                      },
                      {
                        "date": "2026-07-24",
                        "score": 41.34,
                        "rating": "fear"
                      },
                      {
                        "date": "2026-07-23",
                        "score": 38.91,
                        "rating": "fear"
                      },
                      {
                        "date": "2026-07-22",
                        "score": 43.31,
                        "rating": "fear"
                      }
                    ],
                    "score": 42.46,
                    "market": "stocks",
                    "rating": "fear",
                    "weekAgo": 41.34,
                    "yearAgo": 63.71,
                    "monthAgo": 29.97,
                    "indicators": {
                      "junkBondDemand": {
                        "score": 75.2,
                        "rating": "extreme greed"
                      },
                      "marketMomentum": {
                        "score": 35,
                        "rating": "fear"
                      },
                      "putCallOptions": {
                        "score": 34,
                        "rating": "fear"
                      },
                      "safeHavenDemand": {
                        "score": 50.4,
                        "rating": "neutral"
                      },
                      "marketVolatility": {
                        "score": 50,
                        "rating": "neutral"
                      },
                      "stockPriceBreadth": {
                        "score": 22.6,
                        "rating": "extreme fear"
                      },
                      "stockPriceStrength": {
                        "score": 29.8,
                        "rating": "fear"
                      }
                    },
                    "previousClose": 38.91
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:goldprice/spot": {
      "get": {
        "operationId": "finance_goldprice_spot",
        "summary": "Spot",
        "description": "Harga spot emas & perak live (per oz/gram/kg), any currency.",
        "tags": [
          "GoldPrice"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/goldprice#reference-spot"
        },
        "parameters": [
          {
            "name": "currency",
            "in": "query",
            "required": false,
            "description": "Kode mata uang ISO (mis. USD, IDR, EUR). Default USD.",
            "schema": {
              "type": "string",
              "default": "USD",
              "example": "USD"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "asOf": "Jun 14th 2026, 01:41:25 am NY",
                    "gold": {
                      "change": 112.885,
                      "pricePerKg": 135383.74,
                      "pricePerOz": 4210.905,
                      "pricePerGram": 135.3837,
                      "changePercent": 2.7546,
                      "previousClose": 4098.02
                    },
                    "silver": {
                      "change": 3.8419,
                      "pricePerKg": 2179.23,
                      "pricePerOz": 67.7815,
                      "pricePerGram": 2.1792,
                      "changePercent": 6.0086,
                      "previousClose": 63.9396
                    },
                    "currency": "USD",
                    "timestamp": 1781415690581,
                    "goldSilverRatio": 62
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:goldprice/chart": {
      "get": {
        "operationId": "finance_goldprice_chart",
        "summary": "Chart",
        "description": "URL gambar grafik harga (gold/silver, 7d–30y).",
        "tags": [
          "GoldPrice"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/goldprice#reference-chart"
        },
        "parameters": [
          {
            "name": "metal",
            "in": "query",
            "required": false,
            "description": "Logam mulia: gold atau silver. Default gold",
            "schema": {
              "type": "string",
              "enum": [
                "gold",
                "silver"
              ],
              "default": "gold"
            }
          },
          {
            "name": "period",
            "in": "query",
            "required": false,
            "description": "Rentang waktu chart. Pilihan: 7d, 30d, 6m, 1y, 2y, 5y, 10y, 15y, 20y, 30y. Default 7d",
            "schema": {
              "type": "string",
              "enum": [
                "7d",
                "30d",
                "6m",
                "1y",
                "2y",
                "5y",
                "10y",
                "15y",
                "20y",
                "30y"
              ],
              "default": "7d"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "required": false,
            "description": "Kode mata uang ISO 3-huruf (USD, EUR, GBP, IDR, JPY, dll). Default USD",
            "schema": {
              "type": "string",
              "default": "USD",
              "example": "USD"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "metal": "gold",
                    "period": "7d",
                    "currency": "USD",
                    "imageUrl": "https://charts.goldprice.org/charts/history/gold_7_day_o_USD_x.png",
                    "verified": true,
                    "availablePeriods": [
                      "7d",
                      "30d",
                      "6m",
                      "1y",
                      "2y",
                      "5y",
                      "10y",
                      "15y"
                    ]
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:goldprice/crypto": {
      "get": {
        "operationId": "finance_goldprice_crypto",
        "summary": "Crypto",
        "description": "Harga cryptocurrency live (BTC/ETH/SOL/dll) + market cap.",
        "tags": [
          "GoldPrice"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/goldprice#reference-crypto"
        },
        "parameters": [
          {
            "name": "ids",
            "in": "query",
            "required": false,
            "description": "Daftar id koin dipisah koma (mis. bitcoin,ethereum,solana,ripple,dogecoin). Default \"bitcoin,ethereum,solana,ripple,dogecoin\". Max 50 koin.",
            "schema": {
              "type": "string",
              "example": "bitcoin,ethereum,solana"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "required": false,
            "description": "Mata uang harga: usd, idr, eur, gbp, jpy, sgd, aud, btc, eth. Default usd.",
            "schema": {
              "type": "string",
              "enum": [
                "usd",
                "idr",
                "eur",
                "gbp",
                "jpy",
                "sgd",
                "aud",
                "btc",
                "eth"
              ],
              "example": "usd"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "count": 3,
                    "items": [
                      {
                        "id": "bitcoin",
                        "ath": 126080,
                        "name": "Bitcoin",
                        "rank": 1,
                        "image": "https://coin-images.coingecko.com/coins/images/1/large/bitcoin.png?1696501400",
                        "price": 64328,
                        "low24h": 63486,
                        "symbol": "BTC",
                        "high24h": 64633,
                        "change24h": 777.02,
                        "marketCap": 1288787081171,
                        "volume24h": 18113239771,
                        "lastUpdated": "2026-06-14T05:41:38.195Z",
                        "totalSupply": 20042446,
                        "athChangePercent": -48.98,
                        "changePercent24h": 1.22,
                        "circulatingSupply": 20042437
                      },
                      {
                        "id": "ethereum",
                        "ath": 4946.05,
                        "name": "Ethereum",
                        "rank": 2,
                        "image": "https://coin-images.coingecko.com/coins/images/279/large/ethereum.png?1696501628",
                        "price": 1676.5,
                        "low24h": 1662.23,
                        "symbol": "ETH",
                        "high24h": 1688.12,
                        "change24h": 12.19,
                        "marketCap": 202192671812,
                        "volume24h": 6621220095,
                        "lastUpdated": "2026-06-14T05:41:37.677Z",
                        "totalSupply": 120684209.1147544,
                        "athChangePercent": -66.1,
                        "changePercent24h": 0.73,
                        "circulatingSupply": 120684209.1147544
                      },
                      {
                        "id": "solana",
                        "ath": 293.31,
                        "name": "Solana",
                        "rank": 7,
                        "image": "https://coin-images.coingecko.com/coins/images/4128/large/solana.png?1718769756",
                        "price": 68.17,
                        "low24h": 66.64,
                        "symbol": "SOL",
                        "high24h": 69.36,
                        "change24h": 1.42,
                        "marketCap": 39519480119,
                        "volume24h": 1665123302,
                        "lastUpdated": "2026-06-14T05:41:37.417Z",
                        "totalSupply": 628303502.7848742,
                        "athChangePercent": -76.76,
                        "changePercent24h": 2.13,
                        "circulatingSupply": 579823662.913511
                      }
                    ],
                    "currency": "USD"
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:goldprice/news": {
      "get": {
        "operationId": "finance_goldprice_news",
        "summary": "News",
        "description": "Daftar berita pasar emas/perak.",
        "tags": [
          "GoldPrice"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/goldprice#reference-news"
        },
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "description": "Nomor halaman, default 1",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "count",
            "in": "query",
            "required": false,
            "description": "Item per halaman, default 20 (max 50)",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "category",
            "in": "query",
            "required": false,
            "description": "Filter opsional (keyword pada judul/slug, mis. 'fed' atau 'inflation')",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "page": 1,
                    "count": 5,
                    "items": [
                      {
                        "url": "https://goldprice.org/news/gold-pulls-back-inflation-pressure-reprices-fed-path",
                        "slug": "gold-pulls-back-inflation-pressure-reprices-fed-path",
                        "image": "https://goldprice.org/sites/default/files/styles/blog_hero_375/public/blog_hero_images/Gold-Price-Recap1_6.jpg?itok=rvvHfSPF",
                        "title": "Gold Pulls Back as Inflation Pressure Reprices the Fed Path",
                        "author": "Matthew Bolden",
                        "publishedAt": "2026-06-12T14:31:49-04:00"
                      },
                      {
                        "url": "https://goldprice.org/news/jobs-shock-knocks-gold-below-4400-fed-cut-hopes-fade",
                        "slug": "jobs-shock-knocks-gold-below-4400-fed-cut-hopes-fade",
                        "image": "https://goldprice.org/sites/default/files/styles/blog_hero_375/public/blog_hero_images/Gold-Price-Recap1_5.jpg?itok=hGQiYGdB",
                        "title": "Jobs Shock Knocks Gold Below $4,400 as Fed Cut Hopes Fade",
                        "author": "Matthew Bolden",
                        "publishedAt": "2026-06-05T13:42:18-04:00"
                      },
                      {
                        "url": "https://goldprice.org/news/de-escalation-headlines-weigh-on-gold-ahead-of-memorial-day",
                        "slug": "de-escalation-headlines-weigh-on-gold-ahead-of-memorial-day",
                        "image": "https://goldprice.org/sites/default/files/styles/blog_hero_375/public/blog_hero_images/Gold-Price-Recap%20%281%29_12.jpg?itok=fYRM7OWK",
                        "title": "De-Escalation Headlines Weigh on Gold Ahead of Memorial Day",
                        "author": "Matthew Bolden",
                        "publishedAt": "2026-05-22T15:47:47-04:00"
                      },
                      {
                        "url": "https://goldprice.org/news/gold-falls-toward-4550-fed-cut-hopes-fade",
                        "slug": "gold-falls-toward-4550-fed-cut-hopes-fade",
                        "image": "https://goldprice.org/sites/default/files/styles/blog_hero_375/public/blog_hero_images/Gold-Price-Recap%20%281%29_11.jpg?itok=NO3uEVUh",
                        "title": "Gold Falls Toward $4,550 as Fed-Cut Hopes Fade",
                        "author": "Matthew Bolden",
                        "publishedAt": "2026-05-15T16:11:03-04:00"
                      },
                      {
                        "url": "https://goldprice.org/news/gold-rallies-iran-peace-hopes-ease-yields-and-dollar-pressure",
                        "slug": "gold-rallies-iran-peace-hopes-ease-yields-and-dollar-pressure",
                        "image": "https://goldprice.org/sites/default/files/styles/blog_hero_375/public/blog_hero_images/Gold-Price-Recap1_4.jpg?itok=xAifbwQS",
                        "title": "Gold Rallies as Iran Peace Hopes Ease Yields and Dollar Pressure",
                        "author": "Matthew Bolden",
                        "publishedAt": "2026-05-08T14:40:07-04:00"
                      }
                    ],
                    "hasMore": false
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:goldprice/article/{slug}": {
      "get": {
        "operationId": "finance_goldprice_article",
        "summary": "Article",
        "description": "Isi artikel berita (input slug dari endpoint news).",
        "tags": [
          "GoldPrice"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/goldprice#reference-article"
        },
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "description": "Slug artikel (atau full URL goldprice.org/news/...)",
            "schema": {
              "type": "string",
              "example": "gold-pulls-back-inflation-pressure-reprices-fed-path"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "url": "https://goldprice.org/news/gold-pulls-back-inflation-pressure-reprices-fed-path",
                    "slug": "gold-pulls-back-inflation-pressure-reprices-fed-path",
                    "image": "https://goldprice.org/sites/default/files/styles/blog_hero/public/blog_hero_images/Gold-Price-Recap1_6.jpg?itok=qLiud1Ae",
                    "title": "Gold Pulls Back as Inflation Pressure Reprices the Fed Path",
                    "author": "Matthew Bolden",
                    "source": "goldprice.org",
                    "contentText": "Happy Friday, traders. Welcome to our weekly market wrap, where we take a look back at these last five trading days with a focus on the market news, economic data, and headlines that had the most impact on gold prices and other key correlated assets—and may continue to in the future.\n\nSo, what kind of week has it been?\n\n### Here's what you need to know:\n\n- Gold is set to close the week under pressure, with spot trading near $4,227/oz on Friday morning, down roughly $103 from last Friday's close near $4,330.\n\n- The main driver was another repricing of the Fed path after May CPI showed annual inflation running at 4.2%, keeping rate uncertainty in the center of the trade.\n\n- Geopolitical headlines around the US-Iran ceasefire and canceled strike plans complicated the tape, helping yields and crude ease late in the week while also reducing some of gold's safe-haven bid.\n\n- Next week brings the June FOMC decision on Wednesday, Chair Kevin Warsh's first as Fed chair, and traders will be watching for any shift in how the Fed balances sticky inflation, resilient labor data, and energy-market risk.\n\n### So, What Kind of a Week Has It Been?\n\nFor gold, this has been a week of pressure, repricing, and—at least through Friday morning—some late-session repair that does not quite undo the damage from earlier in the tape. Spot gold is trading near $4,227/oz as of Friday morning, down roughly $103 from last Friday's close near $4,330. That puts the yellow metal lower by a little more than 2.4% on the week, even after buyers stepped back in below the midweek lows.\n\nThe decline was not especially mysterious. The market came into the week already leaning away from the easy-rate-cut narrative after last Friday's blowout jobs number, and this week's inflation data gave traders one more reason to stay cautious. Gold has spent most of June trying to decide whether the $4,500 area was a consolidation line or a ceiling. This week's answer, at least for now, is that the path of least resistance moved lower once inflation and Fed risk returned to the center of the trade.\n\n### Inflation Keeps the Fed in the Driver's Seat\n\nThe key macro catalyst this week was the May CPI print, which showed annual inflation running at 4.2%, the hottest year-over-year reading since 2023, with energy prices doing much of the work. For gold traders, the important point was less the headline number by itself and more what it did to the policy conversation.\n\nA sticky inflation tape is not automatically bearish for gold. In the longer run, inflation is part of the reason investors own the metal in the first place. But in the short run, when inflation forces the market to push out rate-cut expectations—or, more aggressively, to entertain renewed talk of a hike—the reaction function can turn hostile very quickly. Higher real-rate expectations raise the opportunity cost of holding gold, and that is especially true when the market is already digesting a stronger labor-market print from the prior week.\n\nThe Fed is also in its pre-meeting quiet period, which left traders without much official guidance to lean on. That silence tends to let the data speak louder, and this week the data told the market that Chair Kevin Warsh's first FOMC meeting next Wednesday is unlikely to open with an immediate dovish pivot. The more likely setup is a hold, a cautious statement, and a press conference that traders will parse line by line for how willing this new Fed leadership is to tolerate inflation above target.\n\n### Geopolitics Gives, Then Takes Back, Some of the Bid\n\nThe geopolitical side of the trade was no cleaner. Early-week pressure on gold was helped along by a softer risk-premium backdrop as traders continued to reassess the US-Iran conflict and the durability of the latest ceasefire framework. Any sign that the Strait of Hormuz risk is easing matters for gold because it feeds directly into crude, gasoline, inflation expectations, and ultimately the Fed path.\n\nBy Friday morning, however, the tape had turned more two-sided. Reports that President Trump had canceled planned military strikes against Iran helped crude oil prices retreat and Treasury yields ease, which took some pressure off gold and allowed a bounce from the week's lows. But even that rebound carried an irony: de-escalation reduces the safe-haven bid that had helped support gold above $4,400, while lower oil prices also reduce the inflation impulse that had been forcing the Fed discussion in a more hawkish direction.\n\nThat is the difficult cross-current for gold here. Traders are not dealing with one simple narrative. A calmer Middle East can pressure gold by removing geopolitical premium, but it can also support gold if it pulls yields and the Dollar lower. A hotter inflation print can support the long-term hard-asset case, but it can hurt spot prices if it makes the Fed less likely to cut. This week, the rate side of the story won.\n\n### Silver Holds Up Better as the Dollar Slips\n\nSilver was the more resilient precious metal this week. Spot silver is trading near $68.72/oz on Friday morning, up about $0.90 from last Friday's close. That is not a runaway breakout, but it is a notable divergence from gold's softer tape and suggests that the white metal is still benefiting from a combination of monetary-metal demand and firmer industrial expectations.\n\nThe US Dollar was not a clean headwind by the end of the week. The Dollar softened on Thursday and Friday as yields eased and risk appetite improved, which helped give gold and silver some breathing room. But the weekly story was still dominated by the earlier repricing of Fed expectations, not by a sustained Dollar breakdown.\n\nAmong the PGMs, platinum slipped nearly 3% on the week, while palladium was the standout, gaining more than 7%. That divergence is another reminder that this has not been a simple \"precious metals up\" or \"precious metals down\" week. It has been a week of relative-value moves, macro repricing, and traders separating the monetary metals from the more industry-sensitive corners of the complex.\n\n### Looking Ahead\n\nNext week brings the June FOMC decision on Wednesday, and that is the obvious center of gravity for gold. The market is not positioned for a rate change, but it is positioned for guidance. Traders will want to know how Chair Warsh frames the combination of a hot inflation print, still-resilient labor data, energy-market uncertainty, and a gold market that has already corrected sharply from its recent highs.\n\nThe other thing to watch is whether Friday's rebound can turn into something more durable. If gold can reclaim the lower $4,300s and stabilize, this week may look like a corrective reset inside a still-constructive longer-term trend. If it fails there, the next leg of the tape may be less about geopolitics and more about how far real-rate expectations can stretch before physical demand and haven buyers step back in.\n\nIn the meantime, traders, I hope you can get out and safely enjoy your weekend for the next couple of days. After that, I'll see you back here next week for another market recap.\n\n\n\n\n\n\n\n\n\n\n\n#### Matthew Bolden\n\n\nMatthew Bolden is an active trader and investor. His passions include writing about financial markets in a simple, pragmatic way. His work has been seen in various arenas within the world of global finance, and he has written commentary on several markets including precious metals, stocks, currencies and options.\n\nMatthew is an avid reader, student of the markets and sports enthusiast who resides in the greater Chicago area.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n### Gold Price Chart\n\n\n\n\n\n\n<div class=\"",
                    "publishedAt": "2026-06-12T14:31:49-04:00",
                    "relatedSlugs": [
                      "jobs-shock-knocks-gold-below-4400-fed-cut-hopes-fade",
                      "de-escalation-headlines-weigh-on-gold-ahead-of-memorial-day",
                      "gold-falls-toward-4550-fed-cut-hopes-fade",
                      "gold-rallies-iran-peace-hopes-ease-yields-and-dollar-pressure",
                      "hawkish-fomc-pressures-gold-buyers-defend-4500-support",
                      "golds-three-week-run-ends-on-iran-volatility",
                      "gold-climbs-fourth-straight-week-soft-ppi-and-weak-dollar-outshine-ceasefire"
                    ]
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:goldprice/performance": {
      "get": {
        "operationId": "finance_goldprice_performance",
        "summary": "Performance",
        "description": "Performa harga historis multi-periode (USD/GBP, EOD).",
        "tags": [
          "GoldPrice"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/goldprice#reference-performance"
        },
        "parameters": [
          {
            "name": "metal",
            "in": "query",
            "required": false,
            "description": "Logam: gold (XAU) atau silver (XAG). Default gold.",
            "schema": {
              "type": "string",
              "enum": [
                "gold",
                "silver"
              ],
              "default": "gold"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "required": false,
            "description": "Mata uang. HANYA USD & GBP yang didukung sumber (lainnya tidak punya data historis).",
            "schema": {
              "type": "string",
              "default": "USD",
              "example": "USD"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "asOf": "2026-05-01",
                    "note": "Performa dihitung dari data penutupan harian (EOD) sumber; bukan harga spot live. `asOf` adalah tanggal data terakhir yang tersedia.",
                    "metal": "gold",
                    "source": "historical-eod",
                    "symbol": "XAU",
                    "current": 4636.9,
                    "periods": [
                      {
                        "label": "1M",
                        "changeAbs": -102.1,
                        "priceThen": 4739,
                        "changePercent": -2.15,
                        "priceThenDate": "2026-04-01"
                      },
                      {
                        "label": "3M",
                        "changeAbs": -344.95,
                        "priceThen": 4981.85,
                        "changePercent": -6.92,
                        "priceThenDate": "2026-01-30"
                      },
                      {
                        "label": "6M",
                        "changeAbs": 625.4,
                        "priceThen": 4011.5,
                        "changePercent": 15.59,
                        "priceThenDate": "2025-10-31"
                      },
                      {
                        "label": "YTD",
                        "changeAbs": 269.1,
                        "priceThen": 4367.8,
                        "changePercent": 6.16,
                        "priceThenDate": "2025-12-30"
                      },
                      {
                        "label": "1Y",
                        "changeAbs": 1422.15,
                        "priceThen": 3214.75,
                        "changePercent": 44.24,
                        "priceThenDate": "2025-05-01"
                      },
                      {
                        "label": "2Y",
                        "changeAbs": 2334.55,
                        "priceThen": 2302.35,
                        "changePercent": 101.4,
                        "priceThenDate": "2024-05-01"
                      },
                      {
                        "label": "5Y",
                        "changeAbs": 2869.25,
                        "priceThen": 1767.65,
                        "changePercent": 162.32,
                        "priceThenDate": "2021-04-30"
                      }
                    ],
                    "chartUrl": "https://goldprice.org/charts/gold-price-performance-USD_x.png",
                    "currency": "USD"
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:goldprice/etfs": {
      "get": {
        "operationId": "finance_goldprice_etfs",
        "summary": "ETFs",
        "description": "Daftar ETF emas/perak (name, country, ticker via enrich).",
        "tags": [
          "GoldPrice"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/goldprice#reference-etfs"
        },
        "parameters": [
          {
            "name": "metal",
            "in": "query",
            "required": false,
            "description": "Logam: gold atau silver",
            "schema": {
              "type": "string",
              "enum": [
                "gold",
                "silver"
              ],
              "default": "gold",
              "example": "gold"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "description": "Halaman (1,2,3). Default 1",
            "schema": {
              "type": "number",
              "example": "1"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Item per halaman (default 50, max 100)",
            "schema": {
              "type": "number",
              "example": "50"
            }
          },
          {
            "name": "country",
            "in": "query",
            "required": false,
            "description": "Filter negara (mis. \"United States\", \"Canada\"). Opsional",
            "schema": {
              "type": "string",
              "example": "Canada"
            }
          },
          {
            "name": "enrich",
            "in": "query",
            "required": false,
            "description": "true = ambil ticker+exchange dari halaman detail (lebih lambat). Default false",
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "false"
              ],
              "example": "false"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "page": 1,
                    "count": 31,
                    "items": [
                      {
                        "name": "BMO Junior Gold Index ETF",
                        "slug": "bmo-junior-gold-index-etf",
                        "country": "Canada",
                        "detailUrl": "https://goldprice.org/gold-etfs/bmo-junior-gold-index-etf"
                      },
                      {
                        "name": "Credit Suisse X-Links Gold Shares Covered Call ETN",
                        "slug": "credit-suisse-x-links-gold-shares-covered-call-etn",
                        "country": "United States",
                        "detailUrl": "https://goldprice.org/gold-etfs/credit-suisse-x-links-gold-shares-covered-call-etn"
                      },
                      {
                        "name": "DB Gold Double Long Exchange Traded Notes",
                        "slug": "db-gold-double-long-exchange-traded-notes",
                        "country": "United States",
                        "detailUrl": "https://goldprice.org/gold-etfs/db-gold-double-long-exchange-traded-notes"
                      },
                      {
                        "name": "DB Gold Double Short Exchange Traded Notes",
                        "slug": "db-gold-double-short-exchange-traded-notes",
                        "country": "United States",
                        "detailUrl": "https://goldprice.org/gold-etfs/db-gold-double-short-exchange-traded-notes"
                      },
                      {
                        "name": "Direxion Daily Gold Miners Bear 3X Shares",
                        "slug": "direxion-daily-gold-miners-bear-3x-shares",
                        "country": "United States",
                        "detailUrl": "https://goldprice.org/gold-etfs/direxion-daily-gold-miners-bear-3x-shares"
                      },
                      {
                        "name": "Direxion Daily Gold Miners Bull 3X Shares",
                        "slug": "direxion-daily-gold-miners-bull-3x-shares",
                        "country": "United States",
                        "detailUrl": "https://goldprice.org/gold-etfs/direxion-daily-gold-miners-bull-3x-shares"
                      },
                      {
                        "name": "Direxion Daily Gold Miners Index Bear 1X Shares",
                        "slug": "direxion-daily-gold-miners-index-bear-1x-shares",
                        "country": "United States",
                        "detailUrl": "https://goldprice.org/gold-etfs/direxion-daily-gold-miners-index-bear-1x-shares"
                      },
                      {
                        "name": "Direxion Daily Junior Gold Index Bear 3X Shares",
                        "slug": "direxion-daily-junior-gold-index-bear-3x-shares",
                        "country": "United States",
                        "detailUrl": "https://goldprice.org/gold-etfs/direxion-daily-junior-gold-index-bear-3x-shares"
                      }
                    ],
                    "limit": 50,
                    "metal": "gold",
                    "total": 31,
                    "dataset": "etfs",
                    "hasMore": false,
                    "enriched": false
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:goldprice/stocks": {
      "get": {
        "operationId": "finance_goldprice_stocks",
        "summary": "Stocks",
        "description": "Daftar saham tambang emas/perak.",
        "tags": [
          "GoldPrice"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/goldprice#reference-stocks"
        },
        "parameters": [
          {
            "name": "metal",
            "in": "query",
            "required": false,
            "description": "Logam: gold atau silver",
            "schema": {
              "type": "string",
              "enum": [
                "gold",
                "silver"
              ],
              "default": "gold",
              "example": "gold"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "description": "Halaman (1,2,3). Default 1",
            "schema": {
              "type": "number",
              "example": "1"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Item per halaman (default 50, max 100)",
            "schema": {
              "type": "number",
              "example": "50"
            }
          },
          {
            "name": "country",
            "in": "query",
            "required": false,
            "description": "Filter negara (mis. \"United States\", \"Canada\"). Opsional",
            "schema": {
              "type": "string",
              "example": "Canada"
            }
          },
          {
            "name": "enrich",
            "in": "query",
            "required": false,
            "description": "true = ambil ticker+exchange dari halaman detail (lebih lambat). Default false",
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "false"
              ],
              "example": "false"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "page": 1,
                    "count": 50,
                    "items": [
                      {
                        "name": "African Gold Group",
                        "slug": "african-gold-group",
                        "country": "United States",
                        "detailUrl": "https://goldprice.org/gold-stocks/african-gold-group"
                      },
                      {
                        "name": "African Gold Group TSXV",
                        "slug": "african-gold-group-tsxv",
                        "country": "Canada",
                        "detailUrl": "https://goldprice.org/gold-stocks/african-gold-group-tsxv"
                      },
                      {
                        "name": "Agnico-Eagle Mines",
                        "slug": "agnico-eagle-mines",
                        "country": "United States",
                        "detailUrl": "https://goldprice.org/gold-stocks/agnico-eagle-mines"
                      },
                      {
                        "name": "Agnico-Eagle Mines TSX",
                        "slug": "agnico-eagle-mines-tsx",
                        "country": "Canada",
                        "detailUrl": "https://goldprice.org/gold-stocks/agnico-eagle-mines-tsx"
                      },
                      {
                        "name": "Alacer Gold",
                        "slug": "alacer-gold",
                        "country": "United States",
                        "detailUrl": "https://goldprice.org/gold-stocks/alacer-gold"
                      },
                      {
                        "name": "Alacer Gold TSX",
                        "slug": "alacer-gold-tsx",
                        "country": "Canada",
                        "detailUrl": "https://goldprice.org/gold-stocks/alacer-gold-tsx"
                      },
                      {
                        "name": "Alamos Gold",
                        "slug": "alamos-gold",
                        "country": "United States",
                        "detailUrl": "https://goldprice.org/gold-stocks/alamos-gold"
                      },
                      {
                        "name": "Alamos Gold TSX",
                        "slug": "alamos-gold-tsx",
                        "country": "Canada",
                        "detailUrl": "https://goldprice.org/gold-stocks/alamos-gold-tsx"
                      }
                    ],
                    "limit": 50,
                    "metal": "gold",
                    "total": 264,
                    "dataset": "stocks",
                    "hasMore": true,
                    "enriched": false
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:goldprice/exchanges": {
      "get": {
        "operationId": "finance_goldprice_exchanges",
        "summary": "Exchanges",
        "description": "Panduan beli emas per negara.",
        "tags": [
          "GoldPrice"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/goldprice#reference-exchanges"
        },
        "parameters": [
          {
            "name": "country",
            "in": "query",
            "required": false,
            "description": "Country slug (canada, singapore, switzerland, united-kingdom, united-states). Aliases like usa/uk accepted.",
            "schema": {
              "type": "string",
              "default": "united-states",
              "example": "united-states"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "note": "Halaman upstream berupa panduan membeli emas (prose), bukan daftar dealer/exchange ber-rating. `items` berisi tautan sumber/produk yang ada pada panduan.",
                    "count": 4,
                    "guide": [
                      "If you are looking to buy gold in the United States, you have numerous choices when it comes to where you purchase your gold. Local coin and bullion shops and online gold and silver dealers represent the two primary types of retailers at which you can buy gold, silver and other metals products. There are, however, some key differences between the two.",
                      "Local coin and bullion shops may carry various types of gold bullion bars and coins, as well as numismatics and collectibles. Such shops may, however, carry smaller inventories and charge higher premiums compared to online dealers. This makes sense, after all, given the fact the brick and mortar coin shops tend to have higher operating costs compared to online dealers.",
                      "Online precious metals dealers tend to offer a much wider variety of bullion coins and bars, as well as numismatics and collectibles. Online coin and bullion dealers tend to have some of the lowest premiums available, as they may have lower overall operating costs.",
                      "If you are looking to buy gold in the U.S., you have access to many different types. Gold bars and coins in the U.S. come in all shapes and sizes, and with varying weights as well. A smaller investor or those on a tight budget, for example, may prefer to purchase a 1 gram gold bar while larger investors may prefer the standard 1 ounce gold bar .",
                      "If you are buying gold coins in the U.S., chances are good that you will see American Gold Eagle coins for sale. These gold coins are produced by the U.S. Mint, and are one of the world’s most popular gold bullion coins. One of the nicest things about American Gold Eagle coins is that they are available in numerous weights such as 1/10th ounce, ¼ ounce, ½ ounce and 1 ounce.",
                      "These iconic gold coins feature the Augustus Saint-Gaudens designed image of Lady Liberty, and are considered good, legal tender with varying face values based on weight. This coin made its debut in 1986, and has been a top-seller ever since. All gold eagle coins are currently produced at the West Point facility of the U.S. Mint.",
                      "The U.S. Mint was created in April, 1792 through the passage of The Coinage Act. The act authorized the construction of a mint building located in Philadelphia, then the nation’s capital. This building also happened to be the first federal building constructed under the constitution.",
                      "The U.S. Mint, since its founding, has taken great price in paying tribute to this great nation in coins. Owning a U.S. Mint coin or medal is not only a good investment, but a way to connect to the founding principles of the nation and the roots of its economy."
                    ],
                    "items": [
                      {
                        "url": "https://goldprice.org/gold-prices/Gold-Bars.htm",
                        "name": "gold bullion bars"
                      },
                      {
                        "url": "https://goldprice.org/gold-bars/1-oz.htm",
                        "name": "1 ounce gold bar"
                      },
                      {
                        "url": "https://goldprice.org/gold-prices/1003-Gold-Coins/1001-American-Gold-Eagle.htm",
                        "name": "American Gold Eagle coins"
                      },
                      {
                        "url": "https://goldprice.org/gold-prices/1003-Gold-Coins.htm",
                        "name": "gold coins"
                      }
                    ],
                    "metal": "gold",
                    "title": "USA",
                    "country": "united-states"
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:goldprice/convert": {
      "get": {
        "operationId": "finance_goldprice_convert",
        "summary": "Convert",
        "description": "Kalkulator nilai emas/perak (weight×spot, unit+purity).",
        "tags": [
          "GoldPrice"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/goldprice#reference-convert"
        },
        "parameters": [
          {
            "name": "metal",
            "in": "query",
            "required": false,
            "description": "Logam mulia yang dihitung: gold atau silver. Default gold.",
            "schema": {
              "type": "string",
              "enum": [
                "gold",
                "silver"
              ],
              "default": "gold",
              "example": "gold"
            }
          },
          {
            "name": "weight",
            "in": "query",
            "required": true,
            "description": "Berat logam (harus > 0), satuannya ditentukan param `unit`.",
            "schema": {
              "type": "number",
              "example": "10"
            }
          },
          {
            "name": "unit",
            "in": "query",
            "required": false,
            "description": "Satuan berat: oz (troy ounce), gram, kg, tola, tael (HK). Default gram.",
            "schema": {
              "type": "string",
              "enum": [
                "oz",
                "gram",
                "kg",
                "tola",
                "tael"
              ],
              "default": "gram",
              "example": "gram"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "required": false,
            "description": "Mata uang nilai output (kode ISO 3 huruf, mis. USD, IDR, EUR). Default USD.",
            "schema": {
              "type": "string",
              "default": "USD",
              "example": "USD"
            }
          },
          {
            "name": "purity",
            "in": "query",
            "required": false,
            "description": "Kemurnian logam 0..1 (mis. 0.999 fine, 0.75 untuk 18k emas). Default 1.",
            "schema": {
              "type": "number",
              "example": "0.999"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "asOf": "2026-06-14T05:41:48.763Z",
                    "unit": "gram",
                    "metal": "gold",
                    "purity": 1,
                    "weight": 10,
                    "currency": "USD",
                    "pricePerOz": 4210.905,
                    "totalValue": 1353.84,
                    "pricePerGram": 135.383739
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:idx/stock-summary": {
      "get": {
        "operationId": "finance_idx_stock_summary",
        "summary": "Ringkasan Saham",
        "description": "Ringkasan perdagangan semua saham (harga, volume, value, frekuensi).",
        "tags": [
          "IDX (Bursa Efek Indonesia)"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/idx#reference-stock-summary"
        },
        "parameters": [
          {
            "name": "length",
            "in": "query",
            "required": false,
            "description": "Jumlah baris per halaman (default 20, max 1000)",
            "schema": {
              "type": "number",
              "example": "20"
            }
          },
          {
            "name": "start",
            "in": "query",
            "required": false,
            "description": "Offset awal (default 0)",
            "schema": {
              "type": "number",
              "example": "0"
            }
          },
          {
            "name": "date",
            "in": "query",
            "required": false,
            "description": "Tanggal data (YYYYMMDD atau YYYY-MM-DD). Default hari bursa terakhir. Bisa ambil data historis.",
            "schema": {
              "type": "string",
              "example": "20260612"
            }
          },
          {
            "name": "code",
            "in": "query",
            "required": false,
            "description": "Filter kode saham tertentu (opsional)",
            "schema": {
              "type": "string",
              "example": "BBCA"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "data": [
                      {
                        "No": 1,
                        "Bid": 8625,
                        "Low": 8050,
                        "Date": "2026-06-12T00:00:00",
                        "High": 8850,
                        "Close": 8650,
                        "Offer": 8650,
                        "Value": 182271837500,
                        "Change": 600,
                        "Volume": 21262200,
                        "persen": null,
                        "Remarks": "XDMO1SD0F10000A121------------",
                        "Previous": 8050,
                        "BidVolume": 29200,
                        "Frequency": 9962,
                        "OpenPrice": 8100,
                        "StockCode": "AADI",
                        "StockName": "Adaro Andalan Indonesia Tbk.",
                        "FirstTrade": 8075,
                        "ForeignBuy": 5896500,
                        "percentage": null,
                        "ForeignSell": 9874800,
                        "OfferVolume": 67500,
                        "ListedShares": 7786891760,
                        "DelistingDate": "",
                        "IDStockSummary": 4031673,
                        "TradebleShares": 7786891760,
                        "WeightForIndex": 1486517637,
                        "IndexIndividual": 155.9,
                        "NonRegularValue": 5466551,
                        "NonRegularVolume": 659,
                        "NonRegularFrequency": 16
                      },
                      {
                        "No": 2,
                        "Bid": 6175,
                        "Low": 6025,
                        "Date": "2026-06-12T00:00:00",
                        "High": 6325,
                        "Close": 6175,
                        "Offer": 6225,
                        "Value": 18983070000,
                        "Change": 125,
                        "Volume": 3068700,
                        "persen": null,
                        "Remarks": "--MO113E100000D232------------",
                        "Previous": 6050,
                        "BidVolume": 51900,
                        "Frequency": 3424,
                        "OpenPrice": 6075,
                        "StockCode": "AALI",
                        "StockName": "Astra Agro Lestari Tbk.",
                        "FirstTrade": 6050,
                        "ForeignBuy": 1104500,
                        "percentage": null,
                        "ForeignSell": 1285200,
                        "OfferVolume": 3000,
                        "ListedShares": 1924688333,
                        "DelistingDate": "",
                        "IDStockSummary": 4031674,
                        "TradebleShares": 1924688333,
                        "WeightForIndex": 390711732,
                        "IndexIndividual": 501.6,
                        "NonRegularValue": 0,
                        "NonRegularVolume": 0,
                        "NonRegularFrequency": 0
                      },
                      {
                        "No": 3,
                        "Bid": 35,
                        "Low": 35,
                        "Date": "2026-06-12T00:00:00",
                        "High": 35,
                        "Close": 35,
                        "Offer": 36,
                        "Value": 10220000,
                        "Change": 0,
                        "Volume": 292000,
                        "persen": null,
                        "Remarks": "--U-4100000000E614-E---------X",
                        "Previous": 35,
                        "BidVolume": 8000,
                        "Frequency": 59,
                        "OpenPrice": 0,
                        "StockCode": "ABBA",
                        "StockName": "Mahaka Media Tbk.",
                        "FirstTrade": 0,
                        "ForeignBuy": 0,
                        "percentage": null,
                        "ForeignSell": 0,
                        "OfferVolume": 1020800,
                        "ListedShares": 3935892857,
                        "DelistingDate": "",
                        "IDStockSummary": 4031675,
                        "TradebleShares": 3935892857,
                        "WeightForIndex": 1298844643,
                        "IndexIndividual": 77.3,
                        "NonRegularValue": 0,
                        "NonRegularVolume": 0,
                        "NonRegularFrequency": 0
                      }
                    ],
                    "start": 0,
                    "length": 3,
                    "dataset": "stock-summary",
                    "provider": "idx",
                    "recordsTotal": 959,
                    "recordsFiltered": 959
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:idx/index-summary": {
      "get": {
        "operationId": "finance_idx_index_summary",
        "summary": "Ringkasan Indeks",
        "description": "Ringkasan semua indeks IDX (IHSG/COMPOSITE, LQ45, IDX30, dll).",
        "tags": [
          "IDX (Bursa Efek Indonesia)"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/idx#reference-index-summary"
        },
        "parameters": [
          {
            "name": "length",
            "in": "query",
            "required": false,
            "description": "Jumlah indeks (default 50)",
            "schema": {
              "type": "number",
              "example": "50"
            }
          },
          {
            "name": "start",
            "in": "query",
            "required": false,
            "description": "Offset (default 0)",
            "schema": {
              "type": "number",
              "example": "0"
            }
          },
          {
            "name": "date",
            "in": "query",
            "required": false,
            "description": "Tanggal data (YYYYMMDD atau YYYY-MM-DD). Default hari bursa terakhir.",
            "schema": {
              "type": "string",
              "example": "20260612"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "data": [
                      {
                        "No": 1,
                        "Date": "2026-06-12T00:00:00",
                        "Close": 6007.656,
                        "Value": 21654846683780,
                        "Change": 121.624,
                        "Lowest": 5952.852,
                        "Volume": 34775696450,
                        "Highest": 6074.072,
                        "Previous": 5886.032,
                        "Frequency": 2346364,
                        "IndexCode": "COMPOSITE",
                        "MarketCapital": 10524297346477400,
                        "NumberOfStock": 913,
                        "IndexSummaryID": 193005
                      },
                      {
                        "No": 2,
                        "Date": "2026-06-12T00:00:00",
                        "Close": 597.448,
                        "Value": 12206901755616,
                        "Change": 10.606,
                        "Lowest": 594.635,
                        "Volume": 12651287578,
                        "Highest": 607.958,
                        "Previous": 586.842,
                        "Frequency": 819004,
                        "IndexCode": "LQ45",
                        "MarketCapital": 4125839000206770,
                        "NumberOfStock": 45,
                        "IndexSummaryID": 193006
                      },
                      {
                        "No": 3,
                        "Date": "2026-06-12T00:00:00",
                        "Close": 87.187,
                        "Value": 9911848320501,
                        "Change": 1.362,
                        "Lowest": 86.992,
                        "Volume": 3945789568,
                        "Highest": 88.837,
                        "Previous": 85.825,
                        "Frequency": 586876,
                        "IndexCode": "IDXLQ45LCL",
                        "MarketCapital": 4303050354047150,
                        "NumberOfStock": 37,
                        "IndexSummaryID": 193045
                      },
                      {
                        "No": 4,
                        "Date": "2026-06-12T00:00:00",
                        "Close": 338.988,
                        "Value": 10146806912295,
                        "Change": 4.6,
                        "Lowest": 338.707,
                        "Volume": 10087520928,
                        "Highest": 345.174,
                        "Previous": 334.388,
                        "Frequency": 623335,
                        "IndexCode": "IDX30",
                        "MarketCapital": 3507589087883250,
                        "NumberOfStock": 30,
                        "IndexSummaryID": 193014
                      },
                      {
                        "No": 5,
                        "Date": "2026-06-12T00:00:00",
                        "Close": 89.678,
                        "Value": 16205619462397,
                        "Change": 1.963,
                        "Lowest": 88.938,
                        "Volume": 16349915979,
                        "Highest": 91.217,
                        "Previous": 87.715,
                        "Frequency": 1172821,
                        "IndexCode": "IDX80",
                        "MarketCapital": 4994502370344020,
                        "NumberOfStock": 80,
                        "IndexSummaryID": 193025
                      }
                    ],
                    "dataset": "index-summary",
                    "provider": "idx",
                    "recordsTotal": 45
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:idx/top-movers": {
      "get": {
        "operationId": "finance_idx_top_movers",
        "summary": "Top Movers",
        "description": "Saham paling aktif: top gainer, loser, volume, value, frequent.",
        "tags": [
          "IDX (Bursa Efek Indonesia)"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/idx#reference-top-movers"
        },
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "required": true,
            "description": "Jenis: gainer (naik), loser (turun), volume, value, frequent (paling sering)",
            "schema": {
              "type": "string",
              "enum": [
                "gainer",
                "loser",
                "volume",
                "value",
                "frequent"
              ],
              "example": "gainer"
            }
          },
          {
            "name": "resultCount",
            "in": "query",
            "required": false,
            "description": "Jumlah saham teratas yang dikembalikan (default 10)",
            "schema": {
              "type": "number",
              "example": "10"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "data": [
                      {
                        "Code": "KIOS",
                        "Price": 91,
                        "Value": 4186683900,
                        "Change": 23,
                        "Volume": 49168300,
                        "Percent": 33.82,
                        "Frequency": 2892
                      },
                      {
                        "Code": "ASPR",
                        "Price": 216,
                        "Value": 140679325600,
                        "Change": 51,
                        "Volume": 705910000,
                        "Percent": 30.91,
                        "Frequency": 38164
                      },
                      {
                        "Code": "PART",
                        "Price": 100,
                        "Value": 2590827500,
                        "Change": 20,
                        "Volume": 27542300,
                        "Percent": 25,
                        "Frequency": 2324
                      },
                      {
                        "Code": "BUKK",
                        "Price": 1005,
                        "Value": 280842500,
                        "Change": 200,
                        "Volume": 289400,
                        "Percent": 24.84,
                        "Frequency": 212
                      },
                      {
                        "Code": "RLCO",
                        "Price": 3020,
                        "Value": 11771918000,
                        "Change": 600,
                        "Volume": 4123100,
                        "Percent": 24.79,
                        "Frequency": 4944
                      }
                    ],
                    "type": "gainer",
                    "dataset": "top-movers",
                    "provider": "idx",
                    "resultCount": 5
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:idx/broker-summary": {
      "get": {
        "operationId": "finance_idx_broker_summary",
        "summary": "Ringkasan Broker",
        "description": "Ringkasan perdagangan per broker/anggota bursa.",
        "tags": [
          "IDX (Bursa Efek Indonesia)"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/idx#reference-broker-summary"
        },
        "parameters": [
          {
            "name": "length",
            "in": "query",
            "required": false,
            "description": "Jumlah broker (default 50)",
            "schema": {
              "type": "number",
              "example": "50"
            }
          },
          {
            "name": "start",
            "in": "query",
            "required": false,
            "description": "Offset (default 0)",
            "schema": {
              "type": "number",
              "example": "0"
            }
          },
          {
            "name": "date",
            "in": "query",
            "required": false,
            "description": "Tanggal data (YYYYMMDD atau YYYY-MM-DD). Default hari bursa terakhir.",
            "schema": {
              "type": "string",
              "example": "20260612"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "data": [
                      {
                        "No": 1,
                        "Date": "2026-06-12T00:00:00",
                        "Value": 1187317700,
                        "IDFirm": "AD",
                        "Volume": 5131200,
                        "FirmName": "Sukadana Prima Sekuritas",
                        "Frequency": 204,
                        "IDBrokerSummary": 957287
                      },
                      {
                        "No": 2,
                        "Date": "2026-06-12T00:00:00",
                        "Value": 3582812000,
                        "IDFirm": "AF",
                        "Volume": 5211500,
                        "FirmName": "Harita Kencana Sekuritas",
                        "Frequency": 145,
                        "IDBrokerSummary": 957288
                      },
                      {
                        "No": 3,
                        "Date": "2026-06-12T00:00:00",
                        "Value": 198130186500,
                        "IDFirm": "AG",
                        "Volume": 296854100,
                        "FirmName": "Kiwoom Sekuritas Indonesia",
                        "Frequency": 22106,
                        "IDBrokerSummary": 957289
                      }
                    ],
                    "start": 0,
                    "length": 3,
                    "dataset": "broker-summary",
                    "provider": "idx",
                    "recordsTotal": 88
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:idx/companies": {
      "get": {
        "operationId": "finance_idx_companies",
        "summary": "Emiten Tercatat",
        "description": "Profil perusahaan/emiten tercatat di BEI.",
        "tags": [
          "IDX (Bursa Efek Indonesia)"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/idx#reference-companies"
        },
        "parameters": [
          {
            "name": "length",
            "in": "query",
            "required": false,
            "description": "Jumlah emiten per halaman (default 20, max 1000)",
            "schema": {
              "type": "number",
              "example": "20"
            }
          },
          {
            "name": "start",
            "in": "query",
            "required": false,
            "description": "Offset (default 0)",
            "schema": {
              "type": "number",
              "example": "0"
            }
          },
          {
            "name": "code",
            "in": "query",
            "required": false,
            "description": "Filter kode emiten tertentu (opsional)",
            "schema": {
              "type": "string",
              "example": "BBCA"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "data": [
                      {
                        "id": 0,
                        "BAE": "PT. Datindo Entrycom",
                        "Fax": "(021) 2553 3066",
                        "Logo": "/Portals/0/StaticData/ListedCompanies/LogoEmiten/AADI.jpg",
                        "NPKP": "",
                        "NPWP": "02.433.115.9-091.000",
                        "Email": "corsec@adaroindonesia.com",
                        "Alamat": "Cyber 2 Tower Lantai 26\nJl. H.R. Rasuna Said Blok X-5, No.13\nJakarta 12950 - Indonesia",
                        "DataID": 0,
                        "Divisi": null,
                        "Sektor": "Energi",
                        "Status": 0,
                        "Telepon": "(021) 2553 3065",
                        "Website": "www.adaroindonesia.com",
                        "Industri": "Batu Bara",
                        "SubSektor": "Minyak, Gas &amp; Batu Bara",
                        "KodeDivisi": null,
                        "KodeEmiten": "AADI",
                        "NamaEmiten": "PT Adaro Andalan Indonesia Tbk",
                        "JenisEmiten": null,
                        "SubIndustri": "Produksi Batu Bara",
                        "EfekEmiten_EBA": false,
                        "EfekEmiten_ETF": false,
                        "EfekEmiten_SPEI": false,
                        "PapanPencatatan": "Utama",
                        "EfekEmiten_Saham": true,
                        "TanggalPencatatan": "2024-12-05T00:00:00",
                        "KegiatanUsahaUtama": "Perkebunan kelapa sawit, karet dan tanaman penghasil getah lain, perusahaan holding, dan konsultasi manajemen lainnya",
                        "EfekEmiten_Obligasi": false
                      },
                      {
                        "id": 0,
                        "BAE": "PT. Raya Saham Registra",
                        "Fax": "461-6655, 461-6677, 461-6688",
                        "Logo": "/Portals/0/StaticData/ListedCompanies/LogoEmiten/AALI.jpg",
                        "NPKP": "",
                        "NPWP": "001.334.427.0-054.000",
                        "Email": "Investor@astra-agro.co.id",
                        "Alamat": "Jl. Puloayang Raya Kawasan Industri Pulo Gadung, OR, 1, Jatinegara, Cakung, Kota ADM, Jakarta Timur, DKI Jakarta, 13930",
                        "DataID": 0,
                        "Divisi": null,
                        "Sektor": "Barang Konsumen Primer",
                        "Status": 0,
                        "Telepon": "461-65-55",
                        "Website": "http://www.astra-agro.co.id",
                        "Industri": "Produk Makanan Pertanian",
                        "SubSektor": "Makanan &amp; Minuman",
                        "KodeDivisi": null,
                        "KodeEmiten": "AALI",
                        "NamaEmiten": "Astra Agro Lestari Tbk",
                        "JenisEmiten": null,
                        "SubIndustri": "Perkebunan &amp; Tanaman Pangan",
                        "EfekEmiten_EBA": false,
                        "EfekEmiten_ETF": false,
                        "EfekEmiten_SPEI": false,
                        "PapanPencatatan": "Utama",
                        "EfekEmiten_Saham": true,
                        "TanggalPencatatan": "1997-12-09T00:00:00",
                        "KegiatanUsahaUtama": "Agriculture Plantation",
                        "EfekEmiten_Obligasi": false
                      }
                    ],
                    "start": 0,
                    "length": 2,
                    "dataset": "listed-companies",
                    "provider": "idx",
                    "recordsTotal": 958,
                    "recordsFiltered": 958
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:idx/securities": {
      "get": {
        "operationId": "finance_idx_securities",
        "summary": "Daftar Securities",
        "description": "Daftar saham tercatat: kode, nama, listing date, jumlah saham, papan.",
        "tags": [
          "IDX (Bursa Efek Indonesia)"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/idx#reference-securities"
        },
        "parameters": [
          {
            "name": "length",
            "in": "query",
            "required": false,
            "description": "Jumlah per halaman (default 20, max 1000)",
            "schema": {
              "type": "number",
              "example": "20"
            }
          },
          {
            "name": "start",
            "in": "query",
            "required": false,
            "description": "Offset (default 0)",
            "schema": {
              "type": "number",
              "example": "0"
            }
          },
          {
            "name": "code",
            "in": "query",
            "required": false,
            "description": "Filter kode saham (opsional)",
            "schema": {
              "type": "string",
              "example": "BBCA"
            }
          },
          {
            "name": "sector",
            "in": "query",
            "required": false,
            "description": "Filter sektor (opsional)",
            "schema": {
              "type": "string",
              "example": "Financials"
            }
          },
          {
            "name": "board",
            "in": "query",
            "required": false,
            "description": "Filter papan pencatatan: Utama/Pengembangan/Akselerasi/Ekonomi-Baru (opsional)",
            "schema": {
              "type": "string",
              "example": "Utama"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "data": [
                      {
                        "Code": "AALI",
                        "Name": "Astra Agro Lestari Tbk.",
                        "Shares": 1924688333,
                        "ListingDate": "1997-12-09T00:00:00",
                        "ListingBoard": "Utama"
                      },
                      {
                        "Code": "ABBA",
                        "Name": "Mahaka Media Tbk.",
                        "Shares": 3935892857,
                        "ListingDate": "2002-04-03T00:00:00",
                        "ListingBoard": "Pemantauan Khusus"
                      },
                      {
                        "Code": "ABDA",
                        "Name": "Asuransi Bina Dana Arta Tbk.",
                        "Shares": 620806680,
                        "ListingDate": "1989-07-06T00:00:00",
                        "ListingBoard": "Pengembangan"
                      }
                    ],
                    "start": 0,
                    "length": 3,
                    "dataset": "securities",
                    "provider": "idx",
                    "recordsTotal": 957,
                    "recordsFiltered": 957
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:idx/financial-report": {
      "get": {
        "operationId": "finance_idx_financial_report",
        "summary": "Laporan Keuangan",
        "description": "Laporan keuangan emiten per tahun/periode (link file).",
        "tags": [
          "IDX (Bursa Efek Indonesia)"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/idx#reference-financial-report"
        },
        "parameters": [
          {
            "name": "year",
            "in": "query",
            "required": true,
            "description": "Tahun laporan",
            "schema": {
              "type": "number",
              "example": "2024"
            }
          },
          {
            "name": "period",
            "in": "query",
            "required": false,
            "description": "Periode: tw1/tw2/tw3 (triwulan) atau audit (tahunan). Default audit",
            "schema": {
              "type": "string",
              "enum": [
                "tw1",
                "tw2",
                "tw3",
                "audit"
              ],
              "example": "audit"
            }
          },
          {
            "name": "code",
            "in": "query",
            "required": false,
            "description": "Filter kode emiten (opsional)",
            "schema": {
              "type": "string",
              "example": "BBCA"
            }
          },
          {
            "name": "length",
            "in": "query",
            "required": false,
            "description": "Jumlah baris (default 20)",
            "schema": {
              "type": "number",
              "example": "20"
            }
          },
          {
            "name": "start",
            "in": "query",
            "required": false,
            "description": "Offset (default 0)",
            "schema": {
              "type": "number",
              "example": "0"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "data": [
                      {
                        "KodeEmiten": "AADI",
                        "NamaEmiten": "PT Adaro Andalan Indonesia Tbk",
                        "Attachments": [
                          {
                            "File_ID": "edca4d28-7ff8-4c32-b18e-14141cb0dd59",
                            "File_Name": "AnnualReport2024-AADI.pdf",
                            "File_Path": "/Portals/0/StaticData/NewsAndAnnouncement/ANNOUNCEMENTSTOCK/From_EREP/202504/52ff57ad3c_f6912de316.pdf",
                            "File_Size": 0,
                            "File_Type": ".pdf",
                            "NamaEmiten": "PT Adaro Andalan Indonesia Tbk",
                            "Emiten_Code": "AADI",
                            "Report_Type": "rdf",
                            "Report_Year": "2024",
                            "File_Modified": "2025-03-04T18:44:28.883",
                            "Report_Period": "Audit"
                          },
                          {
                            "File_ID": "96655ee5-3cb9-4c0e-95d9-16db102cc978",
                            "File_Name": "FinancialStatement-2024-Tahunan-AADI.xlsx",
                            "File_Path": "/Portals/0/StaticData/ListedCompanies/Corporate_Actions/New_Info_JSX/Jenis_Informasi/01_Laporan_Keuangan/02_Soft_Copy_Laporan_Keuangan//Laporan Keuangan Tahun 2024/Audit/AADI/FinancialStatement-2024-Tahunan-AADI.xlsx",
                            "File_Size": 367860,
                            "File_Type": ".xlsx",
                            "NamaEmiten": "PT Adaro Andalan Indonesia Tbk",
                            "Emiten_Code": "AADI",
                            "Report_Type": "rdf",
                            "Report_Year": "2024",
                            "File_Modified": "2025-03-04T18:44:28.883",
                            "Report_Period": "Audit"
                          },
                          {
                            "File_ID": "0949d36e-9a7a-4add-8b07-2e2399aeac61",
                            "File_Name": "Checklist Pengungkapan LK 31 Desember 2024 AADI.pdf",
                            "File_Path": "/Portals/0/StaticData/ListedCompanies/Corporate_Actions/New_Info_JSX/Jenis_Informasi/01_Laporan_Keuangan/02_Soft_Copy_Laporan_Keuangan//Laporan Keuangan Tahun 2024/Audit/AADI/Checklist Pengungkapan LK 31 Desember 2024 AADI.pdf",
                            "File_Size": 704955,
                            "File_Type": ".pdf",
                            "NamaEmiten": "PT Adaro Andalan Indonesia Tbk",
                            "Emiten_Code": "AADI",
                            "Report_Type": "rdf",
                            "Report_Year": "2024",
                            "File_Modified": "2025-03-04T18:44:28.883",
                            "Report_Period": "Audit"
                          },
                          {
                            "File_ID": "bd296b95-7ee6-4846-b2c9-59a2ada5e06d",
                            "File_Name": "FS 31 December 2024 AADI.pdf",
                            "File_Path": "/Portals/0/StaticData/ListedCompanies/Corporate_Actions/New_Info_JSX/Jenis_Informasi/01_Laporan_Keuangan/02_Soft_Copy_Laporan_Keuangan//Laporan Keuangan Tahun 2024/Audit/AADI/FS 31 December 2024 AADI.pdf",
                            "File_Size": 5432342,
                            "File_Type": ".pdf",
                            "NamaEmiten": "PT Adaro Andalan Indonesia Tbk",
                            "Emiten_Code": "AADI",
                            "Report_Type": "rdf",
                            "Report_Year": "2024",
                            "File_Modified": "2025-03-04T18:44:28.883",
                            "Report_Period": "Audit"
                          },
                          {
                            "File_ID": "a97b2840-c80c-402b-99ee-6660a9922549",
                            "File_Name": "FinancialStatement-2024-Tahunan-AADI.pdf",
                            "File_Path": "/Portals/0/StaticData/ListedCompanies/Corporate_Actions/New_Info_JSX/Jenis_Informasi/01_Laporan_Keuangan/02_Soft_Copy_Laporan_Keuangan//Laporan Keuangan Tahun 2024/Audit/AADI/FinancialStatement-2024-Tahunan-AADI.pdf",
                            "File_Size": 891780,
                            "File_Type": ".pdf",
                            "NamaEmiten": "PT Adaro Andalan Indonesia Tbk",
                            "Emiten_Code": "AADI",
                            "Report_Type": "rdf",
                            "Report_Year": "2024",
                            "File_Modified": "2025-03-04T18:44:28.883",
                            "Report_Period": "Audit"
                          },
                          {
                            "File_ID": "2ac61344-c584-4dff-a805-a6fb291dc445",
                            "File_Name": "inlineXBRL.zip",
                            "File_Path": "/Portals/0/StaticData/ListedCompanies/Corporate_Actions/New_Info_JSX/Jenis_Informasi/01_Laporan_Keuangan/02_Soft_Copy_Laporan_Keuangan//Laporan Keuangan Tahun 2024/Audit/AADI/inlineXBRL.zip",
                            "File_Size": 273599,
                            "File_Type": ".zip",
                            "NamaEmiten": "PT Adaro Andalan Indonesia Tbk",
                            "Emiten_Code": "AADI",
                            "Report_Type": "rdf",
                            "Report_Year": "2024",
                            "File_Modified": "2025-03-04T18:44:28.883",
                            "Report_Period": "Audit"
                          },
                          {
                            "File_ID": "48834fc8-0ac3-4fda-933b-da8fa22f0a3e",
                            "File_Name": "AnnualReport2024-AADI-att1.pdf",
                            "File_Path": "/Portals/0/StaticData/NewsAndAnnouncement/ANNOUNCEMENTSTOCK/From_EREP/202504/dd68aa1634_ccc31cec64.pdf",
                            "File_Size": 0,
                            "File_Type": ".pdf",
                            "NamaEmiten": "PT Adaro Andalan Indonesia Tbk",
                            "Emiten_Code": "AADI",
                            "Report_Type": "rdf",
                            "Report_Year": "2024",
                            "File_Modified": "2025-03-04T18:44:28.883",
                            "Report_Period": "Audit"
                          },
                          {
                            "File_ID": "109b23cc-ef8c-438e-ad40-e4cd8aa8fdd9",
                            "File_Name": "instance.zip",
                            "File_Path": "/Portals/0/StaticData/ListedCompanies/Corporate_Actions/New_Info_JSX/Jenis_Informasi/01_Laporan_Keuangan/02_Soft_Copy_Laporan_Keuangan//Laporan Keuangan Tahun 2024/Audit/AADI/instance.zip",
                            "File_Size": 143996,
                            "File_Type": ".zip",
                            "NamaEmiten": "PT Adaro Andalan Indonesia Tbk",
                            "Emiten_Code": "AADI",
                            "Report_Type": "rdf",
                            "Report_Year": "2024",
                            "File_Modified": "2025-03-04T18:44:28.883",
                            "Report_Period": "Audit"
                          }
                        ],
                        "Report_Year": "2024",
                        "File_Modified": "2025-03-04T18:44:28.883",
                        "Report_Period": "Audit"
                      },
                      {
                        "KodeEmiten": "AALI",
                        "NamaEmiten": "Astra Agro Lestari Tbk",
                        "Attachments": [
                          {
                            "File_ID": "9d040440-11e2-44e2-a4b3-0afffce8a8b8",
                            "File_Name": "instance.zip",
                            "File_Path": "/Portals/0/StaticData/ListedCompanies/Corporate_Actions/New_Info_JSX/Jenis_Informasi/01_Laporan_Keuangan/02_Soft_Copy_Laporan_Keuangan//Laporan Keuangan Tahun 2024/Audit/AALI/instance.zip",
                            "File_Size": 124227,
                            "File_Type": ".zip",
                            "NamaEmiten": "Astra Agro Lestari Tbk",
                            "Emiten_Code": "AALI",
                            "Report_Type": "rdf",
                            "Report_Year": "2024",
                            "File_Modified": "2025-02-20T18:52:30.817",
                            "Report_Period": "Audit"
                          },
                          {
                            "File_ID": "babe240e-7b3a-48e2-a0ca-32f53516bc2e",
                            "File_Name": "AnnualReport2024-AALI-att1.pdf",
                            "File_Path": "/Portals/0/StaticData/NewsAndAnnouncement/ANNOUNCEMENTSTOCK/From_EREP/202503/dcb2b35d05_b2fb6becaa.pdf",
                            "File_Size": 0,
                            "File_Type": ".pdf",
                            "NamaEmiten": "Astra Agro Lestari Tbk",
                            "Emiten_Code": "AALI",
                            "Report_Type": "rdf",
                            "Report_Year": "2024",
                            "File_Modified": "2025-02-20T18:52:30.817",
                            "Report_Period": "Audit"
                          },
                          {
                            "File_ID": "c5873da8-a4f2-42b7-b065-5c013847bc9f",
                            "File_Name": "AALI Surat Pernyataan Direksi LK Tahunan 2024.pdf",
                            "File_Path": "/Portals/0/StaticData/ListedCompanies/Corporate_Actions/New_Info_JSX/Jenis_Informasi/01_Laporan_Keuangan/02_Soft_Copy_Laporan_Keuangan//Laporan Keuangan Tahun 2024/Audit/AALI/AALI Surat Pernyataan Direksi LK Tahunan 2024.pdf",
                            "File_Size": 387898,
                            "File_Type": ".pdf",
                            "NamaEmiten": "Astra Agro Lestari Tbk",
                            "Emiten_Code": "AALI",
                            "Report_Type": "rdf",
                            "Report_Year": "2024",
                            "File_Modified": "2025-02-20T18:52:30.817",
                            "Report_Period": "Audit"
                          },
                          {
                            "File_ID": "1c5cd578-a398-4d0c-85a1-7b6ca4987f8a",
                            "File_Name": "AALI LK Tahunan 2024.pdf",
                            "File_Path": "/Portals/0/StaticData/ListedCompanies/Corporate_Actions/New_Info_JSX/Jenis_Informasi/01_Laporan_Keuangan/02_Soft_Copy_Laporan_Keuangan//Laporan Keuangan Tahun 2024/Audit/AALI/AALI LK Tahunan 2024.pdf",
                            "File_Size": 3197496,
                            "File_Type": ".pdf",
                            "NamaEmiten": "Astra Agro Lestari Tbk",
                            "Emiten_Code": "AALI",
                            "Report_Type": "rdf",
                            "Report_Year": "2024",
                            "File_Modified": "2025-02-20T18:52:30.817",
                            "Report_Period": "Audit"
                          },
                          {
                            "File_ID": "c181691a-f95d-4433-91d5-84a3084be6e9",
                            "File_Name": "FinancialStatement-2024-Tahunan-AALI.pdf",
                            "File_Path": "/Portals/0/StaticData/ListedCompanies/Corporate_Actions/New_Info_JSX/Jenis_Informasi/01_Laporan_Keuangan/02_Soft_Copy_Laporan_Keuangan//Laporan Keuangan Tahun 2024/Audit/AALI/FinancialStatement-2024-Tahunan-AALI.pdf",
                            "File_Size": 800894,
                            "File_Type": ".pdf",
                            "NamaEmiten": "Astra Agro Lestari Tbk",
                            "Emiten_Code": "AALI",
                            "Report_Type": "rdf",
                            "Report_Year": "2024",
                            "File_Modified": "2025-02-20T18:52:30.817",
                            "Report_Period": "Audit"
                          },
                          {
                            "File_ID": "7892d4ec-62dc-45fc-8ba9-a76d117dfbaa",
                            "File_Name": "FinancialStatement-2024-Tahunan-AALI.xlsx",
                            "File_Path": "/Portals/0/StaticData/ListedCompanies/Corporate_Actions/New_Info_JSX/Jenis_Informasi/01_Laporan_Keuangan/02_Soft_Copy_Laporan_Keuangan//Laporan Keuangan Tahun 2024/Audit/AALI/FinancialStatement-2024-Tahunan-AALI.xlsx",
                            "File_Size": 317450,
                            "File_Type": ".xlsx",
                            "NamaEmiten": "Astra Agro Lestari Tbk",
                            "Emiten_Code": "AALI",
                            "Report_Type": "rdf",
                            "Report_Year": "2024",
                            "File_Modified": "2025-02-20T18:52:30.817",
                            "Report_Period": "Audit"
                          },
                          {
                            "File_ID": "9bcea6a0-5e5a-4147-abc2-acddc0b32df4",
                            "File_Name": "AALI Checklist Pengungkapan LK AALI 2024.pdf",
                            "File_Path": "/Portals/0/StaticData/ListedCompanies/Corporate_Actions/New_Info_JSX/Jenis_Informasi/01_Laporan_Keuangan/02_Soft_Copy_Laporan_Keuangan//Laporan Keuangan Tahun 2024/Audit/AALI/AALI Checklist Pengungkapan LK AALI 2024.pdf",
                            "File_Size": 969992,
                            "File_Type": ".pdf",
                            "NamaEmiten": "Astra Agro Lestari Tbk",
                            "Emiten_Code": "AALI",
                            "Report_Type": "rdf",
                            "Report_Year": "2024",
                            "File_Modified": "2025-02-20T18:52:30.817",
                            "Report_Period": "Audit"
                          },
                          {
                            "File_ID": "149f5493-e3d6-4fa5-9246-c3a20f005695",
                            "File_Name": "AnnualReport2024-AALI.pdf",
                            "File_Path": "/Portals/0/StaticData/NewsAndAnnouncement/ANNOUNCEMENTSTOCK/From_EREP/202503/7bf46a818f_3ba87d6580.pdf",
                            "File_Size": 0,
                            "File_Type": ".pdf",
                            "NamaEmiten": "Astra Agro Lestari Tbk",
                            "Emiten_Code": "AALI",
                            "Report_Type": "rdf",
                            "Report_Year": "2024",
                            "File_Modified": "2025-02-20T18:52:30.817",
                            "Report_Period": "Audit"
                          }
                        ],
                        "Report_Year": "2024",
                        "File_Modified": "2025-02-20T18:52:30.817",
                        "Report_Period": "Audit"
                      },
                      {
                        "KodeEmiten": "ABBA",
                        "NamaEmiten": "Mahaka Media Tbk",
                        "Attachments": [
                          {
                            "File_ID": "8283aeb0-8e02-4b1b-91b7-02257c5532bd",
                            "File_Name": "AnnualReport2024-ABBA.pdf",
                            "File_Path": "/Portals/0/StaticData/NewsAndAnnouncement/ANNOUNCEMENTSTOCK/From_EREP/202505/57d67f88ce_bf92dc00a5.pdf",
                            "File_Size": 0,
                            "File_Type": ".pdf",
                            "NamaEmiten": "Mahaka Media Tbk",
                            "Emiten_Code": "ABBA",
                            "Report_Type": "rdf",
                            "Report_Year": "2024",
                            "File_Modified": "2025-03-27T00:15:30.017",
                            "Report_Period": "Audit"
                          },
                          {
                            "File_ID": "fe5a1e16-22d1-4fe5-9176-1690139036e1",
                            "File_Name": "inlineXBRL.zip",
                            "File_Path": "/Portals/0/StaticData/ListedCompanies/Corporate_Actions/New_Info_JSX/Jenis_Informasi/01_Laporan_Keuangan/02_Soft_Copy_Laporan_Keuangan//Laporan Keuangan Tahun 2024/Audit/ABBA/inlineXBRL.zip",
                            "File_Size": 221844,
                            "File_Type": ".zip",
                            "NamaEmiten": "Mahaka Media Tbk",
                            "Emiten_Code": "ABBA",
                            "Report_Type": "rdf",
                            "Report_Year": "2024",
                            "File_Modified": "2025-03-27T00:15:30.017",
                            "Report_Period": "Audit"
                          },
                          {
                            "File_ID": "92511c9f-5772-4454-ac1e-19666e315b18",
                            "File_Name": "AnnualReport2024-ABBA-att1.pdf",
                            "File_Path": "/Portals/0/StaticData/NewsAndAnnouncement/ANNOUNCEMENTSTOCK/From_EREP/202505/8d0ec2f5d0_7ad9ace030.pdf",
                            "File_Size": 0,
                            "File_Type": ".pdf",
                            "NamaEmiten": "Mahaka Media Tbk",
                            "Emiten_Code": "ABBA",
                            "Report_Type": "rdf",
                            "Report_Year": "2024",
                            "File_Modified": "2025-03-27T00:15:30.017",
                            "Report_Period": "Audit"
                          },
                          {
                            "File_ID": "17f0c06e-5acc-4461-9cf5-22bbdb2433a9",
                            "File_Name": "instance.zip",
                            "File_Path": "/Portals/0/StaticData/ListedCompanies/Corporate_Actions/New_Info_JSX/Jenis_Informasi/01_Laporan_Keuangan/02_Soft_Copy_Laporan_Keuangan//Laporan Keuangan Tahun 2024/Audit/ABBA/instance.zip",
                            "File_Size": 111972,
                            "File_Type": ".zip",
                            "NamaEmiten": "Mahaka Media Tbk",
                            "Emiten_Code": "ABBA",
                            "Report_Type": "rdf",
                            "Report_Year": "2024",
                            "File_Modified": "2025-03-27T00:15:30.017",
                            "Report_Period": "Audit"
                          },
                          {
                            "File_ID": "0175e873-dc52-4d3b-9ed2-2cd12aef8044",
                            "File_Name": "FinancialStatement-2024-Tahunan-ABBA.xlsx",
                            "File_Path": "/Portals/0/StaticData/ListedCompanies/Corporate_Actions/New_Info_JSX/Jenis_Informasi/01_Laporan_Keuangan/02_Soft_Copy_Laporan_Keuangan//Laporan Keuangan Tahun 2024/Audit/ABBA/FinancialStatement-2024-Tahunan-ABBA.xlsx",
                            "File_Size": 307403,
                            "File_Type": ".xlsx",
                            "NamaEmiten": "Mahaka Media Tbk",
                            "Emiten_Code": "ABBA",
                            "Report_Type": "rdf",
                            "Report_Year": "2024",
                            "File_Modified": "2025-03-27T00:15:30.017",
                            "Report_Period": "Audit"
                          },
                          {
                            "File_ID": "154f052f-044c-45a7-ba1a-3a78baaf1e05",
                            "File_Name": "Surat_Pengantar LK ABBA.pdf",
                            "File_Path": "/Portals/0/StaticData/ListedCompanies/Corporate_Actions/New_Info_JSX/Jenis_Informasi/01_Laporan_Keuangan/02_Soft_Copy_Laporan_Keuangan//Laporan Keuangan Tahun 2024/Audit/ABBA/Surat_Pengantar LK ABBA.pdf",
                            "File_Size": 286181,
                            "File_Type": ".pdf",
                            "NamaEmiten": "Mahaka Media Tbk",
                            "Emiten_Code": "ABBA",
                            "Report_Type": "rdf",
                            "Report_Year": "2024",
                            "File_Modified": "2025-03-27T00:15:30.017",
                            "Report_Period": "Audit"
                          },
                          {
                            "File_ID": "51e228be-e2bd-41fb-baa4-a06fbb4d4738",
                            "File_Name": "Lapkeu ABBA 31 Des 24_IDX.pdf",
                            "File_Path": "/Portals/0/StaticData/ListedCompanies/Corporate_Actions/New_Info_JSX/Jenis_Informasi/01_Laporan_Keuangan/02_Soft_Copy_Laporan_Keuangan//Laporan Keuangan Tahun 2024/Audit/ABBA/Lapkeu ABBA 31 Des 24_IDX.pdf",
                            "File_Size": 8920519,
                            "File_Type": ".pdf",
                            "NamaEmiten": "Mahaka Media Tbk",
                            "Emiten_Code": "ABBA",
                            "Report_Type": "rdf",
                            "Report_Year": "2024",
                            "File_Modified": "2025-03-27T00:15:30.017",
                            "Report_Period": "Audit"
                          },
                          {
                            "File_ID": "22609fcf-2156-4996-ac00-ae881f0ac1a1",
                            "File_Name": "Surat Pernyataan Direksi PT ABBA.pdf",
                            "File_Path": "/Portals/0/StaticData/ListedCompanies/Corporate_Actions/New_Info_JSX/Jenis_Informasi/01_Laporan_Keuangan/02_Soft_Copy_Laporan_Keuangan//Laporan Keuangan Tahun 2024/Audit/ABBA/Surat Pernyataan Direksi PT ABBA.pdf",
                            "File_Size": 444924,
                            "File_Type": ".pdf",
                            "NamaEmiten": "Mahaka Media Tbk",
                            "Emiten_Code": "ABBA",
                            "Report_Type": "rdf",
                            "Report_Year": "2024",
                            "File_Modified": "2025-03-27T00:15:30.017",
                            "Report_Period": "Audit"
                          }
                        ],
                        "Report_Year": "2024",
                        "File_Modified": "2025-03-27T00:15:30.017",
                        "Report_Period": "Audit"
                      }
                    ],
                    "year": 2024,
                    "period": "audit",
                    "dataset": "financial-report",
                    "provider": "idx",
                    "recordsTotal": 936
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:idx/market-activity": {
      "get": {
        "operationId": "finance_idx_market_activity",
        "summary": "Aktivitas Pasar",
        "description": "Saham suspend, relisting, dan UMA (Unusual Market Activity).",
        "tags": [
          "IDX (Bursa Efek Indonesia)"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/idx#reference-market-activity"
        },
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "required": true,
            "description": "Jenis: suspend (saham disuspend), relisting, uma (Unusual Market Activity)",
            "schema": {
              "type": "string",
              "enum": [
                "suspend",
                "relisting",
                "uma"
              ],
              "example": "suspend"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "data": {
                      "Results": [
                        {
                          "Judul": "UMA atas Saham PT Solusi Environment Asia Tbk. (SOFA)",
                          "UMAID": null,
                          "Status": null,
                          "UMADate": "2026-06-11T00:00:00",
                          "CompanyID": "SOFA",
                          "Attachment": "/Portals/0/StaticData/NewsAndAnnouncement/UMA/2026/JUN/20260611-WAS_UMA_SOFA.pdf",
                          "CompanyName": null,
                          "AnnouncementNo": null
                        },
                        {
                          "Judul": "UMA atas Saham PT Sinarmas Multiartha Tbk. (SMMA)",
                          "UMAID": null,
                          "Status": null,
                          "UMADate": "2026-06-09T00:00:00",
                          "CompanyID": "SMMA",
                          "Attachment": "/Portals/0/StaticData/NewsAndAnnouncement/UMA/2026/JUN/20260609-WAS_UMA_SMMA.pdf",
                          "CompanyName": null,
                          "AnnouncementNo": null
                        },
                        {
                          "Judul": "UMA atas Saham PT Sentul City Tbk. (BKSL)",
                          "UMAID": null,
                          "Status": null,
                          "UMADate": "2026-06-08T00:00:00",
                          "CompanyID": "BKSL",
                          "Attachment": "/Portals/0/StaticData/NewsAndAnnouncement/UMA/2026/JUN/20260608-WAS_UMA_BKSL.pdf",
                          "CompanyName": null,
                          "AnnouncementNo": null
                        },
                        {
                          "Judul": "UMA atas Saham PT Techno9 Indonesia Tbk. (NINE)",
                          "UMAID": null,
                          "Status": null,
                          "UMADate": "2026-06-08T00:00:00",
                          "CompanyID": "NINE",
                          "Attachment": "/Portals/0/StaticData/NewsAndAnnouncement/UMA/2026/JUN/20260608-WAS_UMA_NINE.pdf",
                          "CompanyName": null,
                          "AnnouncementNo": null
                        },
                        {
                          "Judul": "UMA atas Saham PT Kedoya Adyaraya Tbk. (RSGK)",
                          "UMAID": null,
                          "Status": null,
                          "UMADate": "2026-06-08T00:00:00",
                          "CompanyID": "RSGK",
                          "Attachment": "/Portals/0/StaticData/NewsAndAnnouncement/UMA/2026/JUN/20260608-WAS_UMA_RSGK.pdf",
                          "CompanyName": null,
                          "AnnouncementNo": null
                        },
                        {
                          "Judul": "UMA atas Saham PT First Media Tbk. (KBLV)",
                          "UMAID": null,
                          "Status": null,
                          "UMADate": "2026-06-08T00:00:00",
                          "CompanyID": "KBLV",
                          "Attachment": "/Portals/0/StaticData/NewsAndAnnouncement/UMA/2026/JUN/20260608-WAS_UMA_KBLV.pdf",
                          "CompanyName": null,
                          "AnnouncementNo": null
                        },
                        {
                          "Judul": "UMA atas Saham PT RMK Energy Tbk. (RMKE)",
                          "UMAID": null,
                          "Status": null,
                          "UMADate": "2026-06-08T00:00:00",
                          "CompanyID": "RMKE",
                          "Attachment": "/Portals/0/StaticData/NewsAndAnnouncement/UMA/2026/JUN/20260608-WAS_UMA_RMKE.pdf",
                          "CompanyName": null,
                          "AnnouncementNo": null
                        }
                      ],
                      "ResultCount": 0,
                      "SearchCriteria": {
                        "DateTo": null,
                        "Keyword": "not used",
                        "DateFrom": null,
                        "pagesize": 10,
                        "indexfrom": 0
                      }
                    },
                    "type": "uma",
                    "dataset": "market-activity",
                    "provider": "idx"
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:idx/news": {
      "get": {
        "operationId": "finance_idx_news",
        "summary": "Berita & Pengumuman",
        "description": "Berita dan pengumuman bursa, bisa dicari per kata kunci.",
        "tags": [
          "IDX (Bursa Efek Indonesia)"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/idx#reference-news"
        },
        "parameters": [
          {
            "name": "keyword",
            "in": "query",
            "required": false,
            "description": "Kata kunci pencarian (opsional)",
            "schema": {
              "type": "string",
              "example": "dividen"
            }
          },
          {
            "name": "length",
            "in": "query",
            "required": false,
            "description": "Jumlah berita (default 10)",
            "schema": {
              "type": "number",
              "example": "10"
            }
          },
          {
            "name": "start",
            "in": "query",
            "required": false,
            "description": "Offset (default 0)",
            "schema": {
              "type": "number",
              "example": "0"
            }
          },
          {
            "name": "dateFrom",
            "in": "query",
            "required": false,
            "description": "Tanggal mulai filter (YYYYMMDD atau YYYY-MM-DD, opsional)",
            "schema": {
              "type": "string",
              "example": "20260101"
            }
          },
          {
            "name": "dateTo",
            "in": "query",
            "required": false,
            "description": "Tanggal akhir filter (YYYYMMDD atau YYYY-MM-DD, opsional)",
            "schema": {
              "type": "string",
              "example": "20260613"
            }
          },
          {
            "name": "locale",
            "in": "query",
            "required": false,
            "description": "Bahasa (id/en, default id)",
            "schema": {
              "type": "string",
              "enum": [
                "id",
                "en"
              ],
              "example": "id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "data": [
                      {
                        "Id": 11692,
                        "Tags": "RUPST",
                        "Links": [
                          {
                            "Rel": "self",
                            "Href": "/api/api/publication/news/11692",
                            "Method": "GET"
                          }
                        ],
                        "Title": "Panggilan Rapat Umum Pemegang Saham Tahunan PT Bursa Efek Indonesia Tahun 2026",
                        "ItemId": "2fb61ad4-2b66-f111-b149-dacbee12ffcb",
                        "Locale": "id-id",
                        "Summary": "Panggilan Rapat Umum Pemegang Saham Tahunan PT Bursa Efek Indonesia Tahun 2026",
                        "ImageUrl": "/media/1557/logo-bursa-efek-indonesia-final.jpg",
                        "PathBase": null,
                        "PathFile": null,
                        "IsHeadline": true,
                        "PublishedDate": "2026-06-12T08:00:00"
                      },
                      {
                        "Id": 11694,
                        "Tags": "Go Public,Workshop",
                        "Links": [
                          {
                            "Rel": "self",
                            "Href": "/api/api/publication/news/11694",
                            "Method": "GET"
                          }
                        ],
                        "Title": "Go Public Workshop  “Go Public Sebagai Solusi Pendanaan di Tengah Tantangan Ekonomi Daerah” Kota Jayapura",
                        "ItemId": "b1c02193-3766-f111-b149-dacbee12ffcb",
                        "Locale": "id-id",
                        "Summary": "Go Public Workshop  “Go Public Sebagai Solusi Pendanaan di Tengah Tantangan Ekonomi Daerah” Kota Jayapura",
                        "ImageUrl": "/media/bmwgnbax/gpw-jayapura.jpg",
                        "PathBase": null,
                        "PathFile": null,
                        "IsHeadline": true,
                        "PublishedDate": "2026-06-02T12:00:00"
                      },
                      {
                        "Id": 11695,
                        "Tags": "Go Public,Workshop",
                        "Links": [
                          {
                            "Rel": "self",
                            "Href": "/api/api/publication/news/11695",
                            "Method": "GET"
                          }
                        ],
                        "Title": "Go Public Workshop  “Go Public Sebagai Solusi Pendanaan di Tengah Tantangan Ekonomi Daerah” Kota Jayapura",
                        "ItemId": "b1c02193-3766-f111-b149-dacbee12ffcb",
                        "Locale": "en-us",
                        "Summary": "Go Public Workshop  “Go Public Sebagai Solusi Pendanaan di Tengah Tantangan Ekonomi Daerah” Kota Jayapura",
                        "ImageUrl": "/media/bmwgnbax/gpw-jayapura.jpg",
                        "PathBase": null,
                        "PathFile": null,
                        "IsHeadline": true,
                        "PublishedDate": "2026-06-02T12:00:00"
                      }
                    ],
                    "dataset": "news",
                    "keyword": "saham",
                    "provider": "idx"
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:idx/sitemap": {
      "get": {
        "operationId": "finance_idx_sitemap",
        "summary": "Index Halaman",
        "description": "Index semua halaman publik idx.co.id (464 URL), terkategorikan per section.",
        "tags": [
          "IDX (Bursa Efek Indonesia)"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/idx#reference-sitemap"
        },
        "parameters": [
          {
            "name": "locale",
            "in": "query",
            "required": false,
            "description": "Filter bahasa URL: id, en, atau all (default id)",
            "schema": {
              "type": "string",
              "enum": [
                "id",
                "en",
                "all"
              ],
              "example": "id"
            }
          },
          {
            "name": "section",
            "in": "query",
            "required": false,
            "description": "Filter section tertentu (mis. data-pasar, perusahaan-tercatat, berita)",
            "schema": {
              "type": "string",
              "example": "data-pasar"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "note": "Menampilkan 7 URL di section \"idx-syariah\".",
                    "urls": [
                      "https://www.idx.co.id/id/idx-syariah/edukasi-pasar-modal-syariah",
                      "https://www.idx.co.id/id/idx-syariah/fatwa-regulasi",
                      "https://www.idx.co.id/id/idx-syariah/hubungi-kami",
                      "https://www.idx.co.id/id/idx-syariah/indeks-saham-syariah",
                      "https://www.idx.co.id/id/idx-syariah/pertanyaan-dan-jawaban",
                      "https://www.idx.co.id/id/idx-syariah/produk-syariah",
                      "https://www.idx.co.id/id/idx-syariah/transaksi-sesuai-syariah"
                    ],
                    "locale": "id",
                    "dataset": "sitemap",
                    "provider": "idx",
                    "totalUrls": 232,
                    "sectionCounts": {
                      "faq": 1,
                      "akun": 5,
                      "masuk": 2,
                      "berita": 11,
                      "daftar": 1,
                      "https:": 1,
                      "produk": 13,
                      "sitemap": 1,
                      "sign-out": 1,
                      "investhub": 13,
                      "peraturan": 7,
                      "data-pasar": 113,
                      "notifikasi": 1,
                      "idx-syariah": 7,
                      "market-data": 17,
                      "tentang-bei": 14,
                      "lupa-password": 1,
                      "daftar-istilah": 1,
                      "hasil-pencarian": 1,
                      "verifikasi-email": 1,
                      "form-atur-password": 1,
                      "perusahaan-tercatat": 13,
                      "verifikasi-email-sukses": 1,
                      "anggota-bursa-dan-partisipan": 5
                    }
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:idx/raw": {
      "get": {
        "operationId": "finance_idx_raw",
        "summary": "Raw Passthrough",
        "description": "Akses endpoint data IDX /primary/... apa pun sebagai JSON (fleksibel, ratusan endpoint).",
        "tags": [
          "IDX (Bursa Efek Indonesia)"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/idx#reference-raw"
        },
        "parameters": [
          {
            "name": "path",
            "in": "query",
            "required": true,
            "description": "Path endpoint IDX setelah /primary/ (format Modul/GetXxx). Modul valid: TradingSummary, ListedCompany, StockData, Home, NewsAnnouncement, Bond, dll.",
            "schema": {
              "type": "string",
              "example": "TradingSummary/GetStockSummary"
            }
          },
          {
            "name": "query",
            "in": "query",
            "required": false,
            "description": "Query string mentah yang ditempel ke endpoint (opsional). Contoh: length=20&start=0&kodeEmiten=BBCA",
            "schema": {
              "type": "string",
              "example": "length=10&start=0"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "data": [
                      {
                        "No": 1,
                        "Bid": 8625,
                        "Low": 8050,
                        "Date": "2026-06-12T00:00:00",
                        "High": 8850,
                        "Close": 8650,
                        "Offer": 8650,
                        "Value": 182271837500,
                        "Change": 600,
                        "Volume": 21262200,
                        "persen": null,
                        "Remarks": "XDMO1SD0F10000A121------------",
                        "Previous": 8050,
                        "BidVolume": 29200,
                        "Frequency": 9962,
                        "OpenPrice": 8100,
                        "StockCode": "AADI",
                        "StockName": "Adaro Andalan Indonesia Tbk.",
                        "FirstTrade": 8075,
                        "ForeignBuy": 5896500,
                        "percentage": null,
                        "ForeignSell": 9874800,
                        "OfferVolume": 67500,
                        "ListedShares": 7786891760,
                        "DelistingDate": "",
                        "IDStockSummary": 4031673,
                        "TradebleShares": 7786891760,
                        "WeightForIndex": 1486517637,
                        "IndexIndividual": 155.9,
                        "NonRegularValue": 5466551,
                        "NonRegularVolume": 659,
                        "NonRegularFrequency": 16
                      },
                      {
                        "No": 2,
                        "Bid": 6175,
                        "Low": 6025,
                        "Date": "2026-06-12T00:00:00",
                        "High": 6325,
                        "Close": 6175,
                        "Offer": 6225,
                        "Value": 18983070000,
                        "Change": 125,
                        "Volume": 3068700,
                        "persen": null,
                        "Remarks": "--MO113E100000D232------------",
                        "Previous": 6050,
                        "BidVolume": 51900,
                        "Frequency": 3424,
                        "OpenPrice": 6075,
                        "StockCode": "AALI",
                        "StockName": "Astra Agro Lestari Tbk.",
                        "FirstTrade": 6050,
                        "ForeignBuy": 1104500,
                        "percentage": null,
                        "ForeignSell": 1285200,
                        "OfferVolume": 3000,
                        "ListedShares": 1924688333,
                        "DelistingDate": "",
                        "IDStockSummary": 4031674,
                        "TradebleShares": 1924688333,
                        "WeightForIndex": 390711732,
                        "IndexIndividual": 501.6,
                        "NonRegularValue": 0,
                        "NonRegularVolume": 0,
                        "NonRegularFrequency": 0
                      },
                      {
                        "No": 3,
                        "Bid": 35,
                        "Low": 35,
                        "Date": "2026-06-12T00:00:00",
                        "High": 35,
                        "Close": 35,
                        "Offer": 36,
                        "Value": 10220000,
                        "Change": 0,
                        "Volume": 292000,
                        "persen": null,
                        "Remarks": "--U-4100000000E614-E---------X",
                        "Previous": 35,
                        "BidVolume": 8000,
                        "Frequency": 59,
                        "OpenPrice": 0,
                        "StockCode": "ABBA",
                        "StockName": "Mahaka Media Tbk.",
                        "FirstTrade": 0,
                        "ForeignBuy": 0,
                        "percentage": null,
                        "ForeignSell": 0,
                        "OfferVolume": 1020800,
                        "ListedShares": 3935892857,
                        "DelistingDate": "",
                        "IDStockSummary": 4031675,
                        "TradebleShares": 3935892857,
                        "WeightForIndex": 1298844643,
                        "IndexIndividual": 77.3,
                        "NonRegularValue": 0,
                        "NonRegularVolume": 0,
                        "NonRegularFrequency": 0
                      },
                      {
                        "No": 4,
                        "Bid": 3220,
                        "Low": 3100,
                        "Date": "2026-06-12T00:00:00",
                        "High": 3430,
                        "Close": 3390,
                        "Offer": 3390,
                        "Value": 33689000,
                        "Change": 60,
                        "Volume": 10200,
                        "persen": null,
                        "Remarks": "--UO2105000000G412------------",
                        "Previous": 3330,
                        "BidVolume": 100,
                        "Frequency": 35,
                        "OpenPrice": 3430,
                        "StockCode": "ABDA",
                        "StockName": "Asuransi Bina Dana Arta Tbk.",
                        "FirstTrade": 3340,
                        "ForeignBuy": 0,
                        "percentage": null,
                        "ForeignSell": 0,
                        "OfferVolume": 8600,
                        "ListedShares": 620806680,
                        "DelistingDate": "",
                        "IDStockSummary": 4031676,
                        "TradebleShares": 620806680,
                        "WeightForIndex": 81325675,
                        "IndexIndividual": 773.9,
                        "NonRegularValue": 0,
                        "NonRegularVolume": 0,
                        "NonRegularFrequency": 0
                      },
                      {
                        "No": 5,
                        "Bid": 2400,
                        "Low": 2300,
                        "Date": "2026-06-12T00:00:00",
                        "High": 2440,
                        "Close": 2420,
                        "Offer": 2420,
                        "Value": 1755194000,
                        "Change": 120,
                        "Volume": 739300,
                        "persen": null,
                        "Remarks": "--MO1135000000A121------------",
                        "Previous": 2300,
                        "BidVolume": 33500,
                        "Frequency": 486,
                        "OpenPrice": 2300,
                        "StockCode": "ABMM",
                        "StockName": "ABM Investama Tbk.",
                        "FirstTrade": 2350,
                        "ForeignBuy": 135000,
                        "percentage": null,
                        "ForeignSell": 89800,
                        "OfferVolume": 20700,
                        "ListedShares": 2753165000,
                        "DelistingDate": "",
                        "IDStockSummary": 4031677,
                        "TradebleShares": 2753165000,
                        "WeightForIndex": 413800700,
                        "IndexIndividual": 64.5,
                        "NonRegularValue": 0,
                        "NonRegularVolume": 0,
                        "NonRegularFrequency": 0
                      },
                      {
                        "No": 6,
                        "Bid": 356,
                        "Low": 352,
                        "Date": "2026-06-12T00:00:00",
                        "High": 360,
                        "Close": 356,
                        "Offer": 358,
                        "Value": 11953271200,
                        "Change": 4,
                        "Volume": 33615200,
                        "persen": null,
                        "Remarks": "CDMO1835UK6000E743------------",
                        "Previous": 352,
                        "BidVolume": 1716000,
                        "Frequency": 3109,
                        "OpenPrice": 356,
                        "StockCode": "ACES",
                        "StockName": "Aspirasi Hidup Indonesia Tbk.",
                        "FirstTrade": 356,
                        "ForeignBuy": 3864700,
                        "percentage": null,
                        "ForeignSell": 7173800,
                        "OfferVolume": 446300,
                        "ListedShares": 17120389700,
                        "DelistingDate": "",
                        "IDStockSummary": 4031678,
                        "TradebleShares": 17120389700,
                        "WeightForIndex": 6846443841,
                        "IndexIndividual": 434.1,
                        "NonRegularValue": 0,
                        "NonRegularVolume": 0,
                        "NonRegularFrequency": 0
                      },
                      {
                        "No": 7,
                        "Bid": 61,
                        "Low": 60,
                        "Date": "2026-06-12T00:00:00",
                        "High": 65,
                        "Close": 61,
                        "Offer": 62,
                        "Value": 245539000,
                        "Change": 1,
                        "Volume": 3937300,
                        "persen": null,
                        "Remarks": "--UO2100000000E413------------",
                        "Previous": 60,
                        "BidVolume": 574400,
                        "Frequency": 489,
                        "OpenPrice": 60,
                        "StockCode": "ACRO",
                        "StockName": "Samcro Hyosung Adilestari Tbk.",
                        "FirstTrade": 60,
                        "ForeignBuy": 144900,
                        "percentage": null,
                        "ForeignSell": 84100,
                        "OfferVolume": 500,
                        "ListedShares": 3469345537,
                        "DelistingDate": "",
                        "IDStockSummary": 4031679,
                        "TradebleShares": 749273042,
                        "WeightForIndex": 729950301,
                        "IndexIndividual": 56.5,
                        "NonRegularValue": 0,
                        "NonRegularVolume": 0,
                        "NonRegularFrequency": 0
                      },
                      {
                        "No": 8,
                        "Bid": 71,
                        "Low": 70,
                        "Date": "2026-06-12T00:00:00",
                        "High": 71,
                        "Close": 71,
                        "Offer": 72,
                        "Value": 12333000,
                        "Change": 1,
                        "Volume": 173800,
                        "persen": null,
                        "Remarks": "--U-4105000000J211-E---------X",
                        "Previous": 70,
                        "BidVolume": 178500,
                        "Frequency": 56,
                        "OpenPrice": 0,
                        "StockCode": "ACST",
                        "StockName": "Acset Indonusa Tbk.",
                        "FirstTrade": 0,
                        "ForeignBuy": 0,
                        "percentage": null,
                        "ForeignSell": 0,
                        "OfferVolume": 20600,
                        "ListedShares": 17675160000,
                        "DelistingDate": "",
                        "IDStockSummary": 4031680,
                        "TradebleShares": 17675160000,
                        "WeightForIndex": 1560716628,
                        "IndexIndividual": 5.2,
                        "NonRegularValue": 0,
                        "NonRegularVolume": 0,
                        "NonRegularFrequency": 0
                      }
                    ],
                    "path": "TradingSummary/GetStockSummary",
                    "provider": "idx",
                    "recordsTotal": 959,
                    "recordsFiltered": 959
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:idx/announcements": {
      "get": {
        "operationId": "finance_idx_announcements",
        "summary": "Announcements",
        "description": "Keterbukaan informasi seluruh emiten, terbaru dulu. Berbasis halaman: pakai `page`, bukan offset.",
        "tags": [
          "IDX (Bursa Efek Indonesia)"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/idx#reference-announcements"
        },
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "description": "Halaman ke berapa (default 1). Upstream berbasis halaman, bukan offset",
            "schema": {
              "type": "number",
              "example": "1"
            }
          },
          {
            "name": "length",
            "in": "query",
            "required": false,
            "description": "Jumlah pengumuman per halaman (default 20, maks 100)",
            "schema": {
              "type": "number",
              "example": "20"
            }
          },
          {
            "name": "locale",
            "in": "query",
            "required": false,
            "description": "Bahasa pengumuman (default id)",
            "schema": {
              "type": "string",
              "enum": [
                "id",
                "en"
              ],
              "example": "id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "data": [
                      {
                        "id": "20260802163712-045a/DIR/SP-MGU/VII/2026_id-id",
                        "code": "FOLK",
                        "type": "STOCK",
                        "title": "Penyampaian Bukti Iklan Informasi Laporan Keuangan Interim",
                        "attachments": [
                          {
                            "url": "https://www.idx.co.id/StaticData/NewsAndAnnouncement/ANNOUNCEMENTSTOCK/From_EREP/202608/f0a450fdce_6f5321d463.pdf",
                            "fileName": "f0a450fdce_6f5321d463.pdf"
                          },
                          {
                            "url": "https://www.idx.co.id/StaticData/NewsAndAnnouncement/ANNOUNCEMENTSTOCK/From_EREP/202608/2e469f5e3d_cd42b96455.pdf",
                            "fileName": "2e469f5e3d_cd42b96455.pdf"
                          }
                        ],
                        "publishedAt": "2026-08-02T16:37:12",
                        "announcementNo": "045a/DIR/SP-MGU/VII/2026"
                      },
                      {
                        "id": "20260802072958-053/SLIS/VIII/2026_id-id",
                        "code": "SLIS",
                        "type": "STOCK",
                        "title": "Penyampaian Bukti Iklan Informasi Laporan Keuangan Interim",
                        "attachments": [
                          {
                            "url": "https://www.idx.co.id/StaticData/NewsAndAnnouncement/ANNOUNCEMENTSTOCK/From_EREP/202608/977e0ae856_8adcd7e223.pdf",
                            "fileName": "977e0ae856_8adcd7e223.pdf"
                          },
                          {
                            "url": "https://www.idx.co.id/StaticData/NewsAndAnnouncement/ANNOUNCEMENTSTOCK/From_EREP/202608/eac4821036_79437e2dc4.pdf",
                            "fileName": "eac4821036_79437e2dc4.pdf"
                          }
                        ],
                        "publishedAt": "2026-08-02T07:29:58",
                        "announcementNo": "053/SLIS/VIII/2026"
                      },
                      {
                        "id": "20260802025556-18/SAVITRA/VII/2026_id-id",
                        "code": "VISI",
                        "type": "STOCK",
                        "title": "Penyampaian Laporan Keuangan Interim Yang Tidak Diaudit",
                        "attachments": [
                          {
                            "url": "https://www.idx.co.id/StaticData/NewsAndAnnouncement/ANNOUNCEMENTSTOCK/From_EREP/202608/20260802030815-64113-0/FinancialStatement-2026-II-VISI.pdf",
                            "fileName": "FinancialStatement-2026-II-VISI.pdf"
                          },
                          {
                            "url": "https://www.idx.co.id/StaticData/NewsAndAnnouncement/ANNOUNCEMENTSTOCK/From_EREP/202608/20260802030815-64113-0/2026TW2 VISI Laporan Keuangan.pdf",
                            "fileName": "2026TW2 VISI Laporan Keuangan.pdf"
                          },
                          {
                            "url": "https://www.idx.co.id/StaticData/NewsAndAnnouncement/ANNOUNCEMENTSTOCK/From_EREP/202608/20260802030815-64113-0/FinancialStatement-2026-II-VISI.xlsx",
                            "fileName": "FinancialStatement-2026-II-VISI.xlsx"
                          },
                          {
                            "url": "https://www.idx.co.id/StaticData/NewsAndAnnouncement/ANNOUNCEMENTSTOCK/From_EREP/202608/20260802030815-64113-0/I 1 Laporan Penilaian atas Properti VISI.pdf",
                            "fileName": "I 1 Laporan Penilaian atas Properti VISI.pdf"
                          },
                          {
                            "url": "https://www.idx.co.id/StaticData/NewsAndAnnouncement/ANNOUNCEMENTSTOCK/From_EREP/202608/20260802030815-64113-0/I.2. Laporan Pendapat Kewajaran Short Form_FO VISI.pdf",
                            "fileName": "I.2. Laporan Pendapat Kewajaran Short Form_FO VISI.pdf"
                          }
                        ],
                        "publishedAt": "2026-08-02T02:55:56",
                        "announcementNo": "18/SAVITRA/VII/2026"
                      },
                      {
                        "id": "20260802015716-JGI-_id-id",
                        "code": "KAQI",
                        "type": "STOCK",
                        "title": "Penyampaian Laporan Keuangan Interim Yang Tidak Diaudit",
                        "attachments": [
                          {
                            "url": "https://www.idx.co.id/StaticData/NewsAndAnnouncement/ANNOUNCEMENTSTOCK/From_EREP/202608/20260802021030-63811-0/FinancialStatement-2026-II-KAQI.pdf",
                            "fileName": "FinancialStatement-2026-II-KAQI.pdf"
                          },
                          {
                            "url": "https://www.idx.co.id/StaticData/NewsAndAnnouncement/ANNOUNCEMENTSTOCK/From_EREP/202608/20260802021030-63811-0/FinancialStatement-2026-II-KAQI.xlsx",
                            "fileName": "FinancialStatement-2026-II-KAQI.xlsx"
                          },
                          {
                            "url": "https://www.idx.co.id/StaticData/NewsAndAnnouncement/ANNOUNCEMENTSTOCK/From_EREP/202608/20260802021030-63811-0/inlineXBRL.zip",
                            "fileName": "inlineXBRL.zip"
                          },
                          {
                            "url": "https://www.idx.co.id/StaticData/NewsAndAnnouncement/ANNOUNCEMENTSTOCK/From_EREP/202608/20260802021030-63811-0/instance.zip",
                            "fileName": "instance.zip"
                          },
                          {
                            "url": "https://www.idx.co.id/StaticData/NewsAndAnnouncement/ANNOUNCEMENTSTOCK/From_EREP/202608/20260802021030-63811-0/LK Triwulan 2 2026 - KAQI.pdf",
                            "fileName": "LK Triwulan 2 2026 - KAQI.pdf"
                          }
                        ],
                        "publishedAt": "2026-08-02T01:57:16",
                        "announcementNo": "JGI-"
                      },
                      {
                        "id": "20260801160933-296/CORSEC-MPR/VIII/2026_id-id",
                        "code": "MANG",
                        "type": "STOCK",
                        "title": "Penyampaian Bukti Iklan Informasi Laporan Keuangan Interim",
                        "attachments": [
                          {
                            "url": "https://www.idx.co.id/StaticData/NewsAndAnnouncement/ANNOUNCEMENTSTOCK/From_EREP/202608/0791062731_4460c064b2.pdf",
                            "fileName": "0791062731_4460c064b2.pdf"
                          },
                          {
                            "url": "https://www.idx.co.id/StaticData/NewsAndAnnouncement/ANNOUNCEMENTSTOCK/From_EREP/202608/31cce1a139_9bfa0daec2.pdf",
                            "fileName": "31cce1a139_9bfa0daec2.pdf"
                          }
                        ],
                        "publishedAt": "2026-08-01T16:09:33",
                        "announcementNo": "296/CORSEC-MPR/VIII/2026"
                      }
                    ],
                    "page": 1,
                    "total": 249151,
                    "length": 5,
                    "locale": "id",
                    "dataset": "announcements",
                    "provider": "idx"
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:idx/company-announcements": {
      "get": {
        "operationId": "finance_idx_company_announcements",
        "summary": "Company Announcements",
        "description": "Keterbukaan informasi satu emiten — riwayat aksi korporasi per kode saham, lengkap dengan lampiran PDF.",
        "tags": [
          "IDX (Bursa Efek Indonesia)"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/idx#reference-company-announcements"
        },
        "parameters": [
          {
            "name": "code",
            "in": "query",
            "required": true,
            "description": "Kode emiten, 4 huruf",
            "schema": {
              "type": "string",
              "example": "BBCA"
            }
          },
          {
            "name": "length",
            "in": "query",
            "required": false,
            "description": "Jumlah pengumuman (default 20, maks 100)",
            "schema": {
              "type": "number",
              "example": "20"
            }
          },
          {
            "name": "start",
            "in": "query",
            "required": false,
            "description": "Offset baris (default 0)",
            "schema": {
              "type": "number",
              "example": "0"
            }
          },
          {
            "name": "locale",
            "in": "query",
            "required": false,
            "description": "Bahasa pengumuman (default id)",
            "schema": {
              "type": "string",
              "enum": [
                "id",
                "en"
              ],
              "example": "id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "code": "BBCA",
                    "data": [
                      {
                        "id": "20260731175614-0069/CVG/2026_id-id",
                        "code": "BBCA",
                        "type": "STOCK",
                        "title": "Perubahan dalam pengendalian baik langsung maupun tidak langsung terhadap Emiten atau Perusahaan Publik",
                        "formId": "11000",
                        "subject": "Perubahan dalam pengendalian b",
                        "createdAt": "2026-07-31T18:30:02",
                        "attachments": [
                          {
                            "url": "https://www.idx.co.id/StaticData/NewsAndAnnouncement/ANNOUNCEMENTSTOCK/From_EREP/202607/59c9d62180_96a02df66f.pdf",
                            "fileName": "59c9d62180_96a02df66f.pdf"
                          },
                          {
                            "url": "https://www.idx.co.id/StaticData/NewsAndAnnouncement/ANNOUNCEMENTSTOCK/From_EREP/202607/0b9ec31383_5b374efdf5.pdf",
                            "fileName": "0b9ec31383_5b374efdf5.pdf"
                          },
                          {
                            "url": "https://www.idx.co.id/StaticData/NewsAndAnnouncement/ANNOUNCEMENTSTOCK/From_EREP/202607/db24579a40_b573109a83.pdf",
                            "fileName": "db24579a40_b573109a83.pdf"
                          }
                        ],
                        "publishedAt": "2026-07-31T17:56:14",
                        "announcementNo": "0069/CVG/2026"
                      },
                      {
                        "id": "20260728181934-0064/ESG/2026_id-id",
                        "code": "BBCA",
                        "type": "STOCK",
                        "title": "Penyampaian Press Release terkait Informasi Ringkasan Kinerja Keuangan Kuartal II Tahun 2026 (unaudited) PT Bank Central Asia Tbk (\"Perseroan\")",
                        "formId": "11000",
                        "subject": "Penyampaian Press Release terk",
                        "createdAt": "2026-07-28T18:30:02",
                        "attachments": [
                          {
                            "url": "https://www.idx.co.id/StaticData/NewsAndAnnouncement/ANNOUNCEMENTSTOCK/From_EREP/202607/9956e3a8ee_1a56c5de11.pdf",
                            "fileName": "9956e3a8ee_1a56c5de11.pdf"
                          },
                          {
                            "url": "https://www.idx.co.id/StaticData/NewsAndAnnouncement/ANNOUNCEMENTSTOCK/From_EREP/202607/7ce136cfc4_ec3dd6d7b3.pdf",
                            "fileName": "7ce136cfc4_ec3dd6d7b3.pdf"
                          },
                          {
                            "url": "https://www.idx.co.id/StaticData/NewsAndAnnouncement/ANNOUNCEMENTSTOCK/From_EREP/202607/baeecd07ff_9a67b3ef57.pdf",
                            "fileName": "baeecd07ff_9a67b3ef57.pdf"
                          }
                        ],
                        "publishedAt": "2026-07-28T18:19:34",
                        "announcementNo": "0064/ESG/2026"
                      },
                      {
                        "id": "20260728162427-018/ATX/2026_id-id",
                        "code": "BBCA",
                        "type": "STOCK",
                        "title": "Penyampaian Laporan Keuangan Interim Yang Tidak Diaudit",
                        "formId": "11000",
                        "createdAt": "2026-07-30T13:00:08",
                        "attachments": [
                          {
                            "url": "https://www.idx.co.id/StaticData/NewsAndAnnouncement/ANNOUNCEMENTSTOCK/From_EREP/202607/20260728163316-62836-0/FinancialStatement-2026-II-BBCA.pdf",
                            "fileName": "FinancialStatement-2026-II-BBCA.pdf"
                          },
                          {
                            "url": "https://www.idx.co.id/StaticData/NewsAndAnnouncement/ANNOUNCEMENTSTOCK/From_EREP/202607/20260728163316-62836-0/FinancialStatement-2026-II-BBCA.xlsx",
                            "fileName": "FinancialStatement-2026-II-BBCA.xlsx"
                          },
                          {
                            "url": "https://www.idx.co.id/StaticData/NewsAndAnnouncement/ANNOUNCEMENTSTOCK/From_EREP/202607/20260728163316-62836-0/inlineXBRL.zip",
                            "fileName": "inlineXBRL.zip"
                          },
                          {
                            "url": "https://www.idx.co.id/StaticData/NewsAndAnnouncement/ANNOUNCEMENTSTOCK/From_EREP/202607/20260728163316-62836-0/instance.zip",
                            "fileName": "instance.zip"
                          },
                          {
                            "url": "https://www.idx.co.id/StaticData/NewsAndAnnouncement/ANNOUNCEMENTSTOCK/From_EREP/202607/20260728163316-62836-0/Lapkeu BCA Jun26.pdf",
                            "fileName": "Lapkeu BCA Jun26.pdf"
                          }
                        ],
                        "publishedAt": "2026-07-28T16:24:27",
                        "announcementNo": "018/ATX/2026"
                      },
                      {
                        "id": "20260710105147-00981/DIR/2026_id-id",
                        "code": "BBCA",
                        "type": "STOCK",
                        "title": "Laporan Pengalihan Kembali Saham Hasil Buy Back",
                        "formId": "11000",
                        "subject": "Laporan Pengalihan Kembali Sah",
                        "createdAt": "2026-07-10T11:00:02",
                        "attachments": [
                          {
                            "url": "https://www.idx.co.id/StaticData/NewsAndAnnouncement/ANNOUNCEMENTSTOCK/From_EREP/202607/cd76c6d811_d338ec9267.pdf",
                            "fileName": "cd76c6d811_d338ec9267.pdf"
                          },
                          {
                            "url": "https://www.idx.co.id/StaticData/NewsAndAnnouncement/ANNOUNCEMENTSTOCK/From_EREP/202607/7bb835fe3d_b356f2dad6.pdf",
                            "fileName": "7bb835fe3d_b356f2dad6.pdf"
                          }
                        ],
                        "publishedAt": "2026-07-10T10:51:47",
                        "announcementNo": "00981/DIR/2026"
                      },
                      {
                        "id": "20260710105119-0981/DIR/2026_id-id",
                        "code": "BBCA",
                        "type": "STOCK",
                        "title": "Laporan Pengalihan Kembali Saham Hasil Buy Back",
                        "formId": "11000",
                        "subject": "Laporan Pengalihan Kembali Sah",
                        "createdAt": "2026-07-10T11:00:02",
                        "attachments": [
                          {
                            "url": "https://www.idx.co.id/StaticData/NewsAndAnnouncement/ANNOUNCEMENTSTOCK/From_EREP/202607/0cb6f181fc_a9f10cbeaf.pdf",
                            "fileName": "0cb6f181fc_a9f10cbeaf.pdf"
                          },
                          {
                            "url": "https://www.idx.co.id/StaticData/NewsAndAnnouncement/ANNOUNCEMENTSTOCK/From_EREP/202607/55a68a68f2_56424250f3.pdf",
                            "fileName": "55a68a68f2_56424250f3.pdf"
                          }
                        ],
                        "publishedAt": "2026-07-10T10:51:19",
                        "announcementNo": "0981/DIR/2026"
                      }
                    ],
                    "start": 0,
                    "total": 213,
                    "length": 5,
                    "locale": "id",
                    "dataset": "company-announcements",
                    "provider": "idx"
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:idx/foreign-flow": {
      "get": {
        "operationId": "finance_idx_foreign_flow",
        "summary": "Foreign Flow",
        "description": "Beli/jual investor asing per saham per hari bursa. Satuannya LEMBAR SAHAM, bukan rupiah. Bisa diurutkan berdasar net, buy, sell, atau kode.",
        "tags": [
          "IDX (Bursa Efek Indonesia)"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/idx#reference-foreign-flow"
        },
        "parameters": [
          {
            "name": "date",
            "in": "query",
            "required": false,
            "description": "Tanggal bursa (YYYYMMDD atau YYYY-MM-DD). Default: hari bursa terakhir",
            "schema": {
              "type": "string",
              "example": "2026-07-31"
            }
          },
          {
            "name": "code",
            "in": "query",
            "required": false,
            "description": "Saring satu kode emiten saja (opsional)",
            "schema": {
              "type": "string",
              "example": "BBCA"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Urutan: net (asing beli bersih terbesar), buy, sell, atau code. Default net",
            "schema": {
              "type": "string",
              "enum": [
                "net",
                "buy",
                "sell",
                "code"
              ],
              "example": "net"
            }
          },
          {
            "name": "length",
            "in": "query",
            "required": false,
            "description": "Jumlah baris (default 50, maks 200)",
            "schema": {
              "type": "number",
              "example": "20"
            }
          },
          {
            "name": "start",
            "in": "query",
            "required": false,
            "description": "Offset baris (default 0)",
            "schema": {
              "type": "number",
              "example": "0"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "data": [
                      {
                        "code": "IATA",
                        "name": "Karya Pacific Energy Tbk.",
                        "close": 76,
                        "value": 116766853900,
                        "volume": 1640828700,
                        "foreignBuyShares": 243242400,
                        "netForeignShares": 88222700,
                        "foreignSellShares": 155019700
                      },
                      {
                        "code": "MDIA",
                        "name": "Intermedia Capital Tbk.",
                        "close": 191,
                        "value": 203053711800,
                        "volume": 1136885000,
                        "foreignBuyShares": 205545700,
                        "netForeignShares": 81968300,
                        "foreignSellShares": 123577400
                      },
                      {
                        "code": "BBRI",
                        "name": "Bank Rakyat Indonesia (Persero) Tbk.",
                        "close": 3040,
                        "value": 684938094000,
                        "volume": 226634400,
                        "foreignBuyShares": 153647100,
                        "netForeignShares": 76995400,
                        "foreignSellShares": 76651700
                      },
                      {
                        "code": "DMAS",
                        "name": "Puradelta Lestari Tbk.",
                        "close": 148,
                        "value": 23774851200,
                        "volume": 161620100,
                        "foreignBuyShares": 80222700,
                        "netForeignShares": 72178500,
                        "foreignSellShares": 8044200
                      },
                      {
                        "code": "PACK",
                        "name": "Abadi Nusantara Hijau Investama Tbk.",
                        "close": 248,
                        "value": 66056582800,
                        "volume": 275994200,
                        "foreignBuyShares": 83806000,
                        "netForeignShares": 51360600,
                        "foreignSellShares": 32445400
                      }
                    ],
                    "date": "2026-07-31T00:00:00",
                    "sort": "net",
                    "unit": "shares",
                    "start": 0,
                    "total": 963,
                    "length": 5,
                    "dataset": "foreign-flow",
                    "provider": "idx"
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:idx/margin-summary": {
      "get": {
        "operationId": "finance_idx_margin_summary",
        "summary": "Margin Summary",
        "description": "Ringkasan perdagangan efek margin. Terbit per periode margin, bukan harian — perhatikan tanggal pada respons.",
        "tags": [
          "IDX (Bursa Efek Indonesia)"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/idx#reference-margin-summary"
        },
        "parameters": [
          {
            "name": "date",
            "in": "query",
            "required": false,
            "description": "Tanggal periode (YYYYMMDD atau YYYY-MM-DD). Default: periode terakhir",
            "schema": {
              "type": "string",
              "example": "2026-07-14"
            }
          },
          {
            "name": "length",
            "in": "query",
            "required": false,
            "description": "Jumlah baris (default 50, maks 300)",
            "schema": {
              "type": "number",
              "example": "50"
            }
          },
          {
            "name": "start",
            "in": "query",
            "required": false,
            "description": "Offset baris (default 0)",
            "schema": {
              "type": "number",
              "example": "0"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "data": [
                      {
                        "low": 8350,
                        "code": "AADI",
                        "high": 8500,
                        "close": 8400,
                        "value": 4010085000,
                        "change": 25,
                        "volume": 474200,
                        "frequency": 178
                      },
                      {
                        "low": 6300,
                        "code": "AALI",
                        "high": 6375,
                        "close": 6300,
                        "value": 247640000,
                        "change": 0,
                        "volume": 39000,
                        "frequency": 62
                      },
                      {
                        "low": 2350,
                        "code": "ABMM",
                        "high": 2420,
                        "close": 2370,
                        "value": 17927000,
                        "change": 60,
                        "volume": 7600,
                        "frequency": 12
                      },
                      {
                        "low": 344,
                        "code": "ACES",
                        "high": 350,
                        "close": 346,
                        "value": 402922600,
                        "change": -4,
                        "volume": 1165000,
                        "frequency": 101
                      },
                      {
                        "low": 158,
                        "code": "ADHI",
                        "high": 163,
                        "close": 161,
                        "value": 30115900,
                        "change": 3,
                        "volume": 187300,
                        "frequency": 37
                      }
                    ],
                    "date": "2026-07-14T00:00:00",
                    "start": 0,
                    "total": 220,
                    "length": 5,
                    "dataset": "margin-summary",
                    "provider": "idx"
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:idx/ownership-files": {
      "get": {
        "operationId": "finance_idx_ownership_files",
        "summary": "Ownership Files",
        "description": "Indeks publikasi Data Kepemilikan Saham dari KSEI: tanggal, kategori, dan tautan berkas. Berisi tautan, bukan isi berkasnya.",
        "tags": [
          "IDX (Bursa Efek Indonesia)"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/idx#reference-ownership-files"
        },
        "parameters": [
          {
            "name": "category",
            "in": "query",
            "required": false,
            "description": "Saring satu kategori. Default: semua kategori",
            "schema": {
              "type": "string",
              "enum": [
                "lima-persen",
                "satu-persen",
                "klasifikasi",
                "tipe"
              ],
              "example": "lima-persen"
            }
          },
          {
            "name": "length",
            "in": "query",
            "required": false,
            "description": "Jumlah berkas (default 50, maks 200)",
            "schema": {
              "type": "number",
              "example": "30"
            }
          },
          {
            "name": "start",
            "in": "query",
            "required": false,
            "description": "Offset baris (default 0)",
            "schema": {
              "type": "number",
              "example": "0"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "data": [
                      {
                        "url": "https://www.idx.co.id/Media/cqiex5iv/peng-2026-07-30-00043-lima-persen.xlsx",
                        "category": "lima-persen",
                        "fileName": "peng-2026-07-30-00043-lima-persen.xlsx",
                        "publishedAt": "2026-07-30",
                        "categoryLabel": "Pemegang saham di atas 5%"
                      },
                      {
                        "url": "https://www.idx.co.id/Media/uznhesu0/peng-2026-07-29-00042-lima-persen.xlsx",
                        "category": "lima-persen",
                        "fileName": "peng-2026-07-29-00042-lima-persen.xlsx",
                        "publishedAt": "2026-07-29",
                        "categoryLabel": "Pemegang saham di atas 5%"
                      },
                      {
                        "url": "https://www.idx.co.id/Media/z1ymz1fw/peng-2026-07-28-00041-lima-persen.xlsx",
                        "category": "lima-persen",
                        "fileName": "peng-2026-07-28-00041-lima-persen.xlsx",
                        "publishedAt": "2026-07-28",
                        "categoryLabel": "Pemegang saham di atas 5%"
                      },
                      {
                        "url": "https://www.idx.co.id/Media/myaod41g/peng-2026-07-27-00040-lima-persen.xlsx",
                        "category": "lima-persen",
                        "fileName": "peng-2026-07-27-00040-lima-persen.xlsx",
                        "publishedAt": "2026-07-27",
                        "categoryLabel": "Pemegang saham di atas 5%"
                      },
                      {
                        "url": "https://www.idx.co.id/Media/oiyfshho/peng-2026-07-24-00039-lima-persen.xlsx",
                        "category": "lima-persen",
                        "fileName": "peng-2026-07-24-00039-lima-persen.xlsx",
                        "publishedAt": "2026-07-24",
                        "categoryLabel": "Pemegang saham di atas 5%"
                      }
                    ],
                    "start": 0,
                    "total": 61,
                    "length": 5,
                    "source": "KSEI",
                    "dataset": "ownership-files",
                    "provider": "idx"
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:indodax/ticker": {
      "get": {
        "operationId": "finance_indodax_ticker",
        "summary": "Ticker",
        "description": "Price and 24h volume for one pair.",
        "tags": [
          "Indodax"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/indodax#reference-ticker"
        },
        "parameters": [
          {
            "name": "pair",
            "in": "query",
            "required": true,
            "description": "Trading pair. Accepts btc_idr, btcidr or BTC/IDR. Quote currency must be IDR or USDT",
            "schema": {
              "type": "string",
              "example": "btc_idr"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "buy": 1130001000,
                    "low": 1120402000,
                    "base": "BTC",
                    "high": 1134103000,
                    "last": 1132299000,
                    "pair": "btc_idr",
                    "sell": 1132299000,
                    "quote": "IDR",
                    "exchange": "indodax",
                    "serverTime": 1785635619,
                    "volumeBase": 9.10396787,
                    "volumeQuote": 10285330671
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:indodax/tickers": {
      "get": {
        "operationId": "finance_indodax_tickers",
        "summary": "Tickers",
        "description": "Every traded pair in one call, filterable.",
        "tags": [
          "Indodax"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/indodax#reference-tickers"
        },
        "parameters": [
          {
            "name": "quote",
            "in": "query",
            "required": false,
            "description": "Restrict to pairs quoted in this currency. Default all",
            "schema": {
              "type": "string",
              "enum": [
                "all",
                "idr",
                "usdt"
              ],
              "default": "all",
              "example": "idr"
            }
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "description": "Filter by base symbol or coin name",
            "schema": {
              "type": "string",
              "example": "btc"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "count": 7,
                    "items": [
                      {
                        "buy": 1130001000,
                        "low": 1120402000,
                        "base": "BTC",
                        "high": 1134103000,
                        "last": 1132299000,
                        "name": "Bitcoin",
                        "pair": "btc_idr",
                        "sell": 1132299000,
                        "quote": "IDR",
                        "serverTime": 1785635622,
                        "volumeBase": 9.10396787,
                        "volumeQuote": 10285330671
                      },
                      {
                        "buy": 1424,
                        "low": 1390,
                        "base": "ARB",
                        "high": 1433,
                        "last": 1433,
                        "name": "Arbitrum",
                        "pair": "arb_idr",
                        "sell": 1434,
                        "quote": "IDR",
                        "serverTime": 1785635622,
                        "volumeBase": 56217.30209444,
                        "volumeQuote": 79597914
                      },
                      {
                        "buy": 3712000,
                        "low": 3712000,
                        "base": "BCH",
                        "high": 3849000,
                        "last": 3739000,
                        "name": "Bitcoin Cash",
                        "pair": "bch_idr",
                        "sell": 3735000,
                        "quote": "IDR",
                        "serverTime": 1785635622,
                        "volumeBase": 7.14706105,
                        "volumeQuote": 26663541
                      },
                      {
                        "buy": 30112,
                        "low": 28692,
                        "base": "BGB",
                        "high": 32000,
                        "last": 28697,
                        "name": "Bitget Token",
                        "pair": "bgb_idr",
                        "sell": 31589,
                        "quote": "IDR",
                        "serverTime": 1785635622,
                        "volumeBase": 221.97298938,
                        "volumeQuote": 6778437
                      },
                      {
                        "buy": 1,
                        "low": 1,
                        "base": "WTEC",
                        "high": 2,
                        "last": 1,
                        "name": "World Trade Exhibition Center",
                        "pair": "wtec_idr",
                        "sell": 2,
                        "quote": "IDR",
                        "serverTime": 1785635622,
                        "volumeBase": 3677019.87385714,
                        "volumeQuote": 6498208
                      },
                      {
                        "buy": 222000,
                        "low": 221000,
                        "base": "BSV",
                        "high": 230000,
                        "last": 221000,
                        "name": "Bitcoin SV",
                        "pair": "bsv_idr",
                        "sell": 230000,
                        "quote": "IDR",
                        "serverTime": 1785635622,
                        "volumeBase": 3.23899177,
                        "volumeQuote": 728009
                      },
                      {
                        "buy": 1130787074,
                        "low": 1130787023,
                        "base": "WBTC",
                        "high": 1174910999,
                        "last": 1130787073,
                        "name": "Wrapped Bitcoin",
                        "pair": "wbtc_idr",
                        "sell": 1167673999,
                        "quote": "IDR",
                        "serverTime": 1785635622,
                        "volumeBase": 0.00031826,
                        "volumeQuote": 363220
                      }
                    ],
                    "quote": "idr",
                    "exchange": "indodax"
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:indodax/depth": {
      "get": {
        "operationId": "finance_indodax_depth",
        "summary": "Order book",
        "description": "Resting bids and asks for one pair.",
        "tags": [
          "Indodax"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/indodax#reference-depth"
        },
        "parameters": [
          {
            "name": "pair",
            "in": "query",
            "required": true,
            "description": "Trading pair. Accepts btc_idr, btcidr or BTC/IDR. Quote currency must be IDR or USDT",
            "schema": {
              "type": "string",
              "example": "btc_idr"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Levels per side. Default all levels returned upstream, max 200",
            "schema": {
              "type": "number",
              "example": "50"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "asks": [
                      {
                        "price": 1132299000,
                        "amount": 0.79041731
                      },
                      {
                        "price": 1132300000,
                        "amount": 1.01178843
                      },
                      {
                        "price": 1132301000,
                        "amount": 0.01173894
                      },
                      {
                        "price": 1133192000,
                        "amount": 0.0000486
                      },
                      {
                        "price": 1133196000,
                        "amount": 0.01646691
                      }
                    ],
                    "base": "BTC",
                    "bids": [
                      {
                        "price": 1130001000,
                        "amount": 0.39559325
                      },
                      {
                        "price": 1130000000,
                        "amount": 0.09472588
                      },
                      {
                        "price": 1129966000,
                        "amount": 0.63653
                      },
                      {
                        "price": 1129474000,
                        "amount": 0.10193588
                      },
                      {
                        "price": 1129017000,
                        "amount": 0.02878554
                      }
                    ],
                    "pair": "btc_idr",
                    "quote": "IDR",
                    "spread": 2298000,
                    "askCount": 5,
                    "bidCount": 5,
                    "exchange": "indodax"
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:indodax/trades": {
      "get": {
        "operationId": "finance_indodax_trades",
        "summary": "Trades",
        "description": "The recently executed tape for one pair.",
        "tags": [
          "Indodax"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/indodax#reference-trades"
        },
        "parameters": [
          {
            "name": "pair",
            "in": "query",
            "required": true,
            "description": "Trading pair. Accepts btc_idr, btcidr or BTC/IDR. Quote currency must be IDR or USDT",
            "schema": {
              "type": "string",
              "example": "btc_idr"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Number of recent trades. Default 50, max 200",
            "schema": {
              "type": "number",
              "default": 50,
              "example": "50"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "base": "BTC",
                    "pair": "btc_idr",
                    "count": 5,
                    "items": [
                      {
                        "side": "buy",
                        "price": 1132299000,
                        "amount": 0.00005778,
                        "tradeId": "72057594145352606",
                        "tradedAt": 1785635604
                      },
                      {
                        "side": "buy",
                        "price": 1132299000,
                        "amount": 0.00008925,
                        "tradeId": "72057594145352596",
                        "tradedAt": 1785635595
                      },
                      {
                        "side": "sell",
                        "price": 1130001000,
                        "amount": 0.00045589,
                        "tradeId": "72057594145352584",
                        "tradedAt": 1785635584
                      },
                      {
                        "side": "buy",
                        "price": 1132299000,
                        "amount": 0.00109906,
                        "tradeId": "72057594145352577",
                        "tradedAt": 1785635581
                      },
                      {
                        "side": "sell",
                        "price": 1130000000,
                        "amount": 0.00032057,
                        "tradeId": "72057594145352535",
                        "tradedAt": 1785635545
                      }
                    ],
                    "quote": "IDR",
                    "exchange": "indodax"
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:indodax/pairs": {
      "get": {
        "operationId": "finance_indodax_pairs",
        "summary": "Pairs",
        "description": "Tradable pairs with fees, precision and market status.",
        "tags": [
          "Indodax"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/indodax#reference-pairs"
        },
        "parameters": [
          {
            "name": "quote",
            "in": "query",
            "required": false,
            "description": "Restrict to pairs quoted in this currency. Default all",
            "schema": {
              "type": "string",
              "enum": [
                "all",
                "idr",
                "usdt"
              ],
              "default": "all",
              "example": "idr"
            }
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "description": "Filter by base symbol",
            "schema": {
              "type": "string",
              "example": "btc"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "count": 2,
                    "items": [
                      {
                        "base": "BTC",
                        "logo": "https://indodax.com/v2/logo/svg/color/btc.svg",
                        "pair": "btc_idr",
                        "quote": "IDR",
                        "suspended": false,
                        "coingeckoId": "bitcoin",
                        "compactPair": "btcidr",
                        "description": "BTC/IDR",
                        "minOrderBase": 0.00000885,
                        "minOrderQuote": 10000,
                        "pricePrecision": 1000,
                        "coinmarketcapId": 1,
                        "depositDisabled": false,
                        "makerFeePercent": 0.1,
                        "takerFeePercent": 0.2,
                        "volumePrecision": 0,
                        "underMaintenance": false
                      },
                      {
                        "base": "WBTC",
                        "logo": "https://indodax.com/v2/logo/svg/color/wbtc.svg",
                        "pair": "wbtc_idr",
                        "quote": "IDR",
                        "suspended": false,
                        "coingeckoId": "wrapped-bitcoin",
                        "compactPair": "wbtcidr",
                        "description": "WBTC/IDR",
                        "minOrderBase": 0.00000884,
                        "minOrderQuote": 10000,
                        "pricePrecision": 1,
                        "coinmarketcapId": 3717,
                        "depositDisabled": false,
                        "makerFeePercent": 0.1,
                        "takerFeePercent": 0.2,
                        "volumePrecision": 0,
                        "underMaintenance": false
                      }
                    ],
                    "quote": "idr",
                    "exchange": "indodax"
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:investing/search": {
      "get": {
        "operationId": "finance_investing_search",
        "summary": "Search",
        "description": "Cari instrumen (saham/forex/crypto/komoditas) + berita.",
        "tags": [
          "Investing"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/investing#reference-search"
        },
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": true,
            "description": "Kata kunci pencarian instrumen/berita",
            "schema": {
              "type": "string",
              "example": "apple"
            }
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "description": "Bagian hasil yang dikembalikan (default all)",
            "schema": {
              "type": "string",
              "enum": [
                "all",
                "quotes",
                "news",
                "articles"
              ],
              "default": "all",
              "example": "all"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "news": [
                      {
                        "id": 4741015,
                        "url": "https://www.investing.com/news/stock-market-news/exclusivetatas-iphone-parts-factory-contaminated-farmland-water-india-pollution-body-alleges-4741015",
                        "image": "https://i-invdn-com.investing.com/trkd-images/LYNXMPEM5C08U_L.jpg",
                        "title": "Exclusive-Tata’s iPhone parts factory contaminated farmland water, India pollution body alleges"
                      },
                      {
                        "id": 4741023,
                        "url": "https://www.investing.com/news/stock-market-news/mag-7-mangos-spacex-forces-name-rethink-on-wall-streets-techstock-moniker-4741023",
                        "image": "https://i-invdn-com.investing.com/trkd-images/LYNXMPEM5C09W_L.jpg",
                        "title": "Mag 7? MANGOS? SpaceX forces name rethink on Wall Street’s tech-stock moniker"
                      },
                      {
                        "id": 4739346,
                        "url": "https://www.investing.com/news/economy-news/hedge-funds-sold-broader-tech-ahead-of-spacex-ipo-jpmorgan-data-shows-4739346",
                        "image": "https://i-invdn-com.investing.com/trkd-images/LYNXMPEM5B0QU_L.jpg",
                        "title": "Hedge funds sold broader tech ahead of SpaceX IPO, JPMorgan data shows"
                      },
                      {
                        "id": 4739803,
                        "url": "https://www.investing.com/news/company-news/healthcare-triangle-closes-36m-convertible-note-offering-93CH-4739803",
                        "image": "https://i-invdn-com.investing.com/news/LYNXNPEB6R0AQ_S.jpg",
                        "title": "Healthcare Triangle closes $3.6M convertible note offering"
                      },
                      {
                        "id": 4741019,
                        "url": "https://www.investing.com/news/company-news/tata-iphone-parts-plant-warned-over-wastewater-pollution--reuters-4741019",
                        "image": "https://i-invdn-com.investing.com/news/moved_small-LYNXMPEK8O0ML_L.jpg",
                        "title": "Tata iPhone parts plant warned over wastewater pollution - Reuters"
                      }
                    ],
                    "query": "apple",
                    "quotes": [
                      {
                        "url": "https://www.investing.com/equities/apple-computer-inc",
                        "name": "Apple Inc",
                        "type": "Stock - NASDAQ",
                        "pairId": 6408,
                        "symbol": "AAPL",
                        "country": "USA",
                        "exchange": "NASDAQ"
                      },
                      {
                        "url": "https://www.investing.com/crypto/bunny/apple-usd",
                        "name": "dog with apple in mouth US Dollar",
                        "type": "FX - XT.COM",
                        "pairId": 1225435,
                        "symbol": "APPLE/USD",
                        "country": "dog_with_apple_in_mouth",
                        "exchange": "XT.COM"
                      },
                      {
                        "url": "https://www.investing.com/equities/apple-computer-inc?cid=986251",
                        "name": "Apple Inc",
                        "type": "Stock - Switzerland",
                        "pairId": 986251,
                        "symbol": "AAPLUSD",
                        "country": "Switzerland",
                        "exchange": "Switzerland"
                      },
                      {
                        "url": "https://www.investing.com/equities/apple-computer-inc?cid=963008",
                        "name": "Apple Inc",
                        "type": "Stock - Xetra",
                        "pairId": 963008,
                        "symbol": "AAPL",
                        "country": "Germany",
                        "exchange": "Xetra"
                      },
                      {
                        "url": "https://www.investing.com/equities/apple-computer-inc?cid=993325",
                        "name": "Apple Inc",
                        "type": "Stock - Switzerland",
                        "pairId": 993325,
                        "symbol": "AAPL",
                        "country": "Switzerland",
                        "exchange": "Switzerland"
                      },
                      {
                        "url": "https://www.investing.com/equities/apple-computer-inc?cid=1202722",
                        "name": "Apple Inc",
                        "type": "Stock - London",
                        "pairId": 1202722,
                        "symbol": "0R2V",
                        "country": "UK",
                        "exchange": "London"
                      },
                      {
                        "url": "https://www.investing.com/equities/apple-hospitality-reit-inc",
                        "name": "Apple Hospitality REIT Inc",
                        "type": "Stock - NYSE",
                        "pairId": 959642,
                        "symbol": "APLE",
                        "country": "USA",
                        "exchange": "NYSE"
                      },
                      {
                        "url": "https://www.investing.com/etfs/aapy",
                        "name": "Kurv Yield Premium Strategy Apple ETF",
                        "type": "ETF - NYSE",
                        "pairId": 1215129,
                        "symbol": "AAPY",
                        "country": "USA",
                        "exchange": "NYSE"
                      }
                    ],
                    "articles": [
                      {
                        "id": 200182160,
                        "url": "https://www.investing.com/analysis/aapl-(apr-11)-200182160",
                        "title": "Apple Consolidates"
                      },
                      {
                        "id": 200282090,
                        "url": "https://www.investing.com/analysis/apple-confusion-200282090",
                        "title": "Apple Confusion"
                      },
                      {
                        "id": 200412540,
                        "url": "https://www.investing.com/analysis/adams-apple-200412540",
                        "title": "Adam’s Apple"
                      },
                      {
                        "id": 200367514,
                        "url": "https://www.investing.com/analysis/apple-technicals-200367514",
                        "title": "Apple Technicals"
                      },
                      {
                        "id": 260813,
                        "url": "https://www.investing.com/analysis/rotten-apple-260813",
                        "title": "Rotten Apple?"
                      }
                    ]
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:investing/quote": {
      "get": {
        "operationId": "finance_investing_quote",
        "summary": "Quote",
        "description": "Quote real-time instrumen (harga, perubahan, range, PE, EPS, dividen).",
        "tags": [
          "Investing"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/investing#reference-quote"
        },
        "parameters": [
          {
            "name": "query",
            "in": "query",
            "required": true,
            "description": "Simbol atau nama instrumen (saham, index, crypto, forex, komoditas). Contoh: AAPL, bitcoin, EUR/USD",
            "schema": {
              "type": "string",
              "example": "AAPL"
            }
          },
          {
            "name": "pairId",
            "in": "query",
            "required": false,
            "description": "Pair ID internal langsung (override pencarian). Kalau diisi, parameter `query` tidak dipakai untuk resolve.",
            "schema": {
              "type": "number",
              "example": "6408"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "eps": 8.2491,
                    "low": 289.62,
                    "url": "https://www.investing.com/equities/apple-computer-inc",
                    "beta": 1.06,
                    "high": 297.14,
                    "last": 291.13,
                    "name": "Apple Inc",
                    "open": 296.03,
                    "type": "Stock - NASDAQ",
                    "change": -4.5,
                    "pairId": 6408,
                    "symbol": "AAPL",
                    "volume": 38784789,
                    "peRatio": 35.22,
                    "revenue": "451.44B",
                    "dayRange": "289.62 - 297.14",
                    "dividend": 1.08,
                    "exchange": "NASDAQ",
                    "provider": "investing",
                    "avgVolume": 46507492,
                    "marketCap": "4.28T",
                    "week52Low": 195.07,
                    "week52High": 317.4,
                    "week52Range": "195.07 - 317.4",
                    "changePercent": -1.52,
                    "extendedHours": "After",
                    "extendedPrice": 291.58,
                    "lastTimestamp": 1781294399,
                    "oneYearReturn": "48.2%",
                    "previousClose": 295.63,
                    "exchangeIsOpen": false,
                    "extendedChange": 0.45,
                    "nextEarningsDate": "2026-07-30",
                    "technicalSummary": "Strong Sell",
                    "dividendYieldPercent": 0.37
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:investing/technical": {
      "get": {
        "operationId": "finance_investing_technical",
        "summary": "Technical",
        "description": "Ringkasan analisis teknikal (MA, oscillator, pivot) per timeframe.",
        "tags": [
          "Investing"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/investing#reference-technical"
        },
        "parameters": [
          {
            "name": "query",
            "in": "query",
            "required": true,
            "description": "Symbol / company name to resolve (stock, index, crypto, forex, commodity).",
            "schema": {
              "type": "string",
              "example": "AAPL"
            }
          },
          {
            "name": "pairId",
            "in": "query",
            "required": false,
            "description": "Optional numeric pair id override. Skips symbol resolution when provided.",
            "schema": {
              "type": "number",
              "example": "6408"
            }
          },
          {
            "name": "timeframe",
            "in": "query",
            "required": false,
            "description": "Analysis timeframe. One of: 5m, 15m, 1h, 1d.",
            "schema": {
              "type": "string",
              "enum": [
                "5m",
                "15m",
                "1h",
                "1d"
              ],
              "default": "1d",
              "example": "1d"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "name": "Apple Inc",
                    "pairId": 6408,
                    "symbol": "AAPL",
                    "summary": "SELL",
                    "timeframe": "1d",
                    "updatedAt": 1781294702,
                    "indicators": [
                      {
                        "name": "RSI(14)",
                        "value": 44.049,
                        "action": "Sell"
                      },
                      {
                        "name": "STOCH(9,6)",
                        "value": 29.697,
                        "action": "Sell"
                      },
                      {
                        "name": "STOCHRSI(14)",
                        "value": 3.783,
                        "action": "Oversold"
                      },
                      {
                        "name": "MACD(12,26)",
                        "value": 2.68,
                        "action": "Buy"
                      },
                      {
                        "name": "ATR(14)",
                        "value": 7.5725,
                        "action": "High Volatility"
                      },
                      {
                        "name": "ADX(14)",
                        "value": 39.584,
                        "action": "Sell"
                      },
                      {
                        "name": "CCI(14)",
                        "value": -138.3806,
                        "action": "Sell"
                      },
                      {
                        "name": "Highs/Lows(14)",
                        "value": -10.8686,
                        "action": "Sell"
                      }
                    ],
                    "oscillators": {
                      "buy": 1,
                      "sell": 8,
                      "signal": "red",
                      "neutral": 2,
                      "summary": "Strong Sell"
                    },
                    "pivotPoints": [
                      {
                        "level": "R3",
                        "classic": 305.96,
                        "fibonacci": 301.48
                      },
                      {
                        "level": "R2",
                        "classic": 301.48,
                        "fibonacci": 298.65
                      },
                      {
                        "level": "R1",
                        "classic": 298.55,
                        "fibonacci": 296.9
                      },
                      {
                        "level": "Pivot Point",
                        "classic": 294.07,
                        "fibonacci": 294.07
                      },
                      {
                        "level": "S1",
                        "classic": 291.14,
                        "fibonacci": 291.24
                      },
                      {
                        "level": "S2",
                        "classic": 286.66,
                        "fibonacci": 289.49
                      },
                      {
                        "level": "S3",
                        "classic": 283.73,
                        "fibonacci": 286.66
                      }
                    ],
                    "summaryText": "Sell",
                    "movingAverages": {
                      "buy": 6,
                      "sell": 6,
                      "signal": "black",
                      "summary": "Neutral"
                    },
                    "movingAverageDetails": [
                      {
                        "name": "MA5",
                        "simple": 294.09,
                        "exponential": 295.69,
                        "simpleAction": "Sell",
                        "exponentialAction": "Sell"
                      },
                      {
                        "name": "MA10",
                        "simple": 302.08,
                        "exponential": 299.05,
                        "simpleAction": "Sell",
                        "exponentialAction": "Sell"
                      },
                      {
                        "name": "MA20",
                        "simple": 303.88,
                        "exponential": 298.84,
                        "simpleAction": "Sell",
                        "exponentialAction": "Sell"
                      },
                      {
                        "name": "MA50",
                        "simple": 285.49,
                        "exponential": 289.41,
                        "simpleAction": "Buy",
                        "exponentialAction": "Buy"
                      },
                      {
                        "name": "MA100",
                        "simple": 272.84,
                        "exponential": 278.98,
                        "simpleAction": "Buy",
                        "exponentialAction": "Buy"
                      },
                      {
                        "name": "MA200",
                        "simple": 266.87,
                        "exponential": 266.44,
                        "simpleAction": "Buy",
                        "exponentialAction": "Buy"
                      }
                    ]
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:investing/historical": {
      "get": {
        "operationId": "finance_investing_historical",
        "summary": "Historical",
        "description": "Data OHLCV historis (interval & periode fleksibel).",
        "tags": [
          "Investing"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/investing#reference-historical"
        },
        "parameters": [
          {
            "name": "query",
            "in": "query",
            "required": true,
            "description": "Symbol or name of the instrument to resolve (stock ticker, index, commodity, FX pair, crypto). Resolved to an internal id.",
            "schema": {
              "type": "string",
              "example": "AAPL"
            }
          },
          {
            "name": "pairId",
            "in": "query",
            "required": false,
            "description": "Optional internal instrument id override. When provided, symbol resolution is skipped.",
            "schema": {
              "type": "number",
              "example": "6408"
            }
          },
          {
            "name": "interval",
            "in": "query",
            "required": false,
            "description": "Candle interval: 1m, 5m, 1h (intraday) or 1d, 1w, 1mo. Default 1d",
            "schema": {
              "type": "string",
              "enum": [
                "1m",
                "5m",
                "1h",
                "1d",
                "1w",
                "1mo"
              ],
              "default": "1d",
              "example": "1d"
            }
          },
          {
            "name": "period",
            "in": "query",
            "required": false,
            "description": "Lookback range: 1d, 1w, 1mo, 1y, 5y, max. Default 1mo",
            "schema": {
              "type": "string",
              "enum": [
                "1d",
                "1w",
                "1mo",
                "1y",
                "5y",
                "max"
              ],
              "default": "1mo",
              "example": "1mo"
            }
          },
          {
            "name": "pointscount",
            "in": "query",
            "required": false,
            "description": "Max number of candles to request. Default 120",
            "schema": {
              "type": "number",
              "default": 120,
              "example": "120"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "count": 22,
                    "pairId": 6408,
                    "period": "1mo",
                    "symbol": "AAPL",
                    "candles": [
                      {
                        "low": 293.5,
                        "date": "2026-05-13T00:00:00.000Z",
                        "high": 300.92,
                        "open": 293.5,
                        "close": 298.87,
                        "volume": 52684260,
                        "timestamp": 1778630400000
                      },
                      {
                        "low": 295.38,
                        "date": "2026-05-14T00:00:00.000Z",
                        "high": 300.45,
                        "open": 299.82,
                        "close": 298.21,
                        "volume": 35324920,
                        "timestamp": 1778716800000
                      },
                      {
                        "low": 296.52,
                        "date": "2026-05-15T00:00:00.000Z",
                        "high": 303.2,
                        "open": 297.9,
                        "close": 300.23,
                        "volume": 54862836,
                        "timestamp": 1778803200000
                      },
                      {
                        "low": 294.91,
                        "date": "2026-05-18T00:00:00.000Z",
                        "high": 300.66,
                        "open": 300.24,
                        "close": 297.84,
                        "volume": 34482960,
                        "timestamp": 1779062400000
                      },
                      {
                        "low": 296.35,
                        "date": "2026-05-19T00:00:00.000Z",
                        "high": 300.51,
                        "open": 296.97,
                        "close": 298.97,
                        "volume": 42243560,
                        "timestamp": 1779148800000
                      },
                      {
                        "low": 298.08,
                        "date": "2026-05-20T00:00:00.000Z",
                        "high": 302.8,
                        "open": 298.18,
                        "close": 302.25,
                        "volume": 38229844,
                        "timestamp": 1779235200000
                      },
                      {
                        "low": 300.4,
                        "date": "2026-05-21T00:00:00.000Z",
                        "high": 305.54,
                        "open": 301.05,
                        "close": 304.99,
                        "volume": 42965128,
                        "timestamp": 1779321600000
                      },
                      {
                        "low": 305.84,
                        "date": "2026-05-22T00:00:00.000Z",
                        "high": 311.4,
                        "open": 306.12,
                        "close": 308.82,
                        "volume": 43670224,
                        "timestamp": 1779408000000
                      }
                    ],
                    "interval": "1d"
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:investing/news": {
      "get": {
        "operationId": "finance_investing_news",
        "summary": "News",
        "description": "Berita pasar terbaru / per-instrumen.",
        "tags": [
          "Investing"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/investing#reference-news"
        },
        "parameters": [
          {
            "name": "query",
            "in": "query",
            "required": false,
            "description": "Simbol/kata kunci instrumen. Kosongkan untuk berita terbaru umum.",
            "schema": {
              "type": "string",
              "example": "apple"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "description": "Nomor halaman (default 1)",
            "schema": {
              "type": "number",
              "default": 1,
              "example": "1"
            }
          },
          {
            "name": "category",
            "in": "query",
            "required": false,
            "description": "Filter kategori berita (opsional, hanya untuk feed umum)",
            "schema": {
              "type": "string",
              "example": "economy"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "page": 1,
                    "count": 20,
                    "items": [
                      {
                        "id": 4741066,
                        "url": "https://www.investing.com/news/economy-news/uk-intercepts-russian-oil-tanker-linked-to-shadow-fleet-in-english-channel-4741066",
                        "image": "https://i-invdn-com.investing.com/news/Shipping_800x533_L_1618572654.jpg",
                        "title": "UK intercepts Russian oil tanker linked to shadow fleet in English Channel",
                        "source": "Investing.com",
                        "excerpt": "Investing.com -- British forces intercepted a Russian shadow fleet oil tanker attempting to transit the English Channel on Sunday,...",
                        "category": "ECONOMY",
                        "publishedAt": "2026-06-14T07:05:22.000Z"
                      },
                      {
                        "id": 4741065,
                        "url": "https://www.investing.com/news/economy-news/starmer-takaichi-to-discuss-fighter-jet-project-as-uk-funding-questions-persist-4741065",
                        "image": "https://i-invdn-com.investing.com/news/moved_LYNXMPEK8O0VV_L.jpg",
                        "title": "Starmer, Takaichi to discuss fighter jet project as UK funding questions persist",
                        "source": "Investing.com",
                        "excerpt": "Investing.com -- British Prime Minister Keir Starmer is set to meet Japanese Prime Minister Sanae Takaichi on Sunday as...",
                        "category": "ECONOMY",
                        "publishedAt": "2026-06-14T06:33:08.000Z"
                      },
                      {
                        "id": 4741064,
                        "url": "https://www.investing.com/news/economy-news/south-korea-household-loans-surge-as-investors-pile-into-stocks-4741064",
                        "image": "https://i-invdn-com.investing.com/news/SouthKorea_800x533_L_1606575512.jpg",
                        "title": "South Korea household loans surge as investors pile into stocks",
                        "source": "Investing.com",
                        "excerpt": "Investing.com -- Citi said a sharp rally in South Korean equities is contributing to rising financial stability risks as household...",
                        "category": "ECONOMY",
                        "publishedAt": "2026-06-14T05:59:41.000Z"
                      },
                      {
                        "id": 4741063,
                        "url": "https://www.investing.com/news/economy-news/rubio-defends-hormuz-blockade-after-india-protests-deaths-of-sailors-4741063",
                        "image": "https://i-invdn-com.investing.com/news/moved_LYNXNPEL3912L_L.jpg",
                        "title": "Rubio defends Hormuz blockade after India protests deaths of sailors",
                        "source": "Investing.com",
                        "excerpt": "Investing.com -- U.S. Secretary of State Marco Rubio defended Washington’s actions in the Strait of Hormuz after India protested...",
                        "category": "ECONOMY",
                        "publishedAt": "2026-06-14T05:33:40.000Z"
                      },
                      {
                        "id": 4741062,
                        "url": "https://www.investing.com/news/economy-news/japan-moves-to-secure-rare-earth-supplies-with-greenland-visit--nikkei-4741062",
                        "image": "https://i-invdn-com.investing.com/news/LYNXMPEB430M1_L.jpg",
                        "title": "Japan moves to secure rare earth supplies with Greenland visit - Nikkei",
                        "source": "Investing.com",
                        "excerpt": "Investing.com -- Japan is preparing to send a delegation to Greenland this summer to evaluate possible rare earth extraction,...",
                        "category": "ECONOMY",
                        "publishedAt": "2026-06-14T05:06:10.000Z"
                      },
                      {
                        "id": 4741061,
                        "url": "https://www.investing.com/news/economy-news/trump-says-iran-deal-could-be-signed-sunday-tehran-disputes-timing-4741061",
                        "image": "https://i-invdn-com.investing.com/news/moved_LYNXMPEM3J0V1_1200_L.jpg",
                        "title": "Trump says Iran deal could be signed Sunday, Tehran disputes timing",
                        "source": "Investing.com",
                        "excerpt": "Investing.com -- U.S. President Donald Trump said an agreement with Iran to halt the war could be signed as early as Sunday,...",
                        "category": "ECONOMY",
                        "publishedAt": "2026-06-14T04:10:00.000Z"
                      },
                      {
                        "id": 4741057,
                        "url": "https://www.investing.com/news/economy-news/dollar-likely-to-find-support-as-long-as-strait-remains-mostly-closed-4741057",
                        "image": "https://i-invdn-com.investing.com/news/LYNXNPEB960O0_L.jpg",
                        "title": "Dollar likely to find support as long as Strait remains mostly closed",
                        "source": "Investing.com",
                        "excerpt": "Investing.com -- The U.S. dollar is likely to remain supported in the near term despite a recent pullback in oil prices, according...",
                        "category": "ECONOMY",
                        "publishedAt": "2026-06-14T03:01:52.000Z"
                      },
                      {
                        "id": 4741050,
                        "url": "https://www.investing.com/news/economy-news/uk-japan-to-deepen-ties-with-18-billion-investment-agreement-4741050",
                        "image": "https://i-invdn-com.investing.com/news/LYNXNPEC501G5_L.jpg",
                        "title": "UK, Japan to deepen ties with £18 billion investment agreement",
                        "source": "Investing.com",
                        "excerpt": "Investing.com -- The UK and Japan are expected to sign an £18 billion ($24.1 billion) investment agreement focused on clean...",
                        "category": "ECONOMY",
                        "publishedAt": "2026-06-14T00:06:36.000Z"
                      }
                    ],
                    "hasMore": true,
                    "nextPage": 2
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:investing/article": {
      "get": {
        "operationId": "finance_investing_article",
        "summary": "Article",
        "description": "Isi artikel berita lengkap (input id dari news).",
        "tags": [
          "Investing"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/investing#reference-article"
        },
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "description": "ID artikel berita. Wajib jika `url` kosong.",
            "schema": {
              "type": "string",
              "example": "4741065"
            }
          },
          {
            "name": "url",
            "in": "query",
            "required": false,
            "description": "URL artikel penuh (alternatif `id`).",
            "schema": {
              "type": "string",
              "example": "https://www.investing.com/news/economy-news/some-article-4741065"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "id": 4741066,
                    "url": "https://www.investing.com/news/economy-news/uk-intercepts-russian-oil-tanker-linked-to-shadow-fleet-in-english-channel-4741066",
                    "image": "https://i-invdn-com.investing.com/news/Shipping_800x533_L_1618572654.jpg",
                    "title": "UK intercepts Russian oil tanker linked to shadow fleet in English Channel",
                    "author": "Simon Mugo",
                    "source": "Investing.com",
                    "authorUrl": "https://www.investing.com/members/contributors/277000282",
                    "updatedAt": "2026-06-14T07:05:22Z",
                    "relatedIds": [
                      8833
                    ],
                    "contentText": "Investing.com -- British forces intercepted a Russian shadow fleet oil tanker attempting to transit the English Channel on Sunday, according to a statement from the UK Ministry of Defence.\n\nTrack geopolitical developments and energy markets with InvestingPro\n\nThe vessel, identified as the SMYRTOS, was boarded by Royal Marine Commandos and specially trained officers from the National Crime Agency.\n\nBritish authorities said the tanker has been detained and will remain under monitoring off the country’s southern coast while investigations continue.\n\nThe Ministry of Defence said the enforcement action was carried out within British territorial waters and in accordance with domestic and international law.\n\nNo details were immediately provided about the vessel’s cargo, destination, or ownership.\n\nThe interception marks the latest effort by Western governments to crack down on Russia’s so-called shadow fleet, a network of tankers used to transport Russian oil outside the scope of Western sanctions and price cap measures.\n\nThe fleet has become an increasing focus of sanctions enforcement since the start of the war in Ukraine, with European governments stepping up scrutiny of shipping activity in key maritime routes.\n\nBritish Prime Minister Keir Starmer said he personally authorized the operation.\n\n\"This successful operation delivers yet another blow to Russia and reminds those fueling Putin’s war in Ukraine that we will not let them hide,\" Starmer said in a post on X.\n\nThe English Channel is one of the world’s busiest shipping lanes and a critical route for energy and commercial trade between Europe and global markets.\n\nThe incident comes as Western nations continue to tighten enforcement measures aimed at restricting Russia’s ability to generate revenue from oil exports while maintaining support for Ukraine.",
                    "publishedAt": "2026-06-14T07:05:22Z"
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:investing/analysis": {
      "get": {
        "operationId": "finance_investing_analysis",
        "summary": "Analysis",
        "description": "Artikel analisis/opini per instrumen.",
        "tags": [
          "Investing"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/investing#reference-analysis"
        },
        "parameters": [
          {
            "name": "query",
            "in": "query",
            "required": true,
            "description": "Simbol/nama instrumen (mis. AAPL, Tesla)",
            "schema": {
              "type": "string",
              "example": "AAPL"
            }
          },
          {
            "name": "pairId",
            "in": "query",
            "required": false,
            "description": "Override pair ID internal (lewati resolusi simbol)",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "description": "Nomor halaman (default 1)",
            "schema": {
              "type": "number",
              "default": 1,
              "example": "1"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "page": 1,
                    "count": 10,
                    "items": [
                      {
                        "url": "http://www.investing.com/analysis/spacex-guide-everything-you-need-to-know-about-the-biggest-ipo-in-history-200682043",
                        "image": "https://d1-invdn-com.investing.com/company_logo/85038e5c6dc77e60512aa6c2ea4bd961.jpg",
                        "title": "SpaceX Guide: Everything You Need to Know About the Biggest IPO in History",
                        "author": "Thomas Monteiro",
                        "excerpt": "SpaceX begins trading on Nasdaq today under the ticker SPCX, targeting a valuation of approximately $1.75 trillion and seeking to...",
                        "articleId": 200682043,
                        "publishedAt": "2026-06-12T18:02:17.000Z"
                      },
                      {
                        "url": "http://www.investing.com/analysis/week-ahead-central-bank-decisions-us-retail-sales-and-japan-inflation-in-focus-200682072",
                        "image": "https://d1-invdn-com.investing.com/company_logo/202cdce0d0cd64f29fca913a2c714f3a.jpg",
                        "title": "Week Ahead: Central Bank Decisions, US Retail Sales, and Japan Inflation in Focus",
                        "author": "Ryan Anderson",
                        "excerpt": "\nMON: G7 Summit (15-17 Jun), German Wholesale Prices (May), Indian WPI (May), EZ Industrial Production (Apr), US Industrial...",
                        "articleId": 200682072,
                        "publishedAt": "2026-06-12T14:57:49.000Z"
                      },
                      {
                        "url": "http://www.investing.com/analysis/the-largest-public-offering-in-history-spacex-ipo-comes-with-a-stratospheric-risk-200681913",
                        "image": "https://d1-invdn-com.investing.com/company_logo/54f1b84dfaaf7a6d5075200b13f21246.jpg",
                        "title": "The Largest Public Offering in History: SpaceX IPO Comes With a Stratospheric Risk",
                        "author": "Arturo Gómez Gutiérrez",
                        "excerpt": "When Saudi Aramco listed on the Tadawul exchange in December 2019, it set a benchmark that the financial world assumed would stand...",
                        "articleId": 200681913,
                        "publishedAt": "2026-06-10T18:36:50.000Z"
                      },
                      {
                        "url": "http://www.investing.com/analysis/apples-siri-ai-was-finally-announced--so-why-is-the-stock-tanking-200681818",
                        "image": "https://d1-invdn-com.investing.com/company_logo/2ca976c96d700a6557ba4064971fc3ca.jpg",
                        "title": "Apple’s Siri AI Was Finally Announced - So Why Is the Stock Tanking?",
                        "author": "Sam Quirke ",
                        "excerpt": "Apple Inc (NASDAQ:AAPL) started the week with an almost-perfect setup. Multiple quarters of solid results, a market that’s been...",
                        "articleId": 200681818,
                        "publishedAt": "2026-06-09T15:56:23.000Z"
                      },
                      {
                        "url": "http://www.investing.com/analysis/apple-intelligence-monetization-is-the-real-wwdc-story-200681775",
                        "image": "https://d1-invdn-com.investing.com/company_logo/e65d0784b05fbedf064b2abd0dc70a29.jpg",
                        "title": "Apple Intelligence Monetization Is the Real WWDC Story",
                        "author": "Opeyemi Babalola",
                        "excerpt": "Apple’s Siri AI launch signals a new iCloud+ revenue push, but a vague launch timeline sent AAPL down nearly 2% on June 8,...",
                        "articleId": 200681775,
                        "publishedAt": "2026-06-09T08:38:43.000Z"
                      },
                      {
                        "url": "http://www.investing.com/analysis/week-in-focus-us-cpi-opec-boc-ecb-uk-gdp-and-china-inflation-200681607",
                        "image": "https://d1-invdn-com.investing.com/company_logo/202cdce0d0cd64f29fca913a2c714f3a.jpg",
                        "title": "Week in Focus: US CPI, OPEC, BoC, ECB, UK GDP and China Inflation",
                        "author": "Ryan Anderson",
                        "excerpt": "\nSUN: OPEC/JMMC Meeting (Jun)\nMON: Japanese GDP (Q1), German Factory Orders (Apr), US Consumer Inflation Expectations\nTUE: EIA...",
                        "articleId": 200681607,
                        "publishedAt": "2026-06-05T13:32:04.000Z"
                      },
                      {
                        "url": "http://www.investing.com/analysis/what-exactly-is-agentic-ai-and-why-are-some-stocks-blowing-up-because-of-it-200681295",
                        "image": "https://d1-invdn-com.investing.com/company_logo/2ca976c96d700a6557ba4064971fc3ca.jpg",
                        "title": "What Exactly Is Agentic AI, and Why Are Some Stocks Blowing Up Because of It?",
                        "author": "Sam Quirke ",
                        "excerpt": "There is a new phrase dominating Wall Street right now, and if you have been paying attention to earnings calls, analyst notes, or...",
                        "articleId": 200681295,
                        "publishedAt": "2026-06-01T16:55:26.000Z"
                      },
                      {
                        "url": "http://www.investing.com/analysis/dell-takes-aim-at-apple-with-a-699-xps-13-200681259",
                        "image": "https://d1-invdn-com.investing.com/company_logo/ad848e2ff2022b304416fb3bdd9194c4.jpg",
                        "title": "Dell Takes Aim at Apple With a $699 XPS 13",
                        "author": "Boluwatife Remy",
                        "excerpt": "Apple (NASDAQ:AAPL) changed the conversation about laptop pricing earlier this year, and Dell (NYSE:DELL) just fired back in the...",
                        "articleId": 200681259,
                        "publishedAt": "2026-06-01T09:36:15.000Z"
                      }
                    ],
                    "pairId": 6408,
                    "symbol": "AAPL",
                    "hasMore": true,
                    "nextPage": 2
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:investing/calendar": {
      "get": {
        "operationId": "finance_investing_calendar",
        "summary": "Calendar",
        "description": "Kalender ekonomi (filter negara/importance/rentang).",
        "tags": [
          "Investing"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/investing#reference-calendar"
        },
        "parameters": [
          {
            "name": "country",
            "in": "query",
            "required": false,
            "description": "Kode negara (US, EU, GB, JP, CN, ID, ...). Kosong = basket negara major utama",
            "schema": {
              "type": "string",
              "example": "US"
            }
          },
          {
            "name": "importance",
            "in": "query",
            "required": false,
            "description": "Tingkat dampak event. Default all (semua tingkat)",
            "schema": {
              "type": "string",
              "enum": [
                "all",
                "high",
                "medium",
                "low"
              ],
              "example": "high"
            }
          },
          {
            "name": "range",
            "in": "query",
            "required": false,
            "description": "Rentang waktu: today, tomorrow, atau week (default today)",
            "schema": {
              "type": "string",
              "enum": [
                "today",
                "tomorrow",
                "week"
              ],
              "default": "today",
              "example": "today"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "count": 87,
                    "range": "week",
                    "events": [
                      {
                        "date": "2026-06-15",
                        "time": "08:30",
                        "event": "NY Empire State Manufacturing Index  (Jun)",
                        "country": "United States",
                        "currency": "USD",
                        "datetime": "2026/06/15 08:30:00",
                        "forecast": "13.20",
                        "previous": "19.60",
                        "importance": 2
                      },
                      {
                        "date": "2026-06-15",
                        "time": "09:15",
                        "event": "Capacity Utilization Rate  (May)",
                        "country": "United States",
                        "currency": "USD",
                        "datetime": "2026/06/15 09:15:00",
                        "forecast": "76.2%",
                        "previous": "76.1%",
                        "importance": 1
                      },
                      {
                        "date": "2026-06-15",
                        "time": "09:15",
                        "event": "Industrial Production (YoY)  (May)",
                        "country": "United States",
                        "currency": "USD",
                        "datetime": "2026/06/15 09:15:00",
                        "previous": "1.35%",
                        "importance": 2
                      },
                      {
                        "date": "2026-06-15",
                        "time": "09:15",
                        "event": "Industrial Production (MoM)  (May)",
                        "country": "United States",
                        "currency": "USD",
                        "datetime": "2026/06/15 09:15:00",
                        "forecast": "0.3%",
                        "previous": "0.7%",
                        "importance": 2
                      },
                      {
                        "date": "2026-06-15",
                        "time": "09:15",
                        "event": "Manufacturing Production (MoM)  (May)",
                        "country": "United States",
                        "currency": "USD",
                        "datetime": "2026/06/15 09:15:00",
                        "previous": "0.6%",
                        "importance": 1
                      },
                      {
                        "date": "2026-06-15",
                        "time": "10:00",
                        "event": "NAHB Housing Market Index  (Jun)",
                        "country": "United States",
                        "currency": "USD",
                        "datetime": "2026/06/15 10:00:00",
                        "forecast": "36",
                        "previous": "37",
                        "importance": 1
                      },
                      {
                        "date": "2026-06-15",
                        "time": "11:30",
                        "event": "3-Month Bill Auction",
                        "country": "United States",
                        "currency": "USD",
                        "datetime": "2026/06/15 11:30:00",
                        "previous": "3.640%",
                        "importance": 1
                      },
                      {
                        "date": "2026-06-15",
                        "time": "11:30",
                        "event": "6-Month Bill Auction",
                        "country": "United States",
                        "currency": "USD",
                        "datetime": "2026/06/15 11:30:00",
                        "previous": "3.690%",
                        "importance": 1
                      }
                    ],
                    "country": "US",
                    "importance": "all"
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:ojk/aum": {
      "get": {
        "operationId": "finance_ojk_aum",
        "summary": "Assets under management",
        "description": "Industry AUM by product class, as the regulator publishes it.",
        "tags": [
          "OJK"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/ojk#reference-aum"
        },
        "parameters": [
          {
            "name": "product",
            "in": "query",
            "required": false,
            "description": "Restrict to one product type. Default all",
            "schema": {
              "type": "string",
              "enum": [
                "all",
                "KPD",
                "Reksadana",
                "DINFRA",
                "RDPT",
                "EBA",
                "DIRE"
              ],
              "default": "all",
              "example": "Reksadana"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "count": 6,
                    "items": [
                      {
                        "aum": 309639542743730,
                        "asOf": "2026-06",
                        "product": "KPD",
                        "reported": true,
                        "description": "Discretionary fund management"
                      },
                      {
                        "aum": 56903632196214,
                        "asOf": "2026-07",
                        "product": "Reksadana",
                        "reported": true,
                        "description": "Mutual funds"
                      },
                      {
                        "aum": null,
                        "asOf": null,
                        "product": "DINFRA",
                        "reported": false,
                        "description": "Infrastructure investment fund"
                      },
                      {
                        "aum": null,
                        "asOf": null,
                        "product": "RDPT",
                        "reported": false,
                        "description": "Limited participation mutual fund"
                      },
                      {
                        "aum": 3664784131297,
                        "asOf": "2026-06",
                        "product": "EBA",
                        "reported": true,
                        "description": "Asset-backed securities"
                      },
                      {
                        "aum": 11254726500028,
                        "asOf": "2026-06",
                        "product": "DIRE",
                        "reported": true,
                        "description": "Real estate investment fund"
                      }
                    ],
                    "source": "ojk",
                    "product": "all",
                    "currency": "IDR",
                    "totalAum": 381462685571269,
                    "latestPeriod": "2026-07"
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:pegadaian/gold-price": {
      "get": {
        "operationId": "finance_pegadaian_gold_price",
        "summary": "Gold price",
        "description": "Today's buy and sell price per gram, and the spread.",
        "tags": [
          "Pegadaian Gold"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/pegadaian#reference-gold-price"
        },
        "parameters": [
          {
            "name": "x",
            "in": "query",
            "required": false,
            "description": "Unused — the current price takes no parameters",
            "schema": {
              "type": "string",
              "example": ""
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "date": "2026-08-01",
                    "metal": "gold",
                    "source": "pegadaian",
                    "currency": "IDR",
                    "unitGram": 0.01,
                    "buyPerGram": 2367000,
                    "buyPerUnit": 23670,
                    "sellPerGram": 2492000,
                    "sellPerUnit": 24920,
                    "spreadPerGram": 125000
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:pegadaian/gold-history": {
      "get": {
        "operationId": "finance_pegadaian_gold_history",
        "summary": "Gold history",
        "description": "Daily buy/sell history over 7 to 360 days.",
        "tags": [
          "Pegadaian Gold"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/pegadaian#reference-gold-history"
        },
        "parameters": [
          {
            "name": "days",
            "in": "query",
            "required": false,
            "description": "Window length in days. Default 30",
            "schema": {
              "type": "string",
              "enum": [
                "7",
                "30",
                "90",
                "180",
                "360"
              ],
              "default": "30",
              "example": "30"
            }
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "description": "Which side to return. Default all",
            "schema": {
              "type": "string",
              "enum": [
                "all",
                "sell",
                "buy"
              ],
              "default": "all",
              "example": "all"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "days": 30,
                    "type": "all",
                    "count": 30,
                    "items": [
                      {
                        "date": "2026-08-01",
                        "buyPerGram": 2367000,
                        "sellPerGram": 2492000,
                        "spreadPerGram": 125000
                      },
                      {
                        "date": "2026-07-31",
                        "buyPerGram": 2392000,
                        "sellPerGram": 2518000,
                        "spreadPerGram": 126000
                      },
                      {
                        "date": "2026-07-30",
                        "buyPerGram": 2387000,
                        "sellPerGram": 2513000,
                        "spreadPerGram": 126000
                      },
                      {
                        "date": "2026-07-29",
                        "buyPerGram": 2367000,
                        "sellPerGram": 2492000,
                        "spreadPerGram": 125000
                      },
                      {
                        "date": "2026-07-28",
                        "buyPerGram": 2378000,
                        "sellPerGram": 2504000,
                        "spreadPerGram": 126000
                      },
                      {
                        "date": "2026-07-27",
                        "buyPerGram": 2394000,
                        "sellPerGram": 2520000,
                        "spreadPerGram": 126000
                      },
                      {
                        "date": "2026-07-26",
                        "buyPerGram": 2378000,
                        "sellPerGram": 2504000,
                        "spreadPerGram": 126000
                      },
                      {
                        "date": "2026-07-25",
                        "buyPerGram": 2378000,
                        "sellPerGram": 2504000,
                        "spreadPerGram": 126000
                      }
                    ],
                    "metal": "gold",
                    "source": "pegadaian",
                    "currency": "IDR"
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:qris/convert": {
      "get": {
        "operationId": "finance_qris_convert",
        "summary": "Convert",
        "description": "Convert dari QRIS string (paste).",
        "tags": [
          "QRIS Static → Dynamic"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/qris#reference-convert"
        },
        "parameters": [
          {
            "name": "qris",
            "in": "query",
            "required": true,
            "description": "QRIS Static string (paste). Otomatis di-convert ke dynamic.",
            "schema": {
              "type": "string",
              "example": "00020101021126180014ID.CO.QRIS.WWW52045999530336054054000005802ID5910TOKO SAYUR6007JAKARTA6304ABCD"
            }
          },
          {
            "name": "amount",
            "in": "query",
            "required": true,
            "description": "Nominal transaksi (Rupiah, tanpa titik/desimal).",
            "schema": {
              "type": "number",
              "example": "15000"
            }
          },
          {
            "name": "feeType",
            "in": "query",
            "required": false,
            "description": "Biaya layanan: none (default), fixed (rupiah), percent (persen).",
            "schema": {
              "type": "string",
              "enum": [
                "none",
                "fixed",
                "percent"
              ],
              "default": "none"
            }
          },
          {
            "name": "feeValue",
            "in": "query",
            "required": false,
            "description": "Nilai fee — rupiah kalau fixed, persen kalau percent. Wajib kalau feeType != none.",
            "schema": {
              "type": "number",
              "example": "1000"
            }
          },
          {
            "name": "withImage",
            "in": "query",
            "required": false,
            "description": "Sertakan QR image (base64 data URL) di response.",
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "false"
              ],
              "default": "true"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "fee": null,
                    "amount": 15000,
                    "static": "00020101021126180014ID.CO.QRIS.WWW52045999530336054054000005802ID5910TOKO SAYUR6007JAKARTA6304ABCD",
                    "dynamic": "00020101021226180014ID.CO.QRIS.WWW52045999530336054054000005405150005802ID5910TOKO SAYUR6007JAKARTA63044ABA",
                    "qrImage": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAS...(truncated base64 PNG)",
                    "merchant": {
                      "name": "TOKO SAYUR",
                      "location": "JAKARTA"
                    },
                    "inputType": "string"
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:qris/scan": {
      "post": {
        "operationId": "finance_qris_scan",
        "summary": "Scan",
        "description": "Convert dari upload gambar QR.",
        "tags": [
          "QRIS Static → Dynamic"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/qris#reference-scan"
        },
        "parameters": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "fee": null,
                    "amount": 50000,
                    "static": "00020101021126180014ID.CO.QRIS.WWW52045999530336054054000005802ID5910TOKO SAYUR6007JAKARTA6304ABCD",
                    "dynamic": "00020101021226180014ID.CO.QRIS.WWW52045999530336054054000005405500005802ID5910TOKO SAYUR6007JAKARTA63047C4B",
                    "qrImage": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAS...(truncated base64 PNG)",
                    "merchant": {
                      "name": "TOKO SAYUR",
                      "location": "JAKARTA"
                    },
                    "inputType": "image"
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "image",
                  "amount"
                ],
                "properties": {
                  "image": {
                    "type": "string",
                    "format": "binary",
                    "example": "qris.png"
                  },
                  "amount": {
                    "type": "number",
                    "example": "15000"
                  },
                  "feeType": {
                    "type": "string",
                    "enum": [
                      "none",
                      "fixed",
                      "percent"
                    ],
                    "default": "none"
                  },
                  "feeValue": {
                    "type": "number",
                    "example": "1000"
                  },
                  "withImage": {
                    "type": "string",
                    "enum": [
                      "true",
                      "false"
                    ],
                    "default": "true"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/finance:saweria/profile/{username}": {
      "get": {
        "operationId": "finance_saweria_profile",
        "summary": "Profil Kreator",
        "description": "Info kreator Saweria: nama, avatar, deskripsi, nominal cepat, dan sosial media.",
        "tags": [
          "Saweria"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/saweria#reference-profile"
        },
        "parameters": [
          {
            "name": "username",
            "in": "path",
            "required": true,
            "description": "Username Saweria kreator (boleh @username atau URL saweria.co/...)",
            "schema": {
              "type": "string",
              "example": "zaadevofc"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "id": "0ed02b12-460e-4008-9dfc-501e320c986d",
                    "plus": true,
                    "avatar": "https://saweria-space.sgp1.cdn.digitaloceanspaces.com/prd/pp/0ed02b12-460e-4008-9dfc-501e320c986d-e2c0303a-2759-4b56-880a-8a5707e90c04.jpg",
                    "socials": {
                      "youtube": "zaadevofc",
                      "instagram": "zaadevofc"
                    },
                    "currency": "IDR",
                    "provider": "saweria",
                    "username": "zaadevofc",
                    "verified": false,
                    "profileUrl": "https://saweria.co/zaadevofc",
                    "description": "thanks for support my work ^^",
                    "hasWishlist": false,
                    "minDonation": 10000,
                    "quickAmounts": [
                      5000,
                      25000,
                      50000,
                      100000
                    ]
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:saweria/donate/{username}": {
      "post": {
        "operationId": "finance_saweria_donate",
        "summary": "Buat Donasi QRIS",
        "description": "Bikin tagihan donasi QRIS anonim ke kreator. Balikin QR string, gambar QR, link bayar, dan nominal yang harus dibayar.",
        "tags": [
          "Saweria"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/saweria#reference-donate"
        },
        "parameters": [
          {
            "name": "username",
            "in": "path",
            "required": true,
            "description": "Username Saweria yang mau didonasi (boleh @username atau URL)",
            "schema": {
              "type": "string",
              "example": "zaadevofc"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "to": "zaadevofc",
                    "from": "Anonim",
                    "amount": 10000,
                    "payUrl": "https://saweria.co/qris/snap/d5451d2c-3458-40f0-9478-567ef79354c9",
                    "status": "pending",
                    "message": "Semangat terus berkarya!",
                    "qrImage": "https://api.qrserver.com/v1/create-qr-code/?size=320x320&data=00020101021226650013CO.XENDIT.WWW01189360084800000000020215WNtXtb6qmr4ZJBw0303UME51370014ID.CO.QRIS.WWW0215ID20253781998505204509953033605405100715802ID5922PT%20Harta%20Tahta%20Sukaria6013JAKARTA%20PUSAT61051034062290525N1IubOiVqCoMkRIWWFkTa8AgU630414E8",
                    "currency": "IDR",
                    "provider": "saweria",
                    "qrString": "00020101021226650013CO.XENDIT.WWW01189360084800000000020215WNtXtb6qmr4ZJBw0303UME51370014ID.CO.QRIS.WWW0215ID20253781998505204509953033605405100715802ID5922PT Harta Tahta Sukaria6013JAKARTA PUSAT61051034062290525N1IubOiVqCoMkRIWWFkTa8AgU630414E8",
                    "createdAt": "Fri, 12 Jun 2026 03:27:36 GMT",
                    "donationId": "d5451d2c-3458-40f0-9478-567ef79354c9",
                    "amountToPay": 10071,
                    "paymentType": "qris"
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "amount"
                ],
                "properties": {
                  "amount": {
                    "type": "number",
                    "example": "10000"
                  },
                  "message": {
                    "type": "string",
                    "example": "Semangat terus berkarya!"
                  },
                  "name": {
                    "type": "string",
                    "example": "Anonim"
                  },
                  "email": {
                    "type": "string",
                    "example": "donatur@example.com"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/finance:saweria/status/{donationId}": {
      "get": {
        "operationId": "finance_saweria_status",
        "summary": "Cek Status Donasi",
        "description": "Cek apakah donasi QRIS sudah dibayar (paid/pending/expired). Poll pakai donationId dari endpoint donate.",
        "tags": [
          "Saweria"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/saweria#reference-status"
        },
        "parameters": [
          {
            "name": "donationId",
            "in": "path",
            "required": true,
            "description": "ID tagihan donasi dari endpoint donate",
            "schema": {
              "type": "string",
              "example": "0dc802ff-19ac-4558-a3c8-9f7d88aa04d4"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "to": "zaadevofc",
                    "amount": 10071,
                    "isPaid": false,
                    "status": "pending",
                    "currency": "IDR",
                    "provider": "saweria",
                    "qrString": "00020101021226650013CO.XENDIT.WWW01189360084800000000020215WNtXtb6qmr4ZJBw0303UME51370014ID.CO.QRIS.WWW0215ID20253781998505204509953033605405100715802ID5922PT Harta Tahta Sukaria6013JAKARTA PUSAT61051034062290525P2Y5NROondzrK6Hwj5Jxlu92V6304D73C",
                    "createdAt": "Fri, 12 Jun 2026 03:27:59 GMT",
                    "donationId": "0dc802ff-19ac-4558-a3c8-9f7d88aa04d4",
                    "amountToPay": 10071
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:sec-edgar/search": {
      "get": {
        "operationId": "finance_sec_edgar_search",
        "summary": "Search filings",
        "description": "Full-text search across every filing since 2001.",
        "tags": [
          "SEC EDGAR"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/sec-edgar#reference-search"
        },
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": false,
            "description": "Phrase to search. Quote it for an exact match",
            "schema": {
              "type": "string",
              "example": "\"supply chain risk\""
            }
          },
          {
            "name": "company",
            "in": "query",
            "required": false,
            "description": "Restrict to an issuer by name or ticker",
            "schema": {
              "type": "string",
              "example": "apple"
            }
          },
          {
            "name": "forms",
            "in": "query",
            "required": false,
            "description": "Comma-separated form types, e.g. 10-K,8-K",
            "schema": {
              "type": "string",
              "example": "10-K"
            }
          },
          {
            "name": "from",
            "in": "query",
            "required": false,
            "description": "Earliest filing date, YYYY-MM-DD",
            "schema": {
              "type": "string",
              "example": "2025-01-01"
            }
          },
          {
            "name": "to",
            "in": "query",
            "required": false,
            "description": "Latest filing date, YYYY-MM-DD",
            "schema": {
              "type": "string",
              "example": "2025-12-31"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "description": "Page number, 100 results per page. Default 1, max 100",
            "schema": {
              "type": "number",
              "default": 1,
              "example": "1"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "page": 1,
                    "count": 100,
                    "items": [
                      {
                        "cik": "0000815097",
                        "sic": "4400",
                        "url": "https://www.sec.gov/Archives/edgar/data/815097/000081509723000012/ccl-20221130.htm",
                        "form": "10-K",
                        "ticker": "CCL",
                        "company": "CARNIVAL CORP",
                        "filedAt": "2023-01-27",
                        "document": "ccl-20221130.htm",
                        "location": "Miami, FL",
                        "periodEnding": "2022-11-30",
                        "accessionNumber": "0000815097-23-000012"
                      },
                      {
                        "cik": "0001408198",
                        "sic": "7389",
                        "url": "https://www.sec.gov/Archives/edgar/data/1408198/000140819826000011/msci-20251231.htm",
                        "form": "10-K",
                        "ticker": "MSCI",
                        "company": "MSCI Inc.",
                        "filedAt": "2026-02-06",
                        "document": "msci-20251231.htm",
                        "location": "New York, NY",
                        "periodEnding": "2025-12-31",
                        "accessionNumber": "0001408198-26-000011"
                      },
                      {
                        "cik": "0001408198",
                        "sic": "7389",
                        "url": "https://www.sec.gov/Archives/edgar/data/1408198/000140819823000011/msci-20221231.htm",
                        "form": "10-K",
                        "ticker": "MSCI",
                        "company": "MSCI Inc.",
                        "filedAt": "2023-02-10",
                        "document": "msci-20221231.htm",
                        "location": "New York, NY",
                        "periodEnding": "2022-12-31",
                        "accessionNumber": "0001408198-23-000011"
                      },
                      {
                        "cik": "0001408198",
                        "sic": "7389",
                        "url": "https://www.sec.gov/Archives/edgar/data/1408198/000140819824000030/msci-20231231.htm",
                        "form": "10-K",
                        "ticker": "MSCI",
                        "company": "MSCI Inc.",
                        "filedAt": "2024-02-09",
                        "document": "msci-20231231.htm",
                        "location": "New York, NY",
                        "periodEnding": "2023-12-31",
                        "accessionNumber": "0001408198-24-000030"
                      },
                      {
                        "cik": "0001408198",
                        "sic": "7389",
                        "url": "https://www.sec.gov/Archives/edgar/data/1408198/000140819825000053/msci-20241231.htm",
                        "form": "10-K",
                        "ticker": "MSCI",
                        "company": "MSCI Inc.",
                        "filedAt": "2025-02-07",
                        "document": "msci-20241231.htm",
                        "location": "New York, NY",
                        "periodEnding": "2024-12-31",
                        "accessionNumber": "0001408198-25-000053"
                      },
                      {
                        "cik": "0001408198",
                        "sic": "7389",
                        "url": "https://www.sec.gov/Archives/edgar/data/1408198/000156459022004803/msci-10k_20211231.htm",
                        "form": "10-K",
                        "ticker": "MSCI",
                        "company": "MSCI Inc.",
                        "filedAt": "2022-02-11",
                        "document": "msci-10k_20211231.htm",
                        "location": "New York, NY",
                        "periodEnding": "2021-12-31",
                        "accessionNumber": "0001564590-22-004803"
                      },
                      {
                        "cik": "0000815097",
                        "sic": "4400",
                        "url": "https://www.sec.gov/Archives/edgar/data/815097/000081509724000011/ccl-20231130.htm",
                        "form": "10-K",
                        "ticker": "CCL",
                        "company": "CARNIVAL CORP",
                        "filedAt": "2024-01-26",
                        "document": "ccl-20231130.htm",
                        "location": "Miami, FL",
                        "periodEnding": "2023-11-30",
                        "accessionNumber": "0000815097-24-000011"
                      },
                      {
                        "cik": "0000067347",
                        "sic": "3714",
                        "url": "https://www.sec.gov/Archives/edgar/data/67347/000110465926066795/mod-20260331x10k.htm",
                        "form": "10-K",
                        "ticker": "MOD",
                        "company": "MODINE MANUFACTURING CO",
                        "filedAt": "2026-05-27",
                        "document": "mod-20260331x10k.htm",
                        "location": "Racine, WI",
                        "periodEnding": "2026-03-31",
                        "accessionNumber": "0001104659-26-066795"
                      }
                    ],
                    "query": "climate risk",
                    "total": 10000,
                    "company": null,
                    "hasMore": true,
                    "nextPage": 2,
                    "provider": "sec-edgar",
                    "totalIsLowerBound": true
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:sec-edgar/company": {
      "get": {
        "operationId": "finance_sec_edgar_company",
        "summary": "Company",
        "description": "Resolve a name or ticker to an issuer profile.",
        "tags": [
          "SEC EDGAR"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/sec-edgar#reference-company"
        },
        "parameters": [
          {
            "name": "company",
            "in": "query",
            "required": false,
            "description": "Company name or ticker to resolve",
            "schema": {
              "type": "string",
              "example": "apple"
            }
          },
          {
            "name": "cik",
            "in": "query",
            "required": false,
            "description": "Central Index Key, if already known",
            "schema": {
              "type": "string",
              "example": "320193"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "cik": "0000320193",
                    "ein": "942404110",
                    "sic": "3571",
                    "city": "CUPERTINO",
                    "name": "Apple Inc.",
                    "phone": "(408) 996-1010",
                    "state": "CA",
                    "tickers": [
                      "AAPL"
                    ],
                    "category": "Large accelerated filer",
                    "industry": "Electronic Computers",
                    "provider": "sec-edgar",
                    "exchanges": [
                      "Nasdaq"
                    ],
                    "entityType": "operating",
                    "filingCount": 1000,
                    "formerNames": [
                      {
                        "to": "2019-08-05",
                        "from": "2007-01-10",
                        "name": "APPLE INC"
                      },
                      {
                        "to": "2007-01-04",
                        "from": "1994-01-26",
                        "name": "APPLE COMPUTER INC"
                      },
                      {
                        "to": "1997-07-28",
                        "from": "1997-07-28",
                        "name": "APPLE COMPUTER INC/ FA"
                      }
                    ],
                    "alternatives": [
                      {
                        "cik": "0001418121",
                        "name": "Apple Hospitality REIT, Inc.",
                        "ticker": "APLE"
                      },
                      {
                        "cik": "0000320193",
                        "name": "Apple Inc.",
                        "ticker": "AAPL"
                      },
                      {
                        "cik": "0001498864",
                        "name": "Apple REIT Ten, Inc."
                      },
                      {
                        "cik": "0000320193",
                        "name": "APPLE COMPUTER INC",
                        "ticker": "AAPL"
                      },
                      {
                        "cik": "0001418121",
                        "name": "Apple REIT Nine, Inc.",
                        "ticker": "APLE"
                      }
                    ],
                    "fiscalYearEnd": "0926",
                    "stateOfIncorporation": "CA"
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:sec-edgar/filings": {
      "get": {
        "operationId": "finance_sec_edgar_filings",
        "summary": "Filings",
        "description": "An issuer's recent filings, filterable by form type.",
        "tags": [
          "SEC EDGAR"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/sec-edgar#reference-filings"
        },
        "parameters": [
          {
            "name": "company",
            "in": "query",
            "required": false,
            "description": "Company name or ticker",
            "schema": {
              "type": "string",
              "example": "apple"
            }
          },
          {
            "name": "cik",
            "in": "query",
            "required": false,
            "description": "Central Index Key, if already known",
            "schema": {
              "type": "string",
              "example": "320193"
            }
          },
          {
            "name": "form",
            "in": "query",
            "required": false,
            "description": "Restrict to one form type, e.g. 10-K, 8-K, 4",
            "schema": {
              "type": "string",
              "example": "10-K"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "description": "Page number. Default 1",
            "schema": {
              "type": "number",
              "default": 1,
              "example": "1"
            }
          },
          {
            "name": "count",
            "in": "query",
            "required": false,
            "description": "Rows per page. Default 25, max 100",
            "schema": {
              "type": "number",
              "default": 25,
              "example": "25"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "cik": "0000320193",
                    "form": "10-K",
                    "page": 1,
                    "count": 5,
                    "items": [
                      {
                        "url": "https://www.sec.gov/Archives/edgar/data/320193/000032019325000079/aapl-20250927.htm",
                        "form": "10-K",
                        "size": 9392337,
                        "isXbrl": true,
                        "filedAt": "2025-10-31",
                        "acceptedAt": "2025-10-31T10:01:26.000Z",
                        "fileNumber": "001-36743",
                        "reportDate": "2025-09-27",
                        "description": "10-K",
                        "accessionNumber": "0000320193-25-000079"
                      },
                      {
                        "url": "https://www.sec.gov/Archives/edgar/data/320193/000032019324000123/aapl-20240928.htm",
                        "form": "10-K",
                        "size": 9759333,
                        "isXbrl": true,
                        "filedAt": "2024-11-01",
                        "acceptedAt": "2024-11-01T10:01:36.000Z",
                        "fileNumber": "001-36743",
                        "reportDate": "2024-09-28",
                        "description": "10-K",
                        "accessionNumber": "0000320193-24-000123"
                      },
                      {
                        "url": "https://www.sec.gov/Archives/edgar/data/320193/000032019323000106/aapl-20230930.htm",
                        "form": "10-K",
                        "size": 9569569,
                        "isXbrl": true,
                        "filedAt": "2023-11-03",
                        "acceptedAt": "2023-11-02T22:08:27.000Z",
                        "fileNumber": "001-36743",
                        "reportDate": "2023-09-30",
                        "description": "10-K",
                        "accessionNumber": "0000320193-23-000106"
                      },
                      {
                        "url": "https://www.sec.gov/Archives/edgar/data/320193/000032019322000108/aapl-20220924.htm",
                        "form": "10-K",
                        "size": 10332356,
                        "isXbrl": true,
                        "filedAt": "2022-10-28",
                        "acceptedAt": "2022-10-27T22:01:14.000Z",
                        "fileNumber": "001-36743",
                        "reportDate": "2022-09-24",
                        "description": "10-K",
                        "accessionNumber": "0000320193-22-000108"
                      },
                      {
                        "url": "https://www.sec.gov/Archives/edgar/data/320193/000032019321000105/aapl-20210925.htm",
                        "form": "10-K",
                        "size": 10502096,
                        "isXbrl": true,
                        "filedAt": "2021-10-29",
                        "acceptedAt": "2021-10-28T22:04:28.000Z",
                        "fileNumber": "001-36743",
                        "reportDate": "2021-09-25",
                        "description": "10-K",
                        "accessionNumber": "0000320193-21-000105"
                      }
                    ],
                    "total": 11,
                    "company": "Apple Inc.",
                    "hasMore": true,
                    "tickers": [
                      "AAPL"
                    ],
                    "nextPage": 2,
                    "provider": "sec-edgar"
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:sec-edgar/concept": {
      "get": {
        "operationId": "finance_sec_edgar_concept",
        "summary": "Concept",
        "description": "One reported figure across every period an issuer filed.",
        "tags": [
          "SEC EDGAR"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/sec-edgar#reference-concept"
        },
        "parameters": [
          {
            "name": "company",
            "in": "query",
            "required": false,
            "description": "Company name or ticker",
            "schema": {
              "type": "string",
              "example": "apple"
            }
          },
          {
            "name": "cik",
            "in": "query",
            "required": false,
            "description": "Central Index Key, if already known",
            "schema": {
              "type": "string",
              "example": "320193"
            }
          },
          {
            "name": "tag",
            "in": "query",
            "required": false,
            "description": "XBRL tag, e.g. Revenues, Assets, NetIncomeLoss",
            "schema": {
              "type": "string",
              "default": "Revenues",
              "example": "Revenues"
            }
          },
          {
            "name": "taxonomy",
            "in": "query",
            "required": false,
            "description": "Reporting taxonomy. Default us-gaap",
            "schema": {
              "type": "string",
              "enum": [
                "us-gaap",
                "ifrs-full",
                "dei",
                "srt"
              ],
              "default": "us-gaap",
              "example": "us-gaap"
            }
          },
          {
            "name": "period",
            "in": "query",
            "required": false,
            "description": "Restrict by reporting length. Default all",
            "schema": {
              "type": "string",
              "enum": [
                "all",
                "annual",
                "quarterly"
              ],
              "default": "all",
              "example": "all"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "cik": "0000320193",
                    "tag": "Revenues",
                    "unit": "USD",
                    "count": 3,
                    "items": [
                      {
                        "end": "2018-09-29",
                        "form": "10-K",
                        "frame": "CY2018",
                        "start": "2017-10-01",
                        "value": 265595000000,
                        "filedAt": "2018-11-05",
                        "fiscalYear": 2018,
                        "periodType": "duration",
                        "fiscalPeriod": "FY",
                        "accessionNumber": "0000320193-18-000145"
                      },
                      {
                        "end": "2017-09-30",
                        "form": "10-K",
                        "frame": "CY2017",
                        "start": "2016-09-25",
                        "value": 229234000000,
                        "filedAt": "2018-11-05",
                        "fiscalYear": 2018,
                        "periodType": "duration",
                        "fiscalPeriod": "FY",
                        "accessionNumber": "0000320193-18-000145"
                      },
                      {
                        "end": "2016-09-24",
                        "form": "10-K",
                        "frame": "CY2016",
                        "start": "2015-09-27",
                        "value": 215639000000,
                        "filedAt": "2018-11-05",
                        "fiscalYear": 2018,
                        "periodType": "duration",
                        "fiscalPeriod": "FY",
                        "accessionNumber": "0000320193-18-000145"
                      }
                    ],
                    "label": "Revenues",
                    "period": "annual",
                    "company": "Apple Inc.",
                    "provider": "sec-edgar",
                    "taxonomy": "us-gaap"
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:stockbit/symbol": {
      "get": {
        "operationId": "finance_stockbit_symbol",
        "summary": "Symbol",
        "description": "Harga terkini satu saham IDX: last, previous close, perubahan, volume, dan bid/offer terbaik.",
        "tags": [
          "Stockbit"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/stockbit#reference-symbol"
        },
        "parameters": [
          {
            "name": "symbol",
            "in": "query",
            "required": true,
            "description": "IDX ticker, e.g. BBCA",
            "schema": {
              "type": "string",
              "example": "BBCA"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "last": 6325,
                    "name": "Bank Central Asia Tbk.",
                    "type": "Saham",
                    "change": -125,
                    "sector": "Keuangan",
                    "symbol": "BBCA",
                    "volume": 153174800,
                    "bestBid": {
                      "price": 6350,
                      "volume": 2925000
                    },
                    "country": "ID",
                    "iconUrl": "https://assets.stockbit.com/logos/companies/BBCA.png",
                    "indexes": [
                      "TRADINGLIMIT",
                      "IDXVESTA28",
                      "ECONOMIC30",
                      "DAYTRADE",
                      "PRIMBANK10",
                      "IDXLQ45LCL"
                    ],
                    "exchange": "IDX",
                    "provider": "stockbit",
                    "bestOffer": {
                      "price": 6375,
                      "volume": 548800
                    },
                    "followers": 3303290,
                    "subSector": "Bank",
                    "tradeable": true,
                    "updatedAt": "2026-07-31T08:00:03+07:00",
                    "tradingDate": "31 Jul 2026",
                    "tradingTime": "Fri 16:14",
                    "averageValue": 284796460,
                    "marketStatus": "close",
                    "changePercent": -1.94,
                    "previousClose": 6450,
                    "unusualMarketActivity": false
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:stockbit/chart": {
      "get": {
        "operationId": "finance_stockbit_chart",
        "summary": "Chart",
        "description": "Deret harga intraday satu saham, satu titik per menit perdagangan.",
        "tags": [
          "Stockbit"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/stockbit#reference-chart"
        },
        "parameters": [
          {
            "name": "symbol",
            "in": "query",
            "required": true,
            "description": "IDX ticker, e.g. BBCA",
            "schema": {
              "type": "string",
              "example": "BBCA"
            }
          },
          {
            "name": "count",
            "in": "query",
            "required": false,
            "description": "Keep only the last N points. Default: the whole session",
            "schema": {
              "type": "number",
              "example": "100"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "count": 5,
                    "items": [
                      {
                        "time": "2026-07-31 16:09:00",
                        "price": 6325,
                        "change": -125,
                        "changePercent": -1.94
                      },
                      {
                        "time": "2026-07-31 16:10:00",
                        "price": 6325,
                        "change": -125,
                        "changePercent": -1.94
                      },
                      {
                        "time": "2026-07-31 16:11:00",
                        "price": 6325,
                        "change": -125,
                        "changePercent": -1.94
                      },
                      {
                        "time": "2026-07-31 16:12:00",
                        "price": 6325,
                        "change": -125,
                        "changePercent": -1.94
                      },
                      {
                        "time": "2026-07-31 16:14:00",
                        "price": 6325,
                        "change": -125,
                        "changePercent": -1.94
                      }
                    ],
                    "change": -125,
                    "symbol": "BBCA",
                    "interval": "intraday",
                    "provider": "stockbit",
                    "timeframe": "today",
                    "tradingDate": "31 Jul 2026",
                    "changePercent": -1.94,
                    "previousClose": 6450
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:stockbit/stream": {
      "get": {
        "operationId": "finance_stockbit_stream",
        "summary": "Stream",
        "description": "Postingan komunitas terbaru tentang satu saham.",
        "tags": [
          "Stockbit"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/stockbit#reference-stream"
        },
        "parameters": [
          {
            "name": "symbol",
            "in": "query",
            "required": true,
            "description": "IDX ticker, e.g. BBCA",
            "schema": {
              "type": "string",
              "example": "BBCA"
            }
          },
          {
            "name": "count",
            "in": "query",
            "required": false,
            "description": "Cap the list. Default: every post the page carries",
            "schema": {
              "type": "number",
              "example": "10"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "count": 5,
                    "items": [
                      {
                        "id": 34411610,
                        "isPro": false,
                        "likes": 0,
                        "images": [
                          "https://stream-asset.stockbit.com/283bb801-4e10-4e88-aba7-d8b862a61c45_stream.jpg"
                        ],
                        "content": "$IHSG $BTC $BBCA",
                        "replies": 0,
                        "dislikes": 0,
                        "fullName": "Ryusuf Ivan",
                        "isPinned": false,
                        "username": "RahardianYusufIvandyaz",
                        "createdAt": "2026-08-02 17:45:44",
                        "isOfficial": false
                      },
                      {
                        "id": 34411604,
                        "isPro": false,
                        "likes": 0,
                        "images": [
                          "https://stream-asset.stockbit.com/9364d3c0-b966-4b65-830b-64d6390969a9_stream.jpg"
                        ],
                        "content": "@NurseTyaaa Artinya Indonesia cerah 🚀😂. \n\n\nRT $IHSG $BBCA $BBRI",
                        "replies": 0,
                        "dislikes": 0,
                        "fullName": "Ovick",
                        "isPinned": false,
                        "username": "Taufik230295",
                        "createdAt": "2026-08-02 17:45:05",
                        "isOfficial": false
                      },
                      {
                        "id": 34411461,
                        "isPro": false,
                        "likes": 0,
                        "images": [
                          "https://stream-asset.stockbit.com/6c824ce3-a4d8-4de9-b0ed-dbfe3c695c76_stream.jpg"
                        ],
                        "content": "Dengan FL portofolio sudah stabil di bawah 10%, strategi di bulan Agustus ini kemungkinan timbun cash dulu di deposito bank digital $BBSI , antisipasi koreksi harga $BBRI dan $BBCA atau untuk menghadapi volatilitas harga menjelang bulan November nanti",
                        "replies": 0,
                        "dislikes": 0,
                        "fullName": "Yaih",
                        "isPinned": false,
                        "username": "herwindyowarihkusumo",
                        "createdAt": "2026-08-02 17:28:02",
                        "isOfficial": false
                      },
                      {
                        "id": 34411341,
                        "isPro": false,
                        "likes": 0,
                        "images": [
                          "https://stream-asset.stockbit.com/0b190f1b-c369-435a-96f2-c98607643e87_stream.jpg",
                          "https://stream-asset.stockbit.com/2d818ffe-0fd2-4842-a673-66b07f7f919c_stream.jpg",
                          "https://stream-asset.stockbit.com/e7a1aa89-dbec-4887-a58e-97997e374146_stream.jpg"
                        ],
                        "content": "platform sebelah bagus juga ya ngasih summary ini , sama flow dll\n.\nsemoga stockbit bisa nyusul 🤣\n.\ncapek Gonta ganti apps buat validasi move investasi\n.\n$BMRI $BBCA $BBRI",
                        "replies": 0,
                        "dislikes": 0,
                        "fullName": "Rama Abdurachman",
                        "isPinned": false,
                        "username": "ramaabd",
                        "createdAt": "2026-08-02 17:16:19",
                        "isOfficial": false
                      },
                      {
                        "id": 34411322,
                        "isPro": false,
                        "likes": 0,
                        "content": "Gemes lihat orang2 nulisnya laporan Q2, padahal laporan bulan Juni itu disebutnya semester 1, atau TW2, bukan Q2. Gimana sih ya... kan beda triwulanan ama kuartalan. $BBRI $BMRI $BBCA",
                        "replies": 0,
                        "dislikes": 0,
                        "fullName": "bunbun",
                        "isPinned": false,
                        "username": "bundagendis",
                        "createdAt": "2026-08-02 17:10:35",
                        "isOfficial": false
                      }
                    ],
                    "symbol": "BBCA",
                    "provider": "stockbit"
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:stockbit/profile": {
      "get": {
        "operationId": "finance_stockbit_profile",
        "summary": "Profile",
        "description": "Profil emiten: deskripsi usaha, sektor, sub-sektor, dan indeks yang diikuti.",
        "tags": [
          "Stockbit"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/stockbit#reference-profile"
        },
        "parameters": [
          {
            "name": "symbol",
            "in": "query",
            "required": true,
            "description": "IDX ticker, e.g. BBCA",
            "schema": {
              "type": "string",
              "example": "BBCA"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "name": "Bank Central Asia Tbk.",
                    "type": "Saham",
                    "sector": "Keuangan",
                    "symbol": "BBCA",
                    "country": "ID",
                    "iconUrl": "https://assets.stockbit.com/logos/companies/BBCA.png",
                    "indexes": [
                      "TRADINGLIMIT",
                      "IDXVESTA28",
                      "ECONOMIC30",
                      "DAYTRADE",
                      "PRIMBANK10",
                      "IDXLQ45LCL"
                    ],
                    "exchange": "IDX",
                    "provider": "stockbit",
                    "followers": 3303290,
                    "subSector": "Bank",
                    "tradeable": true,
                    "background": "PT Bank Central Asia Tbk. atau BBCA dalam bidang usaha bank umum. Anak perusahaan diantaranya: PT BCA Finance (Pembiayaan Konsumen, Sewa Guna Usaha dan Anjak Piutang), BCA Finance Limited (Money Lending- Jasa Pengiriman Uang), PT Bank BCA Syariah (Perbankan Syariah), PT BCA Sekuritas (Penjamin Emisi Efek dan Pialang Perdagangan Saham), dan PT Asuransi Umum BCA (Asuransi Umum atau Asuransi Kerugian).Pada 2017 BCA mendirikan PT Central Capital Ventura (CCV) guna mengikuti inovasi layanan keuangan berbasis digital. Produk dan layanan Perseroan yaitu: produk simpanan, layanan transaksi perbankan, perbankan elektronik, layanan cash management, kartu kredit, bancassurance, produk investasi, fasilitas kredit, Bank garansi, fasilitas ekspor impor dan fasilitas valuta asing. Pada 2017 Jumlah kantor wilayah ada 12 terdiri dari (146 kantor cabang utama, 856 kantor cabang pembantu dan 244 kantor kas) tersebar di seluruh Indonesia, kantor non wilayah (1 kantor cabang utama) dan satu kantor perwakilan di Jakarta pusat.",
                    "listingStatus": "STATUS_ACTIVE"
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:stockbit/glossary": {
      "get": {
        "operationId": "finance_stockbit_glossary",
        "summary": "Glossary",
        "description": "Kamus istilah investasi: definisi, rumus, dan penjelasan. Bisa disaring per huruf atau kata kunci.",
        "tags": [
          "Stockbit"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/stockbit#reference-glossary"
        },
        "parameters": [
          {
            "name": "letter",
            "in": "query",
            "required": false,
            "description": "Fetch one initial letter only. Default: every letter",
            "schema": {
              "type": "string",
              "enum": [
                "a",
                "b",
                "c",
                "d",
                "e",
                "f",
                "g",
                "h",
                "i",
                "j",
                "k",
                "l",
                "m",
                "n",
                "o",
                "p",
                "q",
                "r",
                "s",
                "t",
                "u",
                "v",
                "w",
                "x",
                "y",
                "z"
              ],
              "example": "a"
            }
          },
          {
            "name": "q",
            "in": "query",
            "required": false,
            "description": "Keep only terms whose name or definition contains this",
            "schema": {
              "type": "string",
              "example": "rasio"
            }
          },
          {
            "name": "count",
            "in": "query",
            "required": false,
            "description": "Cap the list. Default: everything found",
            "schema": {
              "type": "number",
              "example": "20"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "count": 16,
                    "items": [
                      {
                        "id": 360,
                        "slug": "absolute-valuation-",
                        "term": "Absolute Valuation",
                        "letter": "a",
                        "definition": "Absolute valuation merupakan salah satu metode valuasi yang digunakan oleh investor untuk menaksir nilai intrinsik saham dengan menghitung akumulasi nilai aset ataupun potensi arus kas perusahaan. \n\nSebagai contoh jika kita ingin membeli ruko, kita bisa menaksir nilai intrinsik ruko dengan menghitung harga seluruh komponen ruko tersebut, mulai dari harga tanah, perabotan, serta komponen lainnya. \n\nSelain dengan menghitung total aset, kita juga bisa memperkirakan nilai intrinsik ruko tersebut dengan memproyeksikan kemampuannya dalam menghasilkan cash flow ke depannya. Cash flow bisa didapatkan dengan menyewakan ruko, menggunakannya sebagai tempat usaha atau modal kerja, dan lain-lain. \n\nDalam saham, metode yang paling sering digunakan dalam menghitung absolute valuation adalah discounted cash flow (DCF)."
                      },
                      {
                        "id": 176,
                        "slug": "accrued-expenses",
                        "term": "Accrued Expense",
                        "letter": "a",
                        "definition": "Accrued expenses adalah biaya yang telah dikeluarkan perusahaan, tetapi belum dibayar tunai. Biaya ini umumnya termasuk dalam kewajiban lancar dalam neraca perusahaan."
                      },
                      {
                        "id": 253,
                        "slug": "agio-saham",
                        "term": "Agio Saham",
                        "letter": "a",
                        "definition": "Selisih antara nilai nominal (par) saham dan harga yang dibayar investor untuk itu, biasanya akibat IPO atau rights issue."
                      },
                      {
                        "id": 321,
                        "slug": "akuisisi",
                        "term": "Akuisisi",
                        "letter": "a",
                        "definition": "Akuisisi adalah pengambilalihan kepemilikan perusahaan atau aset. Berbeda dengan pembelian saham biasa, akuisisi umumnya merujuk kepada aksi pembelian saham mayoritas atau lebih dari 50%. Ketika suatu entitas membeli lebih dari 50% saham suatu perusahaan, ia akan memiliki kontrol di perusahaan tersebut."
                      },
                      {
                        "id": 63,
                        "slug": "altman-z-score-modified",
                        "term": "Altman Z-Score (modified)",
                        "letter": "a",
                        "formula": "Altman Z-Score (Modified) dihitung menggunakan formula:\n\nZ-Score = 6.56A + 3.26B + 6.72C + 1.05D\n\nDimana:\n\nA = Working Capital / Total Assets\n\nB = Retained Earnings / Total Assets\n\nC = EBIT / Total Assets\n\nD = (Total Ekuitas - kepentingan non pengendali) / Total liabilities",
                        "definition": "Altman Z-Score adalah model probabilistik yang digunakan untuk menentukan resiko kebangkrutan. Altman Z-Score (Modified) didesain agar dapat diterapkan pada perusahaan di emerging market (negara berkembang).\n\nAdapun kategori hasil Z-Score adalah sebagai berikut:\n\n Z-Score < 1.1 mengindikasikan kemungkinan perusahaan sedang menuju kebangkrutan.\n Z-Score antara 1.1 dan 2.6 mengindikasikan perusahaan masuk kedalam zona \"hati-hati.\"\n\nZ-Score diatas 2.6 mengindikasikan perusahaan berada dalam zona aman.",
                        "explanation": "Z-Score Result:\n\nZ-Score < 1.1 mengindikasikan kemungkinan perusahaan sedang menuju kebangkrutan.\nZ-Score antara 1.1 dan 2.6 mengindikasikan perusahaan masuk kedalam zona \"hati-hati.\"\nZ-Score diatas 2.6 mengindikasikan perusahaan berada dalam zona aman."
                      },
                      {
                        "id": 66,
                        "slug": "altman-z-score-original",
                        "term": "Altman Z-Score (Original)",
                        "letter": "a",
                        "formula": "Altman Z-Score (Original) dihitung menggunakan formula:\n\nZ-Score = 1.2A + 1.4B + 3.3C + 0.6D + 1E\n\nDimana:\n\nA = Working Capital / Total Assets\n\nB = Retained Earnings / Total Assets\n\nC = EBIT / Total Assets\n\nD = Market value of equity / Total Liabilities\n\nE = Sales / Total Assets",
                        "definition": "Altman Z-Score menggabungkan beberapa rasio penting dalam metrik tunggal yang menyediakan informasi berharga tentang kesehatan keuangan perusahaan. Secara khusus, Altman Z-Score adalah model probabilistik yang digunakan untuk menentukan resiko kebangkrutan perusahaan.\n\nAltman Z-Score (Original) ini didesain agar dapat digunakan pada perusahaan manufaktur.",
                        "explanation": "Z-Score Result:\n\nZ-Score <1.81 mengindikasikan kemungkinan perusahaan sedang menuju kebangkrutan\nZ-Score antara 1.81 dan 2.99 mengindikasikan perusahaan masuk kedalam zona \"hati-hati\"\nZ-Score diatas 3.00 mengindikasikan perusahaan berada dalam zona aman"
                      }
                    ],
                    "letter": "a",
                    "provider": "stockbit",
                    "lettersFetched": 1
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:stockbit/user": {
      "get": {
        "operationId": "finance_stockbit_user",
        "summary": "User",
        "description": "Profil publik anggota: nama, avatar, jumlah follower, following, dan ide.",
        "tags": [
          "Stockbit"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/stockbit#reference-user"
        },
        "parameters": [
          {
            "name": "username",
            "in": "query",
            "required": true,
            "description": "Member handle, without the @",
            "schema": {
              "type": "string",
              "example": "ramaabd"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "ideas": 105,
                    "fullName": "Rama Abdurachman",
                    "joinedAt": "2023-02-20T13:16:45Z",
                    "provider": "stockbit",
                    "username": "ramaabd",
                    "avatarUrl": "https://avatar.stockbit.com/1875309/2699292a-c1a3-4d7a-b366-85194701f22c-stockbit_image1768074830129.jpeg",
                    "followers": 12,
                    "following": 13,
                    "isVerified": false,
                    "avatarThumbnailUrl": "https://avatar.stockbit.com/thumb/1875309/2699292a-c1a3-4d7a-b366-85194701f22c-stockbit_image1768074830129.jpeg"
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:stockbit/post": {
      "get": {
        "operationId": "finance_stockbit_post",
        "summary": "Post",
        "description": "Satu postingan berdasarkan id permalink-nya.",
        "tags": [
          "Stockbit"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/stockbit#reference-post"
        },
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "description": "Numeric post id",
            "schema": {
              "type": "string",
              "example": "34411341"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "id": 34411341,
                    "url": "https://stockbit.com/post/34411341",
                    "isPro": false,
                    "likes": 0,
                    "images": [
                      "https://stream-asset.stockbit.com/0b190f1b-c369-435a-96f2-c98607643e87_stream.jpg",
                      "https://stream-asset.stockbit.com/2d818ffe-0fd2-4842-a673-66b07f7f919c_stream.jpg",
                      "https://stream-asset.stockbit.com/e7a1aa89-dbec-4887-a58e-97997e374146_stream.jpg"
                    ],
                    "content": "platform sebelah bagus juga ya ngasih summary ini , sama flow dll\n.\nsemoga stockbit bisa nyusul 🤣\n.\ncapek Gonta ganti apps buat validasi move investasi\n.\n$BMRI $BBCA $BBRI",
                    "country": "ID",
                    "replies": 0,
                    "reposts": 0,
                    "dislikes": 0,
                    "fullName": "Rama Abdurachman",
                    "provider": "stockbit",
                    "username": "ramaabd",
                    "createdAt": "2026-08-02 17:16:19",
                    "isOfficial": false
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:tradingview/screener": {
      "get": {
        "operationId": "finance_tradingview_screener",
        "summary": "Screener",
        "description": "Filter and rank a whole exchange by price, market cap, sector and more.",
        "tags": [
          "TradingView"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/tradingview#reference-screener"
        },
        "parameters": [
          {
            "name": "market",
            "in": "query",
            "required": false,
            "description": "Market to scan. Default indonesia",
            "schema": {
              "type": "string",
              "enum": [
                "indonesia",
                "america",
                "crypto",
                "forex",
                "malaysia",
                "singapore",
                "thailand",
                "japan",
                "hongkong",
                "india",
                "uk",
                "germany",
                "australia",
                "futures",
                "cfd",
                "bond"
              ],
              "default": "indonesia",
              "example": "indonesia"
            }
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "description": "Filter by ticker or company name",
            "schema": {
              "type": "string",
              "example": "bank"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "required": false,
            "description": "Upstream column to sort on. Default market cap",
            "schema": {
              "type": "string",
              "example": "market_cap_basic"
            }
          },
          {
            "name": "sortOrder",
            "in": "query",
            "required": false,
            "description": "Sort direction. Defaults to desc, or asc when sorting forex by name",
            "schema": {
              "type": "string",
              "enum": [
                "desc",
                "asc"
              ],
              "example": "desc"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "description": "Page number. Default 1",
            "schema": {
              "type": "number",
              "default": 1,
              "example": "1"
            }
          },
          {
            "name": "count",
            "in": "query",
            "required": false,
            "description": "Rows per page. Default 50, max 200",
            "schema": {
              "type": "number",
              "default": 50,
              "example": "50"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "page": 1,
                    "count": 5,
                    "items": [
                      {
                        "last": 6325,
                        "name": "PT Bank Central Asia Tbk",
                        "change": -125,
                        "sector": "Finance",
                        "symbol": "IDX:BBCA",
                        "ticker": "BBCA",
                        "volume": 153174800,
                        "peRatio": 13.405200751623779,
                        "exchange": "IDX",
                        "marketCap": 779714671484375,
                        "changePercent": -1.937984496124031
                      },
                      {
                        "last": 3040,
                        "name": "PT Bank Rakyat Indonesia (Persero) Tbk Class B",
                        "change": 50,
                        "sector": "Finance",
                        "symbol": "IDX:BBRI",
                        "ticker": "BBRI",
                        "volume": 226634400,
                        "peRatio": 7.82939339714289,
                        "exchange": "IDX",
                        "marketCap": 459397912503040,
                        "changePercent": 1.6722408026755853
                      },
                      {
                        "last": 4190,
                        "name": "PT Bank Mandiri (Persero) Tbk",
                        "change": 30,
                        "sector": "Finance",
                        "symbol": "IDX:BMRI",
                        "ticker": "BMRI",
                        "volume": 97657300,
                        "peRatio": 6.278753581998949,
                        "exchange": "IDX",
                        "marketCap": 392951904790270,
                        "changePercent": 0.7211538461538461
                      },
                      {
                        "last": 3530,
                        "name": "PT Bank Negara Indonesia (Persero) Tbk Class B",
                        "change": -20,
                        "sector": "Finance",
                        "symbol": "IDX:BBNI",
                        "ticker": "BBNI",
                        "volume": 48321300,
                        "peRatio": 6.473911603413677,
                        "exchange": "IDX",
                        "marketCap": 131590388558217,
                        "changePercent": -0.5633802816901409
                      },
                      {
                        "last": 1820,
                        "name": "PT Bank Syariah Indonesia (Persero) Tbk",
                        "change": 35,
                        "sector": "Finance",
                        "symbol": "IDX:BRIS",
                        "ticker": "BRIS",
                        "volume": 7921400,
                        "peRatio": 10.642303976947131,
                        "exchange": "IDX",
                        "marketCap": 83955256328125,
                        "changePercent": 1.9607843137254901
                      }
                    ],
                    "query": "bank",
                    "total": 49,
                    "market": "indonesia",
                    "hasMore": true,
                    "nextPage": 2
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:tradingview/symbol": {
      "get": {
        "operationId": "finance_tradingview_symbol",
        "summary": "Symbol",
        "description": "One instrument with price and fundamentals, quoted in its own currency.",
        "tags": [
          "TradingView"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/tradingview#reference-symbol"
        },
        "parameters": [
          {
            "name": "symbol",
            "in": "query",
            "required": true,
            "description": "Ticker, with or without its exchange prefix (IDX:BBCA)",
            "schema": {
              "type": "string",
              "example": "BBCA"
            }
          },
          {
            "name": "market",
            "in": "query",
            "required": false,
            "description": "Market the ticker belongs to. Default indonesia",
            "schema": {
              "type": "string",
              "enum": [
                "indonesia",
                "america",
                "crypto",
                "forex",
                "malaysia",
                "singapore",
                "thailand",
                "japan",
                "hongkong",
                "india",
                "uk",
                "germany",
                "australia",
                "futures",
                "cfd",
                "bond"
              ],
              "default": "indonesia",
              "example": "indonesia"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "eps": 471.8318,
                    "low": 6325,
                    "debt": 55359119000000,
                    "high": 6450,
                    "last": 6325,
                    "name": "PT Bank Central Asia Tbk",
                    "open": 6425,
                    "change": -125,
                    "market": "indonesia",
                    "sector": "Finance",
                    "symbol": "IDX:BBCA",
                    "ticker": "BBCA",
                    "volume": 153174800,
                    "peRatio": 13.405200751623779,
                    "revenue": 126869068000000,
                    "currency": "IDR",
                    "exchange": "IDX",
                    "industry": "Major Banks",
                    "monthLow": 5625,
                    "provider": "tradingview",
                    "marketCap": 779714671484375,
                    "monthHigh": 6625,
                    "week52Low": 4820,
                    "week52High": 8975,
                    "priceToBook": 2.873025943873964,
                    "avgVolume10d": 163117410,
                    "changePercent": -1.937984496124031,
                    "dividendYieldPercent": 0
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:tradingview/markets": {
      "get": {
        "operationId": "finance_tradingview_markets",
        "summary": "Markets",
        "description": "Which markets can be scanned, and how many instruments each holds.",
        "tags": [
          "TradingView"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/tradingview#reference-markets"
        },
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "required": false,
            "description": "Filter markets by id or label",
            "schema": {
              "type": "string",
              "example": "indo"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "count": 16,
                    "items": [
                      {
                        "id": "indonesia",
                        "label": "Indonesia Stock Exchange",
                        "instrumentCount": 881
                      },
                      {
                        "id": "america",
                        "label": "United States",
                        "instrumentCount": 19643
                      },
                      {
                        "id": "crypto",
                        "label": "Crypto",
                        "instrumentCount": 55807
                      },
                      {
                        "id": "forex",
                        "label": "Forex",
                        "instrumentCount": 6260
                      },
                      {
                        "id": "malaysia",
                        "label": "Malaysia",
                        "instrumentCount": 1145
                      },
                      {
                        "id": "singapore",
                        "label": "Singapore",
                        "instrumentCount": 645
                      },
                      {
                        "id": "thailand",
                        "label": "Thailand",
                        "instrumentCount": 2248
                      },
                      {
                        "id": "japan",
                        "label": "Japan",
                        "instrumentCount": 4393
                      }
                    ],
                    "provider": "tradingview"
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:tradingview/chart": {
      "get": {
        "operationId": "finance_tradingview_chart",
        "summary": "Chart",
        "description": "OHLCV candles at 13 resolutions for any symbol the platform carries.",
        "tags": [
          "TradingView"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/tradingview#reference-chart"
        },
        "parameters": [
          {
            "name": "symbol",
            "in": "query",
            "required": true,
            "description": "Exchange-qualified symbol. A bare ticker uses the market's default exchange",
            "schema": {
              "type": "string",
              "example": "IDX:BBCA"
            }
          },
          {
            "name": "market",
            "in": "query",
            "required": false,
            "description": "Market used to resolve a bare ticker. Default indonesia",
            "schema": {
              "type": "string",
              "enum": [
                "indonesia",
                "america",
                "crypto",
                "forex",
                "malaysia",
                "singapore",
                "thailand",
                "japan",
                "hongkong",
                "india",
                "uk",
                "germany",
                "australia",
                "futures",
                "cfd",
                "bond"
              ],
              "default": "indonesia",
              "example": "indonesia"
            }
          },
          {
            "name": "resolution",
            "in": "query",
            "required": false,
            "description": "Candle size in minutes, or 1D / 1W / 1M. Default 1D",
            "schema": {
              "type": "string",
              "enum": [
                "1",
                "3",
                "5",
                "15",
                "30",
                "45",
                "60",
                "120",
                "180",
                "240",
                "1D",
                "1W",
                "1M"
              ],
              "default": "1D",
              "example": "1D"
            }
          },
          {
            "name": "count",
            "in": "query",
            "required": false,
            "description": "Number of candles. Default 200, max 1000",
            "schema": {
              "type": "number",
              "default": 200,
              "example": "200"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "name": "PT Bank Central Asia Tbk",
                    "count": 30,
                    "market": "indonesia",
                    "symbol": "IDX:BBCA",
                    "candles": [
                      {
                        "low": 6125,
                        "date": "2026-06-22T02:00:00.000Z",
                        "high": 6400,
                        "open": 6400,
                        "close": 6225,
                        "volume": 193401600,
                        "timestamp": 1782093600
                      },
                      {
                        "low": 6075,
                        "date": "2026-06-23T02:00:00.000Z",
                        "high": 6200,
                        "open": 6150,
                        "close": 6125,
                        "volume": 144561900,
                        "timestamp": 1782180000
                      },
                      {
                        "low": 5925,
                        "date": "2026-06-24T02:00:00.000Z",
                        "high": 6200,
                        "open": 6125,
                        "close": 5925,
                        "volume": 144928800,
                        "timestamp": 1782266400
                      },
                      {
                        "low": 5900,
                        "date": "2026-06-25T02:00:00.000Z",
                        "high": 6175,
                        "open": 5900,
                        "close": 6025,
                        "volume": 197935000,
                        "timestamp": 1782352800
                      },
                      {
                        "low": 6025,
                        "date": "2026-06-26T02:00:00.000Z",
                        "high": 6175,
                        "open": 6050,
                        "close": 6175,
                        "volume": 163378700,
                        "timestamp": 1782439200
                      },
                      {
                        "low": 5925,
                        "date": "2026-06-29T02:00:00.000Z",
                        "high": 6200,
                        "open": 6175,
                        "close": 5925,
                        "volume": 189886600,
                        "timestamp": 1782698400
                      },
                      {
                        "low": 5550,
                        "date": "2026-06-30T02:00:00.000Z",
                        "high": 5825,
                        "open": 5775,
                        "close": 5550,
                        "volume": 440738300,
                        "timestamp": 1782784800
                      },
                      {
                        "low": 5550,
                        "date": "2026-07-01T02:00:00.000Z",
                        "high": 5750,
                        "open": 5550,
                        "close": 5600,
                        "volume": 124123800,
                        "timestamp": 1782871200
                      }
                    ],
                    "currency": "IDR",
                    "exchange": "IDX",
                    "provider": "tradingview",
                    "timezone": "Asia/Bangkok",
                    "resolution": "1D"
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:tradingview/technicals": {
      "get": {
        "operationId": "finance_tradingview_technicals",
        "summary": "Technicals",
        "description": "31 indicators plus buy/sell verdicts, on 10 timeframes.",
        "tags": [
          "TradingView"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/tradingview#reference-technicals"
        },
        "parameters": [
          {
            "name": "symbol",
            "in": "query",
            "required": true,
            "description": "Ticker, with or without its exchange prefix",
            "schema": {
              "type": "string",
              "example": "BBCA"
            }
          },
          {
            "name": "market",
            "in": "query",
            "required": false,
            "description": "Market the ticker belongs to. Default indonesia",
            "schema": {
              "type": "string",
              "enum": [
                "indonesia",
                "america",
                "crypto",
                "forex",
                "malaysia",
                "singapore",
                "thailand",
                "japan",
                "hongkong",
                "india",
                "uk",
                "germany",
                "australia",
                "futures",
                "cfd",
                "bond"
              ],
              "default": "indonesia",
              "example": "indonesia"
            }
          },
          {
            "name": "timeframe",
            "in": "query",
            "required": false,
            "description": "Timeframe the indicators are computed on. Default 1d",
            "schema": {
              "type": "string",
              "enum": [
                "1m",
                "5m",
                "15m",
                "30m",
                "1h",
                "2h",
                "4h",
                "1d",
                "1w",
                "1M"
              ],
              "default": "1d",
              "example": "1d"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "adx": 13.301554083059738,
                    "atr": 188.06943171881582,
                    "rsi": 53.67932744764375,
                    "last": 6325,
                    "macd": 84.52113457980977,
                    "vwma": 6303.151581141213,
                    "cci20": 57.43019716819662,
                    "ema10": 6321.799747446807,
                    "ema20": 6260.688031551343,
                    "ema50": 6195.480231487916,
                    "sma10": 6362.5,
                    "sma20": 6288.75,
                    "sma50": 6018,
                    "ema100": 6416.569054506186,
                    "ema200": 6963.967952901217,
                    "market": "indonesia",
                    "sma100": 6283.5,
                    "sma200": 7124.375,
                    "stochD": 43.91743522178303,
                    "stochK": 50,
                    "symbol": "IDX:BBCA",
                    "ticker": "BBCA",
                    "summary": "neutral",
                    "momentum": -150,
                    "provider": "tradingview",
                    "ratingAll": 0.08787878787878788,
                    "timeframe": "1d",
                    "williamsR": -54.54545454545454,
                    "macdSignal": 92.23224289033081,
                    "bollingerLower": 6034.056556817809,
                    "bollingerUpper": 6543.443443182191,
                    "pivotClassicR1": 6460,
                    "pivotClassicS1": 4730,
                    "awesomeOscillator": 107.64705882352973,
                    "ratingOscillators": -0.09090909090909091,
                    "oscillatorsSummary": "neutral",
                    "pivotClassicMiddle": 5640,
                    "ratingMovingAverages": 0.26666666666666666,
                    "movingAveragesSummary": "buy"
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:tradingview/performance": {
      "get": {
        "operationId": "finance_tradingview_performance",
        "summary": "Performance",
        "description": "Trailing returns, volatility, beta and 52-week range.",
        "tags": [
          "TradingView"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/tradingview#reference-performance"
        },
        "parameters": [
          {
            "name": "symbol",
            "in": "query",
            "required": true,
            "description": "Ticker, with or without its exchange prefix",
            "schema": {
              "type": "string",
              "example": "BBCA"
            }
          },
          {
            "name": "market",
            "in": "query",
            "required": false,
            "description": "Market the ticker belongs to. Default indonesia",
            "schema": {
              "type": "string",
              "enum": [
                "indonesia",
                "america",
                "crypto",
                "forex",
                "malaysia",
                "singapore",
                "thailand",
                "japan",
                "hongkong",
                "india",
                "uk",
                "germany",
                "australia",
                "futures",
                "cfd",
                "bond"
              ],
              "default": "indonesia",
              "example": "indonesia"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "last": 6325,
                    "name": "PT Bank Central Asia Tbk",
                    "market": "indonesia",
                    "symbol": "IDX:BBCA",
                    "ticker": "BBCA",
                    "currency": "IDR",
                    "exchange": "IDX",
                    "provider": "tradingview",
                    "beta1Year": 0.677129,
                    "week52Low": 4820,
                    "gapPercent": -0.3875968992248062,
                    "week52High": 8975,
                    "ytdPercent": -21.671826625387,
                    "avgVolume10d": 163117410,
                    "avgVolume30d": 176751580,
                    "week1Percent": 2.0161290322580645,
                    "year1Percent": -24.251497005988025,
                    "year5Percent": 4.718543046357616,
                    "month1Percent": 13.963963963963964,
                    "month3Percent": 6.302521008403361,
                    "month6Percent": -12.152777777777779,
                    "allTimePercent": 17971.428571428572,
                    "relativeVolume10d": 0.8523013641402308,
                    "volatilityDayPercent": 1.976284584980237,
                    "volatilityWeekPercent": 2.415757086242275,
                    "volatilityMonthPercent": 2.913881882241015
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:tradingview/financials": {
      "get": {
        "operationId": "finance_tradingview_financials",
        "summary": "Financials",
        "description": "Income, balance sheet, cash flow and the next earnings date.",
        "tags": [
          "TradingView"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/tradingview#reference-financials"
        },
        "parameters": [
          {
            "name": "symbol",
            "in": "query",
            "required": true,
            "description": "Ticker, with or without its exchange prefix",
            "schema": {
              "type": "string",
              "example": "BBCA"
            }
          },
          {
            "name": "market",
            "in": "query",
            "required": false,
            "description": "Market the ticker belongs to. Default indonesia",
            "schema": {
              "type": "string",
              "enum": [
                "indonesia",
                "america",
                "malaysia",
                "singapore",
                "thailand",
                "japan",
                "hongkong",
                "india",
                "uk",
                "germany",
                "australia"
              ],
              "default": "indonesia",
              "example": "indonesia"
            }
          },
          {
            "name": "period",
            "in": "query",
            "required": false,
            "description": "Reporting period. Default quarter",
            "schema": {
              "type": "string",
              "enum": [
                "quarter",
                "annual",
                "ttm"
              ],
              "default": "quarter",
              "example": "quarter"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "name": "PT Bank Central Asia Tbk",
                    "market": "indonesia",
                    "period": "quarter",
                    "symbol": "IDX:BBCA",
                    "ticker": "BBCA",
                    "revenue": 32698735000000,
                    "currency": "IDR",
                    "provider": "tradingview",
                    "employees": 27937,
                    "netIncome": 14850323000000,
                    "totalDebt": 55359119000000,
                    "totalAssets": 1660579336000000,
                    "totalEquity": 270667746000000,
                    "currentRatio": 0.125086448946293,
                    "debtToEquity": 0.20470204833949399,
                    "freeCashFlow": 8287156000000,
                    "operatingIncome": 18388677000000,
                    "lastEarningsDate": 1785231300,
                    "nextEarningsDate": 1792065600,
                    "totalLiabilities": 1389911590000000,
                    "dividendYieldPercent": 0,
                    "returnOnAssetsPercent": 3.66893228325801,
                    "returnOnEquityPercent": 21.8239508306063,
                    "epsForecastNextQuarter": 122.338,
                    "dividendPayoutRatioPercent": 0
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:tradingview/news": {
      "get": {
        "operationId": "finance_tradingview_news",
        "summary": "News",
        "description": "Wire headlines attached to one instrument.",
        "tags": [
          "TradingView"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/tradingview#reference-news"
        },
        "parameters": [
          {
            "name": "symbol",
            "in": "query",
            "required": true,
            "description": "Exchange-qualified symbol. A bare ticker uses the market's default exchange",
            "schema": {
              "type": "string",
              "example": "IDX:BBCA"
            }
          },
          {
            "name": "market",
            "in": "query",
            "required": false,
            "description": "Market used to resolve a bare ticker. Default indonesia",
            "schema": {
              "type": "string",
              "enum": [
                "indonesia",
                "america",
                "crypto",
                "forex",
                "malaysia",
                "singapore",
                "thailand",
                "japan",
                "hongkong",
                "india",
                "uk",
                "germany",
                "australia"
              ],
              "default": "indonesia",
              "example": "indonesia"
            }
          },
          {
            "name": "lang",
            "in": "query",
            "required": false,
            "description": "Headline language. Default en",
            "schema": {
              "type": "string",
              "enum": [
                "en",
                "id"
              ],
              "default": "en",
              "example": "en"
            }
          },
          {
            "name": "count",
            "in": "query",
            "required": false,
            "description": "Maximum headlines. Default 25, max 50",
            "schema": {
              "type": "number",
              "default": 25,
              "example": "25"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "lang": "en",
                    "count": 5,
                    "items": [
                      {
                        "id": "tag:reuters.com,2026:newsml_FWN43U0KR:0",
                        "url": "https://www.tradingview.com/news/reuters.com,2026:newsml_FWN43U0KR:0-bank-central-asia-posts-half-year-profit-attributable-of-29-534-trillion-rupiah/",
                        "title": "Bank Central Asia Posts Half-Year Profit Attributable Of 29.534 Trillion Rupiah",
                        "source": "Reuters",
                        "urgency": 2,
                        "publishedAt": 1785234099,
                        "headlineOnly": true,
                        "publishedAtIso": "2026-07-28T10:21:39.000Z",
                        "relatedSymbols": [
                          "IDX:BBCA"
                        ]
                      },
                      {
                        "id": "tag:reuters.com,2026:newsml_FWN43U023:0",
                        "url": "https://www.tradingview.com/news/reuters.com,2026:newsml_FWN43U023:0-bank-central-asia-posts-gross-npl-ratio-of-1-86-as-at-june-30/",
                        "title": "Bank Central Asia Posts Gross NPL Ratio of 1.86% As At June 30",
                        "source": "Reuters",
                        "urgency": 2,
                        "publishedAt": 1785232512,
                        "headlineOnly": true,
                        "publishedAtIso": "2026-07-28T09:55:12.000Z",
                        "relatedSymbols": [
                          "IDX:BBCA"
                        ]
                      },
                      {
                        "id": "urn:summary_document_slides:quartr.com:3910873:0",
                        "url": "https://www.tradingview.com/news/urn:summary_document_slides:quartr.com:3910873:0-bbca-strong-asset-and-loan-growth-digital-dominance-and-resilient-asset-quality-in-1h26/",
                        "title": "BBCA: Strong asset and loan growth, digital dominance, and resilient asset quality in 1H26",
                        "source": "Quartr",
                        "urgency": 2,
                        "publishedAt": 1785231802,
                        "headlineOnly": false,
                        "publishedAtIso": "2026-07-28T09:43:22.000Z",
                        "relatedSymbols": [
                          "IDX:BBCA"
                        ]
                      },
                      {
                        "id": "urn:summary_document_report:quartr.com:3686476:0",
                        "url": "https://www.tradingview.com/news/urn:summary_document_report:quartr.com:3686476:0-bbca-net-profit-rose-2-year-over-year-with-strong-capital-and-improved-asset-quality/",
                        "title": "BBCA: Net profit rose 2% year-over-year, with strong capital and improved asset quality",
                        "source": "Quartr",
                        "urgency": 2,
                        "publishedAt": 1785231791,
                        "headlineOnly": false,
                        "publishedAtIso": "2026-07-28T09:43:11.000Z",
                        "relatedSymbols": [
                          "IDX:BBCA"
                        ]
                      },
                      {
                        "id": "tag:reuters.com,2026:newsml_L4N43G12X:0",
                        "url": "https://www.tradingview.com/news/reuters.com,2026:newsml_L4N43G12X:0-beaten-down-indonesian-stocks-feel-the-love-as-ai-rally-cools/",
                        "title": "Beaten-down Indonesian stocks feel the love as AI rally cools",
                        "source": "Reuters",
                        "urgency": 2,
                        "publishedAt": 1784588400,
                        "headlineOnly": true,
                        "publishedAtIso": "2026-07-20T23:00:00.000Z",
                        "relatedSymbols": [
                          "IDX:COMPOSITE",
                          "KRX:KOSPI",
                          "IDX:INDF",
                          "IDX:BBCA",
                          "IDX:INCO",
                          "IDX:ADMR",
                          "IDX:AMMN"
                        ]
                      }
                    ],
                    "symbol": "IDX:BBCA",
                    "provider": "tradingview"
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:tradingview/search": {
      "get": {
        "operationId": "finance_tradingview_search",
        "summary": "Search",
        "description": "Resolve free text to instruments, with ISIN and listing currency.",
        "tags": [
          "TradingView"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/tradingview#reference-search"
        },
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": true,
            "description": "Ticker, company name or ISIN",
            "schema": {
              "type": "string",
              "example": "bank central asia"
            }
          },
          {
            "name": "exchange",
            "in": "query",
            "required": false,
            "description": "Restrict to one exchange",
            "schema": {
              "type": "string",
              "example": "IDX"
            }
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "description": "Instrument type. Default all",
            "schema": {
              "type": "string",
              "enum": [
                "all",
                "stock",
                "futures",
                "forex",
                "index",
                "crypto",
                "bond",
                "economic",
                "fund"
              ],
              "default": "all",
              "example": "all"
            }
          },
          {
            "name": "count",
            "in": "query",
            "required": false,
            "description": "Maximum results. Default 20, max 50",
            "schema": {
              "type": "number",
              "default": 20,
              "example": "20"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "count": 5,
                    "items": [
                      {
                        "isin": "ID1000109507",
                        "name": "PT Bank Central Asia Tbk",
                        "type": "stock",
                        "ipoAt": 959738400,
                        "symbol": "IDX:BBCA",
                        "ticker": "BBCA",
                        "country": "ID",
                        "subType": "common",
                        "currency": "IDR",
                        "exchange": "IDX"
                      },
                      {
                        "isin": "ID1000109507",
                        "name": "PT Bank Central Asia Tbk",
                        "type": "stock",
                        "symbol": "GETTEX:BZG2",
                        "ticker": "BZG2",
                        "country": "DE",
                        "subType": "common",
                        "currency": "EUR",
                        "exchange": "GETTEX"
                      },
                      {
                        "isin": "ID1000109507",
                        "name": "PT Bank Central Asia Tbk",
                        "type": "stock",
                        "symbol": "LSX:A0NBWE",
                        "ticker": "A0NBWE",
                        "country": "DE",
                        "subType": "common",
                        "currency": "EUR",
                        "exchange": "LSX"
                      },
                      {
                        "isin": "ID1000109507",
                        "name": "PT Bank Central Asia Tbk",
                        "type": "stock",
                        "symbol": "LS:A0NBWE",
                        "ticker": "A0NBWE",
                        "country": "DE",
                        "subType": "common",
                        "currency": "EUR",
                        "exchange": "LS"
                      },
                      {
                        "isin": "ID1000109507",
                        "name": "PT Bank Central Asia Tbk",
                        "type": "stock",
                        "symbol": "FWB:BZG2",
                        "ticker": "BZG2",
                        "country": "DE",
                        "subType": "common",
                        "currency": "EUR",
                        "exchange": "FWB"
                      }
                    ],
                    "query": "bank central asia",
                    "provider": "tradingview"
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:tradingview/calendar": {
      "get": {
        "operationId": "finance_tradingview_calendar",
        "summary": "Economic calendar",
        "description": "Macro releases with actual, forecast and previous values.",
        "tags": [
          "TradingView"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/tradingview#reference-calendar"
        },
        "parameters": [
          {
            "name": "countries",
            "in": "query",
            "required": false,
            "description": "Comma-separated ISO country codes. Default ID",
            "schema": {
              "type": "string",
              "default": "ID",
              "example": "ID,US"
            }
          },
          {
            "name": "from",
            "in": "query",
            "required": false,
            "description": "Window start, YYYY-MM-DD. Defaults to today",
            "schema": {
              "type": "string",
              "example": "2026-08-01"
            }
          },
          {
            "name": "to",
            "in": "query",
            "required": false,
            "description": "Window end, YYYY-MM-DD. Defaults to 7 days after the start",
            "schema": {
              "type": "string",
              "example": "2026-08-08"
            }
          },
          {
            "name": "importance",
            "in": "query",
            "required": false,
            "description": "Minimum release importance. Default all",
            "schema": {
              "type": "string",
              "enum": [
                "all",
                "high",
                "medium",
                "low"
              ],
              "default": "all",
              "example": "all"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "to": "2026-08-09",
                    "from": "2026-08-02",
                    "count": 94,
                    "items": [
                      {
                        "id": "396409",
                        "date": "2026-08-03T00:30:00.000Z",
                        "title": "S&P Global Manufacturing PMI",
                        "period": "Jul",
                        "source": "S&P Global",
                        "country": "ID",
                        "currency": "IDR",
                        "previous": 46.9,
                        "indicator": "Manufacturing PMI",
                        "importance": "low",
                        "description": "The  S&P Global  Indonesia Manufacturing Purchasing Managers’ Index measures the performance of the manufacturing sector and is derived from a survey of 400 manufacturing companies. The Manufacturing Purchasing Managers Index is based on five individual indexes with the following weights: New Orders (30 percent), Output (25 percent), Employment (20 percent), Suppliers’ Delivery Times (15 percent) and Stock of Items Purchased (10 percent), with the Delivery Times index inverted so that it moves in a comparable direction. A reading above 50 indicates an expansion of the manufacturing sector compared to the previous month; below 50 represents a contraction; while 50 indicates no change. This is only a limited sample of PMI headline data displayed on the Customer’s service, under licence from S&P Global. Full historic PMI headline data and all other PMI sub-index data and histories are available on subscription from S&P Global. Contact economics@spglobal.com for more details."
                      },
                      {
                        "id": "403951",
                        "date": "2026-08-03T04:00:00.000Z",
                        "unit": "%",
                        "title": "Exports YoY",
                        "period": "Jun",
                        "source": "Statistics Indonesia",
                        "country": "ID",
                        "currency": "IDR",
                        "forecast": 0.25,
                        "previous": -5.73,
                        "indicator": "Exports YoY",
                        "importance": "low",
                        "description": "Exports have been an engine of economic growth in Indonesia. However, after reaching a peak in 2012, it have been in a steady decline due to lower commodity prices and dwindling global demand. Major exports are: oil and gas (12.4 percent of the total exports, of those gas 6.9 percent, crude oil 4.3 percent and oil products 1.2 percent); animal and vegetable fats and oils (14 percent); and electrical equipment and machinery (10.45 percent).  Other exports include: footwear, part of such articles (3.4 percent); garments not knitted (3 percent) and ores, slag and ash (2.5 percent). Major export partners are: the United States (11.6 percent), China (10 percent of the total exports), Japan (9.9 percent), India (8.8 percent) and Singapore (7 percent)."
                      },
                      {
                        "id": "404148",
                        "date": "2026-08-03T04:00:00.000Z",
                        "unit": "%",
                        "title": "Inflation Rate MoM",
                        "period": "Jul",
                        "source": "Statistics Indonesia",
                        "country": "ID",
                        "currency": "IDR",
                        "forecast": 0.1,
                        "previous": 0.44,
                        "indicator": "Inflation Rate Mom",
                        "importance": "low",
                        "description": "In Indonesia, the consumer price index (CPI) is a measure of change over a specified period of time in the general level of prices of goods and services that a given population acquires, uses or pays for consumption. The CPI covers the urban population in the 44 provincial capital cities and regency capital cities in the country. The most important categories in Indonesia's CPI are Food, drinks and tobacco (25 percent of the total weight), Housing, water, electricity and household fuel (20.4 percent), Transportation (12.4 percent), and Food and beverage providers/Restaurant (8.7 percent). The index also includes: Household equipment, tools and routine maintenance (6 percent); Personal care and other services (5.9 percent); Information, communication and financial services (5.8 percent); Education (5.6 percent); and Clothing and footwear (5.4 percent). Health and Recreation, sports and culture account for the remaining 4.7 percent."
                      },
                      {
                        "id": "407218",
                        "date": "2026-08-03T04:00:00.000Z",
                        "unit": "%",
                        "title": "Core Inflation Rate YoY",
                        "period": "Jul",
                        "source": "Statistics Indonesia",
                        "country": "ID",
                        "currency": "IDR",
                        "forecast": 2.8,
                        "previous": 2.76,
                        "indicator": "Core Inflation Rate",
                        "importance": "low",
                        "description": "In Indonesia, the core inflation rate tracks changes in prices that consumers pay for a basket of goods which excludes some volatile price items."
                      },
                      {
                        "id": "409373",
                        "date": "2026-08-03T04:00:00.000Z",
                        "unit": "%",
                        "title": "Imports YoY",
                        "period": "Jun",
                        "source": "Statistics Indonesia",
                        "country": "ID",
                        "currency": "IDR",
                        "forecast": 25.3,
                        "previous": 22.16,
                        "indicator": "Imports YoY",
                        "importance": "low",
                        "description": "From 2004 to 2012, imports to Indonesia tripled, as large portion of the population entered middle-class and propelled higher purchases of oil and consumption goods. However, starting in mid-2013, imports have been declining due to low commodity prices and weak domestic consumption and investment. Main imports products are: oil and gas (around 17 percent of total imports), nuclear reactions, boilers, mechanical appliances (19 percent); iron and steel (5.4 percent), organic chemical materials (4.8 percent) and vehicles (4.5 percent). Main import partners are: China (25 percent of the total imports), Japan (11 percent), Singapore (7.6 percent), Thailand (6.8 percent) and the United States (6.4 percent)."
                      },
                      {
                        "id": "410705",
                        "date": "2026-08-03T04:00:00.000Z",
                        "unit": "$",
                        "scale": "B",
                        "title": "Balance of Trade",
                        "period": "Jun",
                        "source": "Statistics Indonesia",
                        "country": "ID",
                        "currency": "IDR",
                        "forecast": -0.79,
                        "previous": -1.61,
                        "indicator": "Balance of Trade",
                        "importance": "medium",
                        "description": "Since the 1970’s Indonesia has been recording consistent trade surpluses due to robust exports growth. However, from 2012 to 2014 the country started recording trade deficits, as exports shrank due to slowdown in the global economy and fall in commodity prices. In 2015, trade balance swang again to surplus due to almost 20 percent fall in imports. In recent years, the biggest trade deficits were recorded with China, Thailand, Japan, Germany and South Korea. Indonesia records trade surpluses mainly with India, United States, and Malaysia."
                      },
                      {
                        "id": "414341",
                        "date": "2026-08-03T04:00:00.000Z",
                        "unit": "%",
                        "title": "Inflation Rate YoY",
                        "period": "Jul",
                        "source": "Statistics Indonesia",
                        "country": "ID",
                        "currency": "IDR",
                        "forecast": 3.2,
                        "previous": 3.34,
                        "indicator": "Inflation Rate",
                        "importance": "medium",
                        "description": "In Indonesia, the consumer price index (CPI) is a measure of change over a specified period of time in the general level of prices of goods and services that a given population acquires, uses or pays for consumption. The CPI covers the urban population in the 44 provincial capital cities and regency capital cities in the country. The most important categories in Indonesia's CPI are Food, drinks and tobacco (25 percent of the total weight), Housing, water, electricity and household fuel (20.4 percent), Transportation (12.4 percent), and Food and beverage providers/Restaurant (8.7 percent). The index also includes: Household equipment, tools and routine maintenance (6 percent); Personal care and other services (5.9 percent); Information, communication and financial services (5.8 percent); Education (5.6 percent); and Clothing and footwear (5.4 percent). Health and Recreation, sports and culture account for the remaining 4.7 percent."
                      },
                      {
                        "id": "414584",
                        "date": "2026-08-03T05:00:00.000Z",
                        "title": "Tourist Arrivals YoY",
                        "period": "Jun",
                        "source": "Statistics Indonesia",
                        "country": "ID",
                        "currency": "IDR",
                        "previous": 5.83,
                        "indicator": "Tourist Arrivals",
                        "importance": "low",
                        "description": "In Indonesia, Tourist Arrivals refers to the number of foreign tourists visiting the country."
                      }
                    ],
                    "provider": "tradingview",
                    "countries": [
                      "ID",
                      "US"
                    ]
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:yahoo-finance/quote": {
      "get": {
        "operationId": "finance_yahoo_finance_quote",
        "summary": "Quote",
        "description": "Live quotes for up to 20 symbols at once.",
        "tags": [
          "Yahoo Finance"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/yahoo-finance#reference-quote"
        },
        "parameters": [
          {
            "name": "symbols",
            "in": "query",
            "required": true,
            "description": "Comma-separated symbols, max 20. Jakarta listings use the .JK suffix",
            "schema": {
              "type": "string",
              "example": "BBCA.JK,AAPL"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "count": 2,
                    "items": [
                      {
                        "ask": 6350,
                        "bid": 6325,
                        "eps": 471.84,
                        "low": 6325,
                        "high": 6450,
                        "last": 6325,
                        "name": "PT Bank Central Asia Tbk",
                        "open": 6425,
                        "type": "EQUITY",
                        "change": -125,
                        "symbol": "BBCA.JK",
                        "volume": 153174800,
                        "peRatio": 13.404968,
                        "currency": "IDR",
                        "exchange": "Jakarta",
                        "avgVolume": 266815186,
                        "bookValue": 2108.889,
                        "marketCap": 776974079361024,
                        "week52Low": 4820,
                        "week52High": 8975,
                        "marketState": "CLOSED",
                        "changePercent": -1.9379845,
                        "lastTimestamp": 1785489296,
                        "previousClose": 6450,
                        "fiftyDayAverage": 6018.5,
                        "sharesOutstanding": 122841751300,
                        "dividendYieldPercent": 5.63,
                        "twoHundredDayAverage": 7081.25
                      },
                      {
                        "ask": 310.96,
                        "bid": 306.17,
                        "eps": 8.71,
                        "low": 300,
                        "high": 310.69,
                        "last": 308.91,
                        "name": "Apple Inc.",
                        "open": 304.81,
                        "type": "EQUITY",
                        "change": -24.52,
                        "symbol": "AAPL",
                        "volume": 127398021,
                        "peRatio": 35.46613,
                        "currency": "USD",
                        "exchange": "NasdaqGS",
                        "avgVolume": 56470782,
                        "bookValue": 7.26,
                        "marketCap": 4537070911488,
                        "week52Low": 201.68,
                        "week52High": 344.57,
                        "marketState": "CLOSED",
                        "changePercent": -7.35386,
                        "lastTimestamp": 1785528001,
                        "previousClose": 333.43,
                        "fiftyDayAverage": 309.4994,
                        "sharesOutstanding": 14687356000,
                        "dividendYieldPercent": 0.35,
                        "twoHundredDayAverage": 277.9605
                      }
                    ],
                    "provider": "yahoo"
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:yahoo-finance/summary": {
      "get": {
        "operationId": "finance_yahoo_finance_summary",
        "summary": "Summary",
        "description": "Valuation, margins, balance sheet and dividends for one instrument.",
        "tags": [
          "Yahoo Finance"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/yahoo-finance#reference-summary"
        },
        "parameters": [
          {
            "name": "symbol",
            "in": "query",
            "required": true,
            "description": "Instrument symbol. Jakarta listings use the .JK suffix",
            "schema": {
              "type": "string",
              "example": "BBCA.JK"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "eps": 471.84,
                    "low": 6325,
                    "beta": 0,
                    "high": 6450,
                    "last": 6325,
                    "name": "PT Bank Central Asia Tbk",
                    "open": 6425,
                    "type": "EQUITY",
                    "change": -125,
                    "sector": "Financial Services",
                    "symbol": "BBCA.JK",
                    "volume": 153174800,
                    "country": "Indonesia",
                    "peRatio": 13.404968,
                    "revenue": 109295182020608,
                    "website": "https://www.bca.co.id",
                    "currency": "IDR",
                    "exchange": "Jakarta",
                    "industry": "Banks - Regional",
                    "provider": "yahoo",
                    "avgVolume": 266815186,
                    "employees": 27728,
                    "forwardPe": 13.109351,
                    "marketCap": 776974079361024,
                    "totalCash": 78018609414144,
                    "totalDebt": 52021302394880,
                    "week52Low": 4820,
                    "week52High": 8975,
                    "priceToBook": 2.9992096,
                    "dividendRate": 356,
                    "changePercent": -1.937984,
                    "previousClose": 6450,
                    "exDividendDate": 1781654400,
                    "enterpriseValue": 751206959939584,
                    "targetMeanPrice": 8074.84,
                    "sharesOutstanding": 122841751300,
                    "grossMarginPercent": 0,
                    "payoutRatioPercent": 75.42,
                    "recommendationMean": 1.38462,
                    "profitMarginPercent": 53.118,
                    "dividendYieldPercent": 5.63,
                    "revenueGrowthPercent": 2.5,
                    "returnOnEquityPercent": 21.818,
                    "operatingMarginPercent": 66.751
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:yahoo-finance/historical": {
      "get": {
        "operationId": "finance_yahoo_finance_historical",
        "summary": "Historical",
        "description": "Candles from one minute to one month, up to max range.",
        "tags": [
          "Yahoo Finance"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/yahoo-finance#reference-historical"
        },
        "parameters": [
          {
            "name": "symbol",
            "in": "query",
            "required": true,
            "description": "Instrument symbol. Jakarta listings use the .JK suffix",
            "schema": {
              "type": "string",
              "example": "BBCA.JK"
            }
          },
          {
            "name": "range",
            "in": "query",
            "required": false,
            "description": "Look-back window. Default 1mo",
            "schema": {
              "type": "string",
              "enum": [
                "1d",
                "5d",
                "1mo",
                "3mo",
                "6mo",
                "1y",
                "2y",
                "5y",
                "10y",
                "ytd",
                "max"
              ],
              "default": "1mo",
              "example": "1mo"
            }
          },
          {
            "name": "interval",
            "in": "query",
            "required": false,
            "description": "Candle size. Default 1d. Intraday sizes only cover recent ranges",
            "schema": {
              "type": "string",
              "enum": [
                "1m",
                "2m",
                "5m",
                "15m",
                "30m",
                "60m",
                "90m",
                "1h",
                "1d",
                "5d",
                "1wk",
                "1mo",
                "3mo"
              ],
              "default": "1d",
              "example": "1d"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "name": "PT Bank Central Asia Tbk",
                    "count": 24,
                    "range": "1mo",
                    "symbol": "BBCA.JK",
                    "candles": [
                      {
                        "low": 5550,
                        "date": "2026-06-30",
                        "high": 5825,
                        "open": 5775,
                        "close": 5550,
                        "volume": 440738300,
                        "adjClose": 5550,
                        "timestamp": 1782784800
                      },
                      {
                        "low": 5550,
                        "date": "2026-07-01",
                        "high": 5750,
                        "open": 5550,
                        "close": 5600,
                        "volume": 124123800,
                        "adjClose": 5600,
                        "timestamp": 1782871200
                      },
                      {
                        "low": 5625,
                        "date": "2026-07-02",
                        "high": 5875,
                        "open": 5650,
                        "close": 5800,
                        "volume": 145119400,
                        "adjClose": 5800,
                        "timestamp": 1782957600
                      },
                      {
                        "low": 5900,
                        "date": "2026-07-03",
                        "high": 6150,
                        "open": 5925,
                        "close": 6050,
                        "volume": 200465200,
                        "adjClose": 6050,
                        "timestamp": 1783044000
                      },
                      {
                        "low": 5975,
                        "date": "2026-07-06",
                        "high": 6175,
                        "open": 6050,
                        "close": 6125,
                        "volume": 148684900,
                        "adjClose": 6125,
                        "timestamp": 1783303200
                      },
                      {
                        "low": 6150,
                        "date": "2026-07-07",
                        "high": 6300,
                        "open": 6200,
                        "close": 6300,
                        "volume": 183472100,
                        "adjClose": 6300,
                        "timestamp": 1783389600
                      },
                      {
                        "low": 6175,
                        "date": "2026-07-08",
                        "high": 6325,
                        "open": 6300,
                        "close": 6175,
                        "volume": 181123400,
                        "adjClose": 6175,
                        "timestamp": 1783476000
                      },
                      {
                        "low": 6050,
                        "date": "2026-07-09",
                        "high": 6200,
                        "open": 6100,
                        "close": 6200,
                        "volume": 181155800,
                        "adjClose": 6200,
                        "timestamp": 1783562400
                      }
                    ],
                    "currency": "IDR",
                    "exchange": "Jakarta",
                    "interval": "1d",
                    "provider": "yahoo",
                    "timezone": "Asia/Jakarta"
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:yahoo-finance/search": {
      "get": {
        "operationId": "finance_yahoo_finance_search",
        "summary": "Search",
        "description": "Resolve a name or ticker to instruments, with related headlines.",
        "tags": [
          "Yahoo Finance"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/yahoo-finance#reference-search"
        },
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": true,
            "description": "Company name or ticker",
            "schema": {
              "type": "string",
              "example": "bank central asia"
            }
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "description": "Which sections to return. Default all",
            "schema": {
              "type": "string",
              "enum": [
                "all",
                "quotes",
                "news"
              ],
              "default": "all",
              "example": "all"
            }
          },
          {
            "name": "count",
            "in": "query",
            "required": false,
            "description": "Results per section. Default 10, max 20",
            "schema": {
              "type": "number",
              "default": 10,
              "example": "10"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "news": [],
                    "query": "bank central asia",
                    "quotes": [
                      {
                        "name": "PT Bank Central Asia Tbk",
                        "type": "EQUITY",
                        "sector": "Financial Services",
                        "symbol": "BBCA.JK",
                        "exchange": "Jakarta",
                        "industry": "Banks—Regional"
                      },
                      {
                        "name": "PT Bank Central Asia Tbk",
                        "type": "EQUITY",
                        "sector": "Financial Services",
                        "symbol": "BZG.F",
                        "exchange": "Frankfurt",
                        "industry": "Banks—Regional"
                      },
                      {
                        "name": "PT Bank Central Asia Tbk",
                        "type": "EQUITY",
                        "sector": "Financial Services",
                        "symbol": "BZG2.SG",
                        "exchange": "Stuttgart",
                        "industry": "Banks—Regional"
                      },
                      {
                        "name": "PT Bank Central Asia Tbk",
                        "type": "EQUITY",
                        "sector": "Financial Services",
                        "symbol": "PBCRY",
                        "exchange": "OTC Markets",
                        "industry": "Banks—Regional"
                      },
                      {
                        "name": "PT Bank Central Asia Tbk",
                        "type": "EQUITY",
                        "sector": "Financial Services",
                        "symbol": "BZG2.MU",
                        "exchange": "Munich",
                        "industry": "Banks—Regional"
                      }
                    ],
                    "provider": "yahoo"
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:yahoo-finance/screener": {
      "get": {
        "operationId": "finance_yahoo_finance_screener",
        "summary": "Screener",
        "description": "Prebuilt market screens — gainers, losers, most active and more.",
        "tags": [
          "Yahoo Finance"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/yahoo-finance#reference-screener"
        },
        "parameters": [
          {
            "name": "screen",
            "in": "query",
            "required": false,
            "description": "Which prebuilt screen to read. Default day_gainers",
            "schema": {
              "type": "string",
              "enum": [
                "day_gainers",
                "day_losers",
                "most_actives",
                "growth_technology_stocks",
                "undervalued_growth_stocks",
                "undervalued_large_caps",
                "aggressive_small_caps",
                "small_cap_gainers",
                "most_shorted_stocks",
                "portfolio_anchors",
                "solid_large_growth_funds",
                "solid_midcap_growth_funds",
                "conservative_foreign_funds",
                "high_yield_bond"
              ],
              "default": "day_gainers",
              "example": "day_gainers"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "description": "Page number. Default 1",
            "schema": {
              "type": "number",
              "default": 1,
              "example": "1"
            }
          },
          {
            "name": "count",
            "in": "query",
            "required": false,
            "description": "Rows per page. Default 25, max 100",
            "schema": {
              "type": "number",
              "default": 25,
              "example": "25"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "page": 1,
                    "count": 5,
                    "items": [
                      {
                        "last": 744.54,
                        "name": "IES Holdings, Inc.",
                        "type": "EQUITY",
                        "change": 173,
                        "symbol": "IESC",
                        "volume": 485145,
                        "peRatio": 33.10538,
                        "currency": "USD",
                        "exchange": "NasdaqGM",
                        "marketCap": 14834130944,
                        "changePercent": 30.2691
                      },
                      {
                        "last": 60.43,
                        "name": "AXT, Inc.",
                        "type": "EQUITY",
                        "change": 13.49,
                        "symbol": "AXTI",
                        "volume": 29509839,
                        "peRatio": 2014.3334,
                        "currency": "USD",
                        "exchange": "NasdaqGS",
                        "marketCap": 3953522944,
                        "changePercent": 28.7388
                      },
                      {
                        "last": 121.21,
                        "name": "Integer Holdings Corporation",
                        "type": "EQUITY",
                        "change": 20.35,
                        "symbol": "ITGR",
                        "volume": 2355408,
                        "peRatio": 30.151741,
                        "currency": "USD",
                        "exchange": "NYSE",
                        "marketCap": 4115666176,
                        "changePercent": 20.1765
                      },
                      {
                        "last": 86,
                        "name": "Ambarella, Inc.",
                        "type": "EQUITY",
                        "change": 11.91,
                        "symbol": "AMBA",
                        "volume": 9037920,
                        "currency": "USD",
                        "exchange": "NasdaqGS",
                        "marketCap": 3772663808,
                        "changePercent": 16.075
                      },
                      {
                        "last": 271.58,
                        "name": "Amazon.com, Inc.",
                        "type": "EQUITY",
                        "change": 36.08,
                        "symbol": "AMZN",
                        "volume": 125921078,
                        "peRatio": 21.83119,
                        "currency": "USD",
                        "exchange": "NasdaqGS",
                        "marketCap": 2921415835648,
                        "changePercent": 15.3206
                      }
                    ],
                    "title": "Day Gainers",
                    "total": 146,
                    "screen": "day_gainers",
                    "hasMore": true,
                    "nextPage": 2,
                    "provider": "yahoo"
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:yahoo-finance/news": {
      "get": {
        "operationId": "finance_yahoo_finance_news",
        "summary": "News",
        "description": "Headlines for one instrument.",
        "tags": [
          "Yahoo Finance"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/yahoo-finance#reference-news"
        },
        "parameters": [
          {
            "name": "symbol",
            "in": "query",
            "required": true,
            "description": "Instrument symbol. Jakarta listings use the .JK suffix",
            "schema": {
              "type": "string",
              "example": "BBCA.JK"
            }
          },
          {
            "name": "count",
            "in": "query",
            "required": false,
            "description": "Maximum headlines. Default 20, max 50",
            "schema": {
              "type": "number",
              "default": 20,
              "example": "20"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "count": 5,
                    "items": [
                      {
                        "url": "https://www.thestreet.com/investing/apples-record-iphone-boom-just-became-a-wall-street-trap?.tsrc=rss",
                        "title": "Apple’s record iPhone boom just became a Wall Street trap",
                        "description": "Apple (AAPL) reported the type of quarter that should have sent its stock price skyrocketing. Revenue rose 16% from a year earlier to $109 billion, while profit increased 26% to $29 billion. iPhone sales jumped 22%, Mac revenue climbed 25%, and the iPhone 17 produced the biggest product launch in ...",
                        "publishedAt": 1785632580,
                        "publishedAtIso": "2026-08-02T01:03:00.000Z"
                      },
                      {
                        "url": "https://finance.yahoo.com/technology/articles/us-schools-ditching-chromebooks-macbooks-233015401.html?.tsrc=rss",
                        "title": "US Schools Are Ditching Chromebooks for MacBooks by the Thousands— Apple Just Named Names",
                        "description": "Apple‘s latest earnings call revealed a wave of K-12 districts abandoning Chromebooks and Windows machines in favor of the company’s new MacBook Neo, with Chief Financial Officer Kevan Parekh naming specific schools driving the shift. Districts Go All-In on MacBook...",
                        "publishedAt": 1785627015,
                        "publishedAtIso": "2026-08-01T23:30:15.000Z"
                      },
                      {
                        "url": "https://www.thestreet.com/technology/apple-tim-cook-admits-ai-raises-price-products?.tsrc=rss",
                        "title": "Apple CEO sends strong warning on AI and price of Apple products",
                        "description": "Tim Cook spent part of July 30 thanking Apple shareholders at the end of what he confirmed would be his last earnings call as CEO. John Ternus takes over Sept. 1, and Cook moves to executive chairman. The farewell was warm. The statement that followed was not. Cook described Apple's memory cost ...",
                        "publishedAt": 1785614820,
                        "publishedAtIso": "2026-08-01T20:07:00.000Z"
                      },
                      {
                        "url": "https://finance.yahoo.com/markets/stocks/articles/apples-services-slowdown-weird-culprit-193027566.html?.tsrc=rss",
                        "title": "Apple's Services Slowdown Has a Weird Culprit: No F1 Movie This Year",
                        "description": "Apple Inc. said its red-hot Services division lost some momentum in the fiscal third quarter, with CFO Kevan Parekh pointing to an unusual culprit: there was no blockbuster “F1“ movie release this year to boost Apple TV+ revenue. Apple’s fiscal...",
                        "publishedAt": 1785612627,
                        "publishedAtIso": "2026-08-01T19:30:27.000Z"
                      },
                      {
                        "url": "https://finance.yahoo.com/technology/articles/still-buy-next-smartphone-subscribe-184727955.html?.tsrc=rss",
                        "title": "Should you still buy your next smartphone — or subscribe to it instead?",
                        "description": "Apple's new Upgrade program is the latest sign that smartphone ownership is changing.",
                        "publishedAt": 1785610047,
                        "publishedAtIso": "2026-08-01T18:47:27.000Z"
                      }
                    ],
                    "symbol": "AAPL",
                    "provider": "yahoo"
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:yahoo-finance/options": {
      "get": {
        "operationId": "finance_yahoo_finance_options",
        "summary": "Options",
        "description": "Full option chain with implied volatility and open interest.",
        "tags": [
          "Yahoo Finance"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/yahoo-finance#reference-options"
        },
        "parameters": [
          {
            "name": "symbol",
            "in": "query",
            "required": true,
            "description": "Underlying symbol",
            "schema": {
              "type": "string",
              "example": "AAPL"
            }
          },
          {
            "name": "expiration",
            "in": "query",
            "required": false,
            "description": "Expiry as a unix timestamp. Defaults to the nearest expiry",
            "schema": {
              "type": "number",
              "example": "1785715200"
            }
          },
          {
            "name": "side",
            "in": "query",
            "required": false,
            "description": "Which side of the chain to return. Default all",
            "schema": {
              "type": "string",
              "enum": [
                "all",
                "calls",
                "puts"
              ],
              "default": "all",
              "example": "all"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "last": 308.91,
                    "puts": [
                      {
                        "ask": 0.18,
                        "bid": 0,
                        "change": 0,
                        "strike": 235,
                        "volume": 2,
                        "contract": "AAPL260803P00235000",
                        "currency": "USD",
                        "lastPrice": 0.01,
                        "expiration": 1785715200,
                        "inTheMoney": false,
                        "lastTradeAt": 1785339591,
                        "openInterest": 1,
                        "changePercent": 0,
                        "impliedVolatility": 1.5546897265624997
                      },
                      {
                        "ask": 0.04,
                        "bid": 0,
                        "change": -0.02,
                        "strike": 260,
                        "volume": 308,
                        "contract": "AAPL260803P00260000",
                        "currency": "USD",
                        "lastPrice": 0.02,
                        "expiration": 1785715200,
                        "inTheMoney": false,
                        "lastTradeAt": 1785520604,
                        "openInterest": 28,
                        "changePercent": -50,
                        "impliedVolatility": 0.867188828125
                      },
                      {
                        "ask": 0.04,
                        "bid": 0,
                        "change": -0.05,
                        "strike": 270,
                        "volume": 155,
                        "contract": "AAPL260803P00270000",
                        "currency": "USD",
                        "lastPrice": 0.02,
                        "expiration": 1785715200,
                        "inTheMoney": false,
                        "lastTradeAt": 1785526032,
                        "openInterest": 78,
                        "changePercent": -71.42857,
                        "impliedVolatility": 0.6953155468750001
                      },
                      {
                        "ask": 0.04,
                        "bid": 0,
                        "change": -0.05,
                        "strike": 275,
                        "volume": 412,
                        "contract": "AAPL260803P00275000",
                        "currency": "USD",
                        "lastPrice": 0.02,
                        "expiration": 1785715200,
                        "inTheMoney": false,
                        "lastTradeAt": 1785527121,
                        "openInterest": 7,
                        "changePercent": -71.42857,
                        "impliedVolatility": 0.6093789062500001
                      },
                      {
                        "ask": 0.05,
                        "bid": 0.02,
                        "change": -0.06,
                        "strike": 280,
                        "volume": 2776,
                        "contract": "AAPL260803P00280000",
                        "currency": "USD",
                        "lastPrice": 0.02,
                        "expiration": 1785715200,
                        "inTheMoney": false,
                        "lastTradeAt": 1785527977,
                        "openInterest": 152,
                        "changePercent": -75,
                        "impliedVolatility": 0.5585981640625001
                      },
                      {
                        "ask": 0.06,
                        "bid": 0.02,
                        "change": -0.07000001,
                        "strike": 282.5,
                        "volume": 482,
                        "contract": "AAPL260803P00282500",
                        "currency": "USD",
                        "lastPrice": 0.02,
                        "expiration": 1785715200,
                        "inTheMoney": false,
                        "lastTradeAt": 1785527891,
                        "openInterest": 41,
                        "changePercent": -77.77779,
                        "impliedVolatility": 0.5214891601562499
                      },
                      {
                        "ask": 0.07,
                        "bid": 0.03,
                        "change": -0.089999996,
                        "strike": 285,
                        "volume": 4531,
                        "contract": "AAPL260803P00285000",
                        "currency": "USD",
                        "lastPrice": 0.03,
                        "expiration": 1785715200,
                        "inTheMoney": false,
                        "lastTradeAt": 1785527880,
                        "openInterest": 63,
                        "changePercent": -75,
                        "impliedVolatility": 0.5136767382812499
                      },
                      {
                        "ask": 0.07,
                        "bid": 0.03,
                        "change": -0.06,
                        "strike": 287.5,
                        "volume": 3724,
                        "contract": "AAPL260803P00287500",
                        "currency": "USD",
                        "lastPrice": 0.06,
                        "expiration": 1785715200,
                        "inTheMoney": false,
                        "lastTradeAt": 1785527995,
                        "openInterest": 364,
                        "changePercent": -50,
                        "impliedVolatility": 0.46680220703125
                      }
                    ],
                    "calls": [
                      {
                        "ask": 80.8,
                        "bid": 77,
                        "change": 0,
                        "strike": 230,
                        "contract": "AAPL260803C00230000",
                        "currency": "USD",
                        "lastPrice": 98.35,
                        "expiration": 1785715200,
                        "inTheMoney": true,
                        "lastTradeAt": 1784902378,
                        "openInterest": 1,
                        "changePercent": 0,
                        "impliedVolatility": 2.7900420874023437
                      },
                      {
                        "ask": 56.05,
                        "bid": 52.25,
                        "change": 0,
                        "strike": 255,
                        "volume": 1,
                        "contract": "AAPL260803C00255000",
                        "currency": "USD",
                        "lastPrice": 82.85,
                        "expiration": 1785715200,
                        "inTheMoney": true,
                        "lastTradeAt": 1785247209,
                        "openInterest": 1,
                        "changePercent": 0,
                        "impliedVolatility": 1.3056675341796873
                      },
                      {
                        "ask": 33.55,
                        "bid": 29.55,
                        "change": -38.83,
                        "strike": 277.5,
                        "volume": 7,
                        "contract": "AAPL260803C00277500",
                        "currency": "USD",
                        "lastPrice": 23.47,
                        "expiration": 1785715200,
                        "inTheMoney": true,
                        "lastTradeAt": 1785520620,
                        "openInterest": 2,
                        "changePercent": -62.32745,
                        "impliedVolatility": 0.7304714453125
                      },
                      {
                        "ask": 30.6,
                        "bid": 27.15,
                        "change": -31.699999,
                        "strike": 280,
                        "volume": 147,
                        "contract": "AAPL260803C00280000",
                        "currency": "USD",
                        "lastPrice": 22.1,
                        "expiration": 1785715200,
                        "inTheMoney": true,
                        "lastTradeAt": 1785521658,
                        "openInterest": 4,
                        "changePercent": -58.921932,
                        "impliedVolatility": 1.1828654138183592
                      },
                      {
                        "ask": 20.6,
                        "bid": 17.35,
                        "change": -33.51,
                        "strike": 290,
                        "volume": 142,
                        "contract": "AAPL260803C00290000",
                        "currency": "USD",
                        "lastPrice": 18.25,
                        "expiration": 1785715200,
                        "inTheMoney": true,
                        "lastTradeAt": 1785526217,
                        "openInterest": 12,
                        "changePercent": -64.74111,
                        "impliedVolatility": 0.8745129736328124
                      },
                      {
                        "ask": 15.15,
                        "bid": 13.15,
                        "change": -24.970001,
                        "strike": 295,
                        "volume": 1824,
                        "contract": "AAPL260803C00295000",
                        "currency": "USD",
                        "lastPrice": 14,
                        "expiration": 1785715200,
                        "inTheMoney": true,
                        "lastTradeAt": 1785527826,
                        "openInterest": 34,
                        "changePercent": -64.074936,
                        "impliedVolatility": 0.6372106591796876
                      },
                      {
                        "ask": 12.75,
                        "bid": 10.75,
                        "change": -22.819998,
                        "strike": 297.5,
                        "volume": 1067,
                        "contract": "AAPL260803C00297500",
                        "currency": "USD",
                        "lastPrice": 13.6,
                        "expiration": 1785715200,
                        "inTheMoney": true,
                        "lastTradeAt": 1785527988,
                        "openInterest": 21,
                        "changePercent": -62.657875,
                        "impliedVolatility": 0.57617611328125
                      },
                      {
                        "ask": 10.4,
                        "bid": 9.1,
                        "change": -24.779999,
                        "strike": 300,
                        "volume": 14427,
                        "contract": "AAPL260803C00300000",
                        "currency": "USD",
                        "lastPrice": 9.43,
                        "expiration": 1785715200,
                        "inTheMoney": true,
                        "lastTradeAt": 1785527995,
                        "openInterest": 38,
                        "changePercent": -72.43496,
                        "impliedVolatility": 0.5170946728515625
                      }
                    ],
                    "count": 82,
                    "symbol": "AAPL",
                    "currency": "USD",
                    "provider": "yahoo",
                    "expiration": 1785715200,
                    "expirations": [
                      1785715200,
                      1785888000,
                      1786060800,
                      1786665600,
                      1787270400,
                      1787875200,
                      1788480000,
                      1789689600
                    ],
                    "strikeCount": 50
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:yahoo-finance/insights": {
      "get": {
        "operationId": "finance_yahoo_finance_insights",
        "summary": "Insights",
        "description": "Third-party technical outlooks, valuation standing and developments.",
        "tags": [
          "Yahoo Finance"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/yahoo-finance#reference-insights"
        },
        "parameters": [
          {
            "name": "symbol",
            "in": "query",
            "required": true,
            "description": "Instrument symbol. Jakarta listings use the .JK suffix",
            "schema": {
              "type": "string",
              "example": "AAPL"
            }
          },
          {
            "name": "count",
            "in": "query",
            "required": false,
            "description": "Significant developments to return. Default 10, max 30",
            "schema": {
              "type": "number",
              "default": 10,
              "example": "10"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "count": 1,
                    "items": [
                      {
                        "date": "2026-07-29",
                        "headline": "Qualcomm CEO - Our Two Near Term, Custom Silicon Wins Will Be Revenue Generating In The December Quarter - Conf Call"
                      }
                    ],
                    "sector": "Technology",
                    "symbol": "AAPL",
                    "support": 230.4,
                    "provider": "yahoo",
                    "stopLoss": 281.086598,
                    "resistance": 311.4,
                    "companyHiring": 0.9512999999999999,
                    "longTermOutlook": {
                      "score": 1,
                      "summary": "There is one bullish event.",
                      "direction": "Bullish",
                      "indexDirection": "Bullish",
                      "sectorDirection": "Bullish",
                      "scoreDescription": "Weak Bullish Evidence"
                    },
                    "researchProvider": "Trading Central",
                    "shortTermOutlook": {
                      "score": 4,
                      "summary": "Recent bearish events outweigh bullish events.",
                      "direction": "Bearish",
                      "indexDirection": "Bullish",
                      "sectorDirection": "Bearish",
                      "scoreDescription": "Very Strong Bearish Evidence"
                    },
                    "valuationDiscount": "-8%",
                    "valuationDescription": "Overvalued",
                    "companyInnovativeness": 0.9981,
                    "companySustainability": 0.16519999999999999,
                    "companyEarningsReports": 0.8412000000000001,
                    "valuationRelativeValue": "Premium",
                    "companyInsiderSentiment": 0.355,
                    "intermediateTermOutlook": {
                      "score": 1,
                      "summary": "Recent bearish events outweigh bullish events.",
                      "direction": "Bearish",
                      "indexDirection": "Neutral",
                      "sectorDirection": "Bearish",
                      "scoreDescription": "Weak Bearish Evidence"
                    }
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:yahoo-finance/holders": {
      "get": {
        "operationId": "finance_yahoo_finance_holders",
        "summary": "Holders",
        "description": "Insider and institutional ownership, plus insider transactions.",
        "tags": [
          "Yahoo Finance"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/yahoo-finance#reference-holders"
        },
        "parameters": [
          {
            "name": "symbol",
            "in": "query",
            "required": true,
            "description": "Instrument symbol. Jakarta listings use the .JK suffix",
            "schema": {
              "type": "string",
              "example": "AAPL"
            }
          },
          {
            "name": "count",
            "in": "query",
            "required": false,
            "description": "Rows per list. Default 10, max 50",
            "schema": {
              "type": "number",
              "default": 10,
              "example": "10"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "count": 5,
                    "funds": [
                      {
                        "value": 144017368370,
                        "shares": 466211410,
                        "reportDate": 1774915200,
                        "heldPercent": 3.17,
                        "organization": "VANGUARD INDEX FUNDS-Vanguard Total Stock Market Index Fund",
                        "changePercent": 0.4
                      },
                      {
                        "value": 115247571447,
                        "shares": 373078146,
                        "reportDate": 1774915200,
                        "heldPercent": 2.54,
                        "organization": "VANGUARD INDEX FUNDS-Vanguard 500 Index Fund",
                        "changePercent": 0.12
                      },
                      {
                        "value": 62606587179,
                        "shares": 202669342,
                        "reportDate": 1782777600,
                        "heldPercent": 1.38,
                        "organization": "iShares Trust-iShares Core S&P 500 ETF",
                        "changePercent": 4.78
                      },
                      {
                        "value": 58202930816,
                        "shares": 188413875,
                        "reportDate": 1782777600,
                        "heldPercent": 1.28,
                        "organization": "Fidelity Concord Street Trust-Fidelity 500 Index Fund",
                        "changePercent": 0.29
                      },
                      {
                        "value": 54825648946,
                        "shares": 177480976,
                        "reportDate": 1782777600,
                        "heldPercent": 1.21,
                        "organization": "SPDR S&P 500 ETF TRUST-State Street SPDR S&P 500 ETF Trust",
                        "changePercent": 0.24
                      }
                    ],
                    "items": [
                      {
                        "value": 353607867928,
                        "shares": 1144695425,
                        "reportDate": 1774915200,
                        "heldPercent": 7.79,
                        "organization": "Blackrock Inc.",
                        "changePercent": -0.86
                      },
                      {
                        "value": 294653080436,
                        "shares": 953847648,
                        "reportDate": 1774915200,
                        "heldPercent": 6.49,
                        "organization": "Vanguard Capital Management LLC",
                        "changePercent": 100
                      },
                      {
                        "value": 186069286860,
                        "shares": 602341409,
                        "reportDate": 1774915200,
                        "heldPercent": 4.1,
                        "organization": "State Street Corporation",
                        "changePercent": -0.28
                      },
                      {
                        "value": 113869464610,
                        "shares": 368616954,
                        "reportDate": 1774915200,
                        "heldPercent": 2.51,
                        "organization": "Geode Capital Management, LLC",
                        "changePercent": 2.96
                      },
                      {
                        "value": 102384221873,
                        "shares": 331437055,
                        "reportDate": 1774915200,
                        "heldPercent": 2.26,
                        "organization": "Vanguard Portfolio Management LLC",
                        "changePercent": 100
                      }
                    ],
                    "symbol": "AAPL",
                    "provider": "yahoo",
                    "insiderTrades": [
                      {
                        "at": 1781568000,
                        "name": "BORDERS BEN",
                        "value": 34236,
                        "shares": 116,
                        "relation": "Officer",
                        "transaction": "Sale at price 295.14 per share."
                      },
                      {
                        "at": 1781481600,
                        "name": "NEWSTEAD JENNIFER",
                        "shares": 30104,
                        "relation": "General Counsel"
                      },
                      {
                        "at": 1781481600,
                        "name": "BORDERS BEN",
                        "shares": 240,
                        "relation": "Officer"
                      },
                      {
                        "at": 1779840000,
                        "name": "LEVINSON ARTHUR D",
                        "value": 15551000,
                        "shares": 50000,
                        "relation": "Director",
                        "transaction": "Sale at price 311.02 per share."
                      },
                      {
                        "at": 1779840000,
                        "name": "LEVINSON ARTHUR D",
                        "value": 0,
                        "shares": 65000,
                        "relation": "Director",
                        "transaction": "Stock Gift at price 0.00 per share."
                      }
                    ],
                    "institutionsCount": 7659,
                    "insidersHeldPercent": 1.637,
                    "institutionsHeldPercent": 65.734,
                    "institutionsFloatHeldPercent": 66.828
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:yahoo-finance/earnings": {
      "get": {
        "operationId": "finance_yahoo_finance_earnings",
        "summary": "Earnings",
        "description": "Reported vs consensus EPS, surprise, and forward estimates.",
        "tags": [
          "Yahoo Finance"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/yahoo-finance#reference-earnings"
        },
        "parameters": [
          {
            "name": "symbol",
            "in": "query",
            "required": true,
            "description": "Instrument symbol. Jakarta listings use the .JK suffix",
            "schema": {
              "type": "string",
              "example": "AAPL"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "count": 4,
                    "items": [
                      {
                        "period": "-4q",
                        "currency": "USD",
                        "epsActual": 1.85,
                        "quarterEnd": 1759190400,
                        "epsEstimate": 1.76993,
                        "epsDifference": 0.08,
                        "surprisePercent": 4.52
                      },
                      {
                        "period": "-3q",
                        "currency": "USD",
                        "epsActual": 2.84,
                        "quarterEnd": 1767139200,
                        "epsEstimate": 2.6708,
                        "epsDifference": 0.17,
                        "surprisePercent": 6.34
                      },
                      {
                        "period": "-2q",
                        "currency": "USD",
                        "epsActual": 2.01,
                        "quarterEnd": 1774915200,
                        "epsEstimate": 1.94275,
                        "epsDifference": 0.07,
                        "surprisePercent": 3.46
                      },
                      {
                        "period": "-1q",
                        "currency": "USD",
                        "epsActual": 2.02,
                        "quarterEnd": 1782777600,
                        "epsEstimate": 1.89243,
                        "epsDifference": 0.13,
                        "surprisePercent": 6.74
                      }
                    ],
                    "annual": [
                      {
                        "year": 2022,
                        "revenue": 394328000000,
                        "earnings": 99803000000
                      },
                      {
                        "year": 2023,
                        "revenue": 383285000000,
                        "earnings": 96995000000
                      },
                      {
                        "year": 2024,
                        "revenue": 391035000000,
                        "earnings": 93736000000
                      },
                      {
                        "year": 2025,
                        "revenue": 416161000000,
                        "earnings": 112010000000
                      }
                    ],
                    "symbol": "AAPL",
                    "currency": "USD",
                    "provider": "yahoo",
                    "estimates": [
                      {
                        "epsLow": 1.95,
                        "period": "0q",
                        "endDate": "2026-09-30",
                        "epsHigh": 2.04,
                        "epsAverage": 1.97898,
                        "epsAnalysts": 26,
                        "growthPercent": 7.03,
                        "revenueAverage": 113259618670,
                        "revenueAnalysts": 26
                      },
                      {
                        "epsLow": 2.51,
                        "period": "+1q",
                        "endDate": "2026-12-31",
                        "epsHigh": 3.42,
                        "epsAverage": 2.90908,
                        "epsAnalysts": 23,
                        "growthPercent": 1.61,
                        "revenueAverage": 153920295200,
                        "revenueAnalysts": 21
                      },
                      {
                        "epsLow": 8.57,
                        "period": "0y",
                        "endDate": "2026-09-30",
                        "epsHigh": 8.92,
                        "epsAverage": 8.81411,
                        "epsAnalysts": 37,
                        "growthPercent": 18.030001,
                        "revenueAverage": 477391182150,
                        "revenueAnalysts": 28
                      },
                      {
                        "epsLow": 8.24,
                        "period": "+1y",
                        "endDate": "2027-09-30",
                        "epsHigh": 10.96,
                        "epsAverage": 9.58609,
                        "epsAnalysts": 41,
                        "growthPercent": 8.01,
                        "revenueAverage": 523865758660,
                        "revenueAnalysts": 40
                      }
                    ],
                    "nextEarningsDate": 1793304000,
                    "nextEarningsDateEstimated": false
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:yahoo-finance/analysts": {
      "get": {
        "operationId": "finance_yahoo_finance_analysts",
        "summary": "Analysts",
        "description": "Rating distribution, price targets and the upgrade/downgrade tape.",
        "tags": [
          "Yahoo Finance"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/yahoo-finance#reference-analysts"
        },
        "parameters": [
          {
            "name": "symbol",
            "in": "query",
            "required": true,
            "description": "Instrument symbol. Jakarta listings use the .JK suffix",
            "schema": {
              "type": "string",
              "example": "AAPL"
            }
          },
          {
            "name": "count",
            "in": "query",
            "required": false,
            "description": "Rating changes to return. Default 25, max 100",
            "schema": {
              "type": "number",
              "default": 25,
              "example": "25"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "count": 5,
                    "items": [
                      {
                        "at": 1785521260,
                        "firm": "JP Morgan",
                        "action": "main",
                        "toGrade": "Overweight",
                        "fromGrade": "Overweight",
                        "priceTarget": 340,
                        "priorPriceTarget": 345,
                        "priceTargetAction": "Lowers"
                      },
                      {
                        "at": 1785513830,
                        "firm": "TD Cowen",
                        "action": "main",
                        "toGrade": "Buy",
                        "fromGrade": "Buy",
                        "priceTarget": 400,
                        "priorPriceTarget": 350,
                        "priceTargetAction": "Raises"
                      },
                      {
                        "at": 1785510306,
                        "firm": "DA Davidson",
                        "action": "main",
                        "toGrade": "Neutral",
                        "fromGrade": "Neutral",
                        "priceTarget": 270,
                        "priorPriceTarget": 270,
                        "priceTargetAction": "Maintains"
                      },
                      {
                        "at": 1785510107,
                        "firm": "Wells Fargo",
                        "action": "main",
                        "toGrade": "Overweight",
                        "fromGrade": "Overweight",
                        "priceTarget": 350,
                        "priorPriceTarget": 310,
                        "priceTargetAction": "Raises"
                      },
                      {
                        "at": 1785500656,
                        "firm": "Needham",
                        "action": "reit",
                        "toGrade": "Hold",
                        "fromGrade": "Hold",
                        "priceTarget": 0,
                        "priorPriceTarget": 0
                      }
                    ],
                    "trend": [
                      {
                        "buy": 22,
                        "hold": 14,
                        "sell": 2,
                        "period": "0m",
                        "strongBuy": 6,
                        "strongSell": 2
                      },
                      {
                        "buy": 22,
                        "hold": 16,
                        "sell": 1,
                        "period": "-1m",
                        "strongBuy": 6,
                        "strongSell": 2
                      },
                      {
                        "buy": 23,
                        "hold": 15,
                        "sell": 1,
                        "period": "-2m",
                        "strongBuy": 7,
                        "strongSell": 2
                      }
                    ],
                    "symbol": "AAPL",
                    "provider": "yahoo",
                    "consensus": "buy",
                    "targetLow": 215,
                    "targetHigh": 400,
                    "targetMean": 323.28195,
                    "analystCount": 41,
                    "targetMedian": 330,
                    "consensusScore": 2.04348
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:yahoo-finance/financials": {
      "get": {
        "operationId": "finance_yahoo_finance_financials",
        "summary": "Financials",
        "description": "Income, balance sheet or cash flow as a period-by-period series.",
        "tags": [
          "Yahoo Finance"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/yahoo-finance#reference-financials"
        },
        "parameters": [
          {
            "name": "symbol",
            "in": "query",
            "required": true,
            "description": "Instrument symbol. Jakarta listings use the .JK suffix",
            "schema": {
              "type": "string",
              "example": "AAPL"
            }
          },
          {
            "name": "statement",
            "in": "query",
            "required": false,
            "description": "Which statement to return. Default income",
            "schema": {
              "type": "string",
              "enum": [
                "income",
                "balance",
                "cashflow"
              ],
              "default": "income",
              "example": "income"
            }
          },
          {
            "name": "period",
            "in": "query",
            "required": false,
            "description": "Reporting period. Default annual",
            "schema": {
              "type": "string",
              "enum": [
                "annual",
                "quarterly",
                "trailing"
              ],
              "default": "annual",
              "example": "annual"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "count": 4,
                    "items": [
                      {
                        "date": "2025-09-30",
                        "ebitda": 144748000000,
                        "revenue": 416161000000,
                        "epsBasic": 7.49,
                        "netIncome": 112010000000,
                        "epsDiluted": 7.46,
                        "periodType": "12M",
                        "grossProfit": 195201000000,
                        "costOfRevenue": 220960000000,
                        "operatingIncome": 133050000000,
                        "operatingExpense": 62151000000
                      },
                      {
                        "date": "2024-09-30",
                        "ebitda": 134661000000,
                        "revenue": 391035000000,
                        "epsBasic": 6.11,
                        "netIncome": 93736000000,
                        "epsDiluted": 6.08,
                        "periodType": "12M",
                        "grossProfit": 180683000000,
                        "costOfRevenue": 210352000000,
                        "operatingIncome": 123216000000,
                        "operatingExpense": 57467000000
                      },
                      {
                        "date": "2023-09-30",
                        "ebitda": 125820000000,
                        "revenue": 383285000000,
                        "epsBasic": 6.16,
                        "netIncome": 96995000000,
                        "epsDiluted": 6.13,
                        "periodType": "12M",
                        "grossProfit": 169148000000,
                        "costOfRevenue": 214137000000,
                        "operatingIncome": 114301000000,
                        "operatingExpense": 54847000000
                      },
                      {
                        "date": "2022-09-30",
                        "ebitda": 130541000000,
                        "revenue": 394328000000,
                        "epsBasic": 6.15,
                        "netIncome": 99803000000,
                        "epsDiluted": 6.11,
                        "periodType": "12M",
                        "grossProfit": 170782000000,
                        "costOfRevenue": 223546000000,
                        "operatingIncome": 119437000000,
                        "operatingExpense": 51345000000
                      }
                    ],
                    "period": "annual",
                    "symbol": "AAPL",
                    "currency": "USD",
                    "provider": "yahoo",
                    "statement": "income"
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/finance:yahoo-finance/market-summary": {
      "get": {
        "operationId": "finance_yahoo_finance_market_summary",
        "summary": "Market summary",
        "description": "Index, futures and rate levels for a region.",
        "tags": [
          "Yahoo Finance"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/finance/yahoo-finance#reference-market-summary"
        },
        "parameters": [
          {
            "name": "region",
            "in": "query",
            "required": false,
            "description": "Region whose summary strip to return. Default US",
            "schema": {
              "type": "string",
              "enum": [
                "US",
                "ID",
                "GB",
                "DE",
                "JP",
                "HK",
                "SG",
                "IN",
                "AU"
              ],
              "default": "US",
              "example": "US"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "count": 15,
                    "items": [
                      {
                        "last": 7489.72,
                        "name": "S&P 500",
                        "type": "INDEX",
                        "change": 52.090332,
                        "symbol": "^GSPC",
                        "exchange": "SNP",
                        "marketState": "CLOSED",
                        "changePercent": 0.70036197,
                        "lastTimestamp": 1785532932,
                        "previousClose": 7437.63
                      },
                      {
                        "last": 52485.03,
                        "name": "Dow 30",
                        "type": "INDEX",
                        "change": 276.97266,
                        "symbol": "^DJI",
                        "exchange": "DJI",
                        "marketState": "CLOSED",
                        "changePercent": 0.53051704,
                        "lastTimestamp": 1785532938,
                        "previousClose": 52208.06
                      },
                      {
                        "last": 25373.854,
                        "name": "Nasdaq",
                        "type": "INDEX",
                        "change": 251.67578,
                        "symbol": "^IXIC",
                        "exchange": "Nasdaq GIDS",
                        "marketState": "CLOSED",
                        "changePercent": 1.0018072,
                        "lastTimestamp": 1785532559,
                        "previousClose": 25122.178
                      },
                      {
                        "last": 2931.339,
                        "name": "Russell 2000",
                        "type": "INDEX",
                        "change": -14.761963,
                        "symbol": "^RUT",
                        "exchange": "Chicago Options",
                        "marketState": "CLOSED",
                        "changePercent": -0.50106776,
                        "lastTimestamp": 1785529812,
                        "previousClose": 2946.101
                      },
                      {
                        "last": 84.67,
                        "name": "Crude Oil",
                        "type": "FUTURE",
                        "change": 1.0800018,
                        "symbol": "CL=F",
                        "exchange": "NY Mercantile",
                        "marketState": "CLOSED",
                        "changePercent": 1.2920228,
                        "lastTimestamp": 1785531599,
                        "previousClose": 83.59
                      },
                      {
                        "last": 4107,
                        "name": "Gold",
                        "type": "FUTURE",
                        "change": -53.600098,
                        "symbol": "GC=F",
                        "exchange": "COMEX",
                        "marketState": "CLOSED",
                        "changePercent": -1.288278,
                        "lastTimestamp": 1785531594,
                        "previousClose": 4160.6
                      },
                      {
                        "last": 57.786,
                        "name": "Silver",
                        "type": "FUTURE",
                        "change": -1.230999,
                        "symbol": "SI=F",
                        "exchange": "COMEX",
                        "marketState": "CLOSED",
                        "changePercent": -2.085838,
                        "lastTimestamp": 1785531588,
                        "previousClose": 59.017
                      },
                      {
                        "last": 1.1527377,
                        "name": "EUR/USD",
                        "type": "CURRENCY",
                        "change": -0.00013291836,
                        "symbol": "EURUSD=X",
                        "currency": "USD",
                        "exchange": "CCY",
                        "marketState": "CLOSED",
                        "changePercent": -0.011529291,
                        "lastTimestamp": 1785533393,
                        "previousClose": 1.1528707
                      }
                    ],
                    "region": "US",
                    "provider": "yahoo"
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    }
  }
}