ECMWF · OpenAPI Overlay 1.0.0

API Evangelist overlay for ECMWF Data Stores Processing API

12 actions 12 updates security extends openapi/ecmwf-data-stores-processing-openapi.yml
Derived by API Evangelist Built from the contracts ECMWF publishes. ECMWF did not publish this file.
View Overlay File View on GitHub Overlay Specification

What the actions change

securityx-providerx-ownershipx-docssecuritySchemes

Targets 12

$.info
$.components
$.paths['/processes/{process_id}/execute'].post
$.paths['/processes/{process_id}/execution'].post
$.paths['/jobs'].get
$.paths['/jobs/{job_id}'].get
$.paths['/jobs/{job_id}'].delete
$.paths['/jobs/{job_id}/results'].get
$.paths['/processes/{process_id}/constraints'].post
$.paths['/processes/{process_id}/costing'].post
$.paths['/jobs/delete'].post
$.paths['/jobs/{job_id}/receipt'].get

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist overlay for ECMWF Data Stores Processing API
  version: 1.0.0
extends: openapi/ecmwf-data-stores-processing-openapi.yml
x-generated: '2026-10-18'
x-method: generated
x-source: openapi/ecmwf-data-stores-processing-openapi.yml
x-rationale: The captured contract declares no components.securitySchemes; authentication appears only as a per-operation
  `PRIVATE-TOKEN` header parameter (the personal access token documented at https://cds.climate.copernicus.eu/how-to-api).
  This overlay adds an apiKey scheme for that header and a security requirement on exactly the 10 operations that
  declare it, leaving unauthenticated operations open.
actions:
- target: $.info
  description: Record provider ownership and agent-facing context.
  update:
    x-provider: ECMWF
    x-ownership: Served on Copernicus hosts because ECMWF implements C3S and CAMS (https://www.ecmwf.int/en/about/what-we-do/copernicus);
      the contract's info.title names ECMWF Data Stores.
    x-docs: https://cds.climate.copernicus.eu/how-to-api
- target: $.components
  description: Add the PRIVATE-TOKEN personal access token scheme.
  update:
    securitySchemes:
      privateToken:
        type: apiKey
        in: header
        name: PRIVATE-TOKEN
        description: Data Stores personal access token (the `key` in $HOME/.cdsapirc).
- target: $.paths['/processes/{process_id}/execute'].post
  description: PostProcessExecute_processes__process_id__execute_post declares the PRIVATE-TOKEN header; mark it
    as secured.
  update:
    security:
    - privateToken: []
- target: $.paths['/processes/{process_id}/execution'].post
  description: PostProcessExecution_processes__process_id__execution_post declares the PRIVATE-TOKEN header; mark
    it as secured.
  update:
    security:
    - privateToken: []
- target: $.paths['/jobs'].get
  description: GetJobs_jobs_get declares the PRIVATE-TOKEN header; mark it as secured.
  update:
    security:
    - privateToken: []
- target: $.paths['/jobs/{job_id}'].get
  description: GetJob_jobs__job_id__get declares the PRIVATE-TOKEN header; mark it as secured.
  update:
    security:
    - privateToken: []
- target: $.paths['/jobs/{job_id}'].delete
  description: DeleteJob_jobs__job_id__delete declares the PRIVATE-TOKEN header; mark it as secured.
  update:
    security:
    - privateToken: []
- target: $.paths['/jobs/{job_id}/results'].get
  description: GetJobResults_jobs__job_id__results_get declares the PRIVATE-TOKEN header; mark it as secured.
  update:
    security:
    - privateToken: []
- target: $.paths['/processes/{process_id}/constraints'].post
  description: apply_constraints_processes__process_id__constraints_post declares the PRIVATE-TOKEN header; mark
    it as secured.
  update:
    security:
    - privateToken: []
- target: $.paths['/processes/{process_id}/costing'].post
  description: estimate_cost_processes__process_id__costing_post declares the PRIVATE-TOKEN header; mark it as secured.
  update:
    security:
    - privateToken: []
- target: $.paths['/jobs/delete'].post
  description: delete_jobs_jobs_delete_post declares the PRIVATE-TOKEN header; mark it as secured.
  update:
    security:
    - privateToken: []
- target: $.paths['/jobs/{job_id}/receipt'].get
  description: get_job_receipt_jobs__job_id__receipt_get declares the PRIVATE-TOKEN header; mark it as secured.
  update:
    security:
    - privateToken: []

Work with this as data

Every overlay here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for openapi overlays

4 MCP tools reach this
  • find_overlaysBrowse and filter every overlay in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/ecmwf-processing-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.