EU Open Data Portal Administration API

The Administration API from EU Open Data Portal — 5 operation(s) for administration.

Operations 6

POST /admin/refresh Refresh all metrics #
POST /admin/refresh/{scope}/{id} Refresh a specific metric #
POST /admin/clear Remove all currently existing metrics and their values #
POST /admin/migratescore Migrates old score history entries into the new db schema #
POST /admin/schedule Schedule the refresh action #
GET /admin/schedule Return refresh schedules #

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/eu-open-data-portal-administration-api"
All apis
curl "https://apis.io/api/v1/apis?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.

OpenAPI Specification

eu-open-data-portal-administration-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 5.8.3
  title: Metrics Cache Administration API
  description: The API is designed to provide actual quality information for datasets.
  x-logo:
    url: images/logo
servers:
- url: ''
tags:
- name: Administration
paths:
  /admin/refresh:
    post:
      tags:
      - Administration
      summary: Refresh all metrics
      description: This function is reserved for internal use only and is not part of our public API offerings. You must be authorized to refresh all metrics. If you are authorized, send POST request to the specified URL of the API with the resource path "/admin/refresh" to fetch DQV (Data Quality Vocabulary) values from remote endpoint and calculates a new set of metrics for all available metadata.
      operationId: refreshAllMetrics
      security:
      - ApiKeyAuth: []
      responses:
        202:
          description: Request accepted
  /admin/refresh/{scope}/{id}:
    post:
      tags:
      - Administration
      summary: Refresh a specific metric
      description: This function is reserved for internal use only and is not part of our public API offerings. You must be authorized to refresh the metrics of a specified document. If you are authorized, send POST request to the specified URL of the API endpoint with the resource path "/admin/refresh/{scope}/{id}" to fetch DQV (Data Quality Vocabulary) values from remote endpoint and calculate a new set of metrics for the document with specified id.
      operationId: refreshSingleMetrics
      parameters:
      - name: scope
        in: path
        description: The scope
        required: true
        schema:
          type: string
          enum:
          - catalogues
          - countries
          - global
      - name: id
        in: path
        description: Document id. In case of 'global' the id is ignored. The only document id of global scope is implicitly 'global'.
        required: true
        schema:
          type: string
      security:
      - ApiKeyAuth: []
      responses:
        202:
          description: Request accepted
  /admin/clear:
    post:
      tags:
      - Administration
      summary: Remove all currently existing metrics and their values
      description: This function is reserved for internal use only and is not part of our public API offerings. You must be authorized to remove all currently existing metrics and their values. If you are authorized, send POST request to the specified URL of the API endpoint with the resource path "/admin/clear" to remove the metrics.
      operationId: clearMetrics
      security:
      - ApiKeyAuth: []
      responses:
        202:
          description: Request accepted
  /admin/migratescore:
    post:
      tags:
      - Administration
      summary: Migrates old score history entries into the new db schema
      description: This function is reserved for internal use only and is not part of our public API offerings. You must be authorized to update deprecated format of metrics' entries according to the current data base schema. You may need to update format only if entries were made using Metrics-Cache version lower than 3, with had different database schema. As an authorized user, you can make a POST request to the specified URL of the API endpoint with the resource path "/admin/migratescore" added at the end of the URL. The format will be updated.
      operationId: migrateScore
      security:
      - ApiKeyAuth: []
      responses:
        202:
          description: Request accepted
  /admin/schedule:
    post:
      tags:
      - Administration
      summary: Schedule the refresh action
      description: This function is reserved for internal use only and is not part of our public API offerings. Authorization is required to set an internal schedule for refreshing the metrics for all catalogues. If you are authorized, send POST request to the specified URL of the API endpoint with the resource path "/admin/schedule" added at the end of the URL. Pay attention that you can choose different request body schema according to the scheduling details you need. It is necessary to create an unique id for each scheduling instance. Remember that currently, you cannot delete or modify a schedule.
      operationId: scheduleRefresh
      requestBody:
        content:
          application/json:
            schema:
              anyOf:
              - $ref: '#/components/schemas/CronTrigger'
              - $ref: '#/components/schemas/IntervalTrigger'
              - $ref: '#/components/schemas/SpecificTrigger'
      security:
      - ApiKeyAuth: []
      responses:
        202:
          description: Request accepted
    get:
      tags:
      - Administration
      summary: Return refresh schedules
      description: This function is reserved for internal use only and is not part of our public API offerings. Authorization is required to obtain a list of all refresh schedules. If you are authorized, send GET request to the specified URL of the API endpoint with the resource path "/admin/schedule" added at the end of the URL.
      operationId: getScheduleRefresh
      security:
      - ApiKeyAuth: []
      responses:
        200:
          description: The trigger
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/CronTrigger'
                - $ref: '#/components/schemas/IntervalTrigger'
                - $ref: '#/components/schemas/SpecificTrigger'
        404:
          description: Pipe or trigger not found
components:
  schemas:
    SpecificTrigger:
      description: A list of specific trigger times
      type: object
      required:
      - specific
      allOf:
      - $ref: '#/components/schemas/Trigger'
      properties:
        specific:
          description: List of specific date and time triggers
          type: array
          items:
            type: string
            format: date-time
    IntervalTrigger:
      description: Am interval based trigger
      type: object
      required:
      - interval
      allOf:
      - $ref: '#/components/schemas/Trigger'
      properties:
        interval:
          type: object
          required:
          - value
          - unit
          properties:
            value:
              type: integer
              minimum: 1
            unit:
              type: string
              enum:
              - MINUTE
              - HOUR
              - DAY
              - WEEK
              - MONTH
              - YEAR
        next:
          description: The first trigger
          type: string
          format: date-time
    Trigger:
      description: A trigger object.
      type: object
      required:
      - id
      - status
      properties:
        id:
          description: A unique identifier within the scope of the pipe
          type: string
        status:
          description: Indicating the status of the trigger
          type: string
          enum:
          - enabled
          - disabled
        startMode:
          description: Behavior when the pipe is already running. Start anyway, do nothing, cancel and restart, or wait until current run has finished (previously waiting triggers will be dropped).
          type: string
          enum:
          - drop
          - restart
          - append
          - concurrent
          default: drop
        configs:
          description: An object containing configurations to merge into specific segments
          type: object
    CronTrigger:
      description: A cron based trigger definition
      type: object
      required:
      - cron
      allOf:
      - $ref: '#/components/schemas/Trigger'
      properties:
        cron:
          description: The cron syntax
          type: string
        next:
          description: The first trigger
          type: string
          format: date-time
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT