openapi: 3.1.0 info: title: Monitly API version: '2026-10-08' description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-10-08: 5 operation(s) read from 3 public documentation page(s) (each operation names its page in x-source). This is not the provider''s published contract; Monitly has published no machine-readable contract that the pipeline could find. Engine: local.' x-evidence-tiers: code-example: 1 documentation: 4 pages-with-code: 1 pages-read: 3 x-generated-from: documentation x-provenance: generated x-authored-by: API Evangelist x-generated: '2026-10-08' x-generator: generate-contract-from-docs.py x-engine: local x-sources: - https://monit.ly/api-docs - https://monit.ly/mcp-docs - https://monit.ly/llms.txt paths: /api/charts/generate-png: post: operationId: post_api_charts_generate_png tags: - Api summary: Generate chart PNG x-source: https://monit.ly/api-docs requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PostApiChartsGeneratePngRequest' responses: '201': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/PostApiChartsGeneratePngResponse' x-evidence: kind: documentation /api/datasets: get: operationId: get_api_datasets tags: - Api summary: List datasets x-source: https://monit.ly/api-docs parameters: - name: country in: query required: false schema: type: string description: Filter catalog by available country code - name: page in: query required: false schema: type: string description: 0‑based page index - name: limit in: query required: false schema: type: string description: Number of items per page (default 100) responses: '200': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/GetApiDatasetsResponse' x-evidence: kind: documentation /api/datasets/{id}: get: operationId: get_api_datasets_id tags: - Api summary: Dataset details + wide data x-source: https://monit.ly/api-docs parameters: - name: id in: path required: true schema: type: string responses: '200': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/GetApiDatasetsIdResponse' x-evidence: kind: documentation /api/datasets/{id}/{idid}: get: operationId: get_api_datasets_id_idid tags: - Api summary: Filtered data x-source: https://monit.ly/api-docs parameters: - name: id in: path required: true schema: type: string - name: idid in: path required: true schema: type: string - name: dim1 in: query required: false schema: type: string description: Exact label for dimension 1 (repeatable) - name: dim2 in: query required: false schema: type: string description: Exact label for dimension 2 (repeatable) - name: dim3 in: query required: false schema: type: string description: Exact label for dimension 3 (repeatable) - name: dim4 in: query required: false schema: type: string description: Exact label for dimension 4 (repeatable) - name: dim5 in: query required: false schema: type: string description: Exact label for dimension 5 (repeatable) - name: dim6 in: query required: false schema: type: string description: Exact label for dimension 6 (repeatable) - name: dim7 in: query required: false schema: type: string description: Exact label for dimension 7 (repeatable) - name: dim8 in: query required: false schema: type: string description: Exact label for dimension 8 (repeatable) - name: country in: query required: false schema: type: string description: Country code (repeatable) - name: period_from in: query required: false schema: type: string description: Start period (e.g. Q1/1995) - name: period_to in: query required: false schema: type: string description: End period (e.g. Q1/2025) - name: period in: query required: false schema: type: string description: Single period - name: latest in: query required: false schema: type: string description: If true, return only the most recent data point - name: followed in: query required: false schema: type: string description: If true, filter to organization‑tracked dimensions and countries responses: '200': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/GetApiDatasetsIdIdidResponse' x-evidence: kind: documentation collapsed_from: 3 example path(s) differing only at idId /api/mcp: post: operationId: post_api_mcp tags: - Api summary: POST /api/mcp x-source: https://monit.ly/mcp-docs requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PostApiMcpRequest' responses: '201': description: Success (shape read from the example response on the page) content: application/json: schema: $ref: '#/components/schemas/PostApiMcpResponse' x-evidence: kind: code-example language: curl snippet: 'curl curl -s https://monit.ly/api/mcp -H "Authorization: Bearer mcpk_YOUR_KEY" -H "Content-Type: application/json" -d ''{"jsonrpc":"2.0","id":1,"method":"tools/list"}'' Authentication Every request must carry an MCP key. Keys belong to your account, are stored only as SHA-256 hashes and can be revoked at any time. MCP keys ( mcpk_… ) are separate from REST API keys ( mon_… ). Preferred header Aut' components: schemas: PostApiChartsGeneratePngRequest: type: object properties: datasetId: type: integer description: Identifier of the dataset to chart chartType: type: string description: One of "line", "bar", "map", "horizontal-bar" selectedDimensions: type: object description: 'Dimensions to filter, e.g. { "country": ["Austria","Poland"] }' seriesColors: type: object description: Custom colors per series customTitle: type: string width: type: integer height: type: integer format: type: string description: '"json", "png" or "jpeg"' highlightLatest: type: boolean required: - datasetId - chartType PostApiChartsGeneratePngResponse: type: object properties: success: type: boolean base64: type: string description: Base64‑encoded image data GetApiDatasetsResponse: type: object properties: data: type: array description: Array of dataset catalog entries pagination: type: object description: Pagination info GetApiDatasetsIdResponse: type: object properties: dataset: type: object description: Metadata of the dataset data: type: array description: Wide format data series GetApiDatasetsIdIdidResponse: type: object properties: data: type: array meta: type: object PostApiMcpRequest: type: object properties: jsonrpc: type: string id: type: integer method: type: string PostApiMcpResponse: type: object properties: datasets: type: array items: type: object properties: id: type: integer dataset_code: type: string dataset_name: type: string source_name: type: string oldest_period: type: string latest_period: type: string observation_count: type: integer dim_labels: type: array items: type: string default_view: type: object properties: dim1: type: array items: type: string dim2: type: array items: type: string dim3: type: array items: type: string country: type: array items: type: string has_country: type: boolean geo_count: type: integer match: type: string returned_count: type: integer securitySchemes: bearer: type: http scheme: bearer security: - bearer: [] tags: - name: Api