Citeerbaar Status API

Statuscontrole en deze beschrijving.

Operations 3

GET /api/ API-overzicht #
GET /api/health.json Statuscontrole #
GET /api/openapi.json Deze beschrijving #

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/citeerbaar-nl:citeerbaar-nl-status-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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

citeerbaar-nl-status-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Citeerbaar open data en agent-laag Status API
  version: 1.2.0
  description: 'De machineleesbare laag van citeerbaar.nl: JSON-endpoints met feiten, prijzen, antwoorden, beweringen, begrippen, entiteiten en wijzigingen, plus het MCP- en A2A-endpoint. Alle GET-endpoints zijn openbaar, zonder sleutel, met ETag en CORS. Fouten op de GET-endpoints en op onbekende adressen onder /api/ komen als application/problem+json (RFC 9457) met een vaste code en een hint; het MCP- en A2A-endpoint geven een JSON-RPC-foutobject. Wijzigingen staan in /api/changes.json onder tool_changes. Versies en uitfasering: de versie van de agent-laag staat in info.version, in /api/health.json en in serverInfo van de MCP-server. Een brekende wijziging, of het schrappen van een endpoint, veld of tool, kondigen we minimaal 90 dagen vooraf aan: in /api/changes.json onder tool_changes en met de headers Deprecation (RFC 9745) en Sunset (RFC 8594) op de betrokken antwoorden. Uitbreidingen, zoals nieuwe velden of endpoints, zijn niet brekend en komen zonder aankondiging.'
  contact:
    name: Citeerbaar
    url: https://www.citeerbaar.nl/contact/
    email: hello@citeerbaar.nl
  license:
    name: CC BY 4.0
    identifier: CC-BY-4.0
servers:
- url: https://www.citeerbaar.nl/
tags:
- name: Status
  description: Statuscontrole en deze beschrijving.
paths:
  /api/:
    get:
      summary: API-overzicht
      description: Alle endpoints op een rij, met methode, pad, URL en korte omschrijving, plus links naar deze beschrijving, de API-catalogus en de documentatie op /docs/. Geen sleutel nodig.
      tags:
      - Status
      responses:
        '200':
          description: 'OK. Zwakke ETag; met If-None-Match volgt 304. Cache-Control: max-age=300, stale-while-revalidate=600.'
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/Envelope'
                - type: object
                  required:
                  - authentication
                  - docs
                  - openapi
                  - endpoints
                  properties:
                    authentication:
                      type: string
                      enum:
                      - none
                    docs:
                      type: string
                      format: uri
                    openapi:
                      type: string
                      format: uri
                    api_catalog:
                      type: string
                      format: uri
                    endpoints:
                      type: array
                      items:
                        type: object
                        required:
                        - method
                        - path
                        - url
                        properties:
                          method:
                            type: string
                          path:
                            type: string
                          url:
                            type: string
                            format: uri
                          operation_id:
                            type: string
                          summary:
                            type: string
                  additionalProperties: true
        '304':
          description: 'Not Modified: de ETag uit If-None-Match klopt nog, de inhoud is niet veranderd. Geen body.'
        '404':
          $ref: '#/components/responses/NotFound'
        '405':
          $ref: '#/components/responses/MethodNotAllowed'
      operationId: getApiIndex
      parameters:
      - $ref: '#/components/parameters/IfNoneMatch'
  /api/health.json:
    get:
      summary: Statuscontrole
      description: Geeft ok, de versie van de agent-laag en de servertijd. Geen cache, geen limiet. Bedoeld voor uptime-monitors en als eerste aanroep van een agent.
      tags:
      - Status
      responses:
        '200':
          description: 'OK. Cache-Control: no-store, geen ETag: elk antwoord is vers.'
          content:
            application/json:
              schema:
                type: object
                required:
                - ok
                - version
                - time
                properties:
                  ok:
                    type: boolean
                  version:
                    type: string
                  time:
                    type: string
                    format: date-time
                  services:
                    type: object
                    additionalProperties:
                      type: string
                      format: uri
        '404':
          $ref: '#/components/responses/NotFound'
        '405':
          $ref: '#/components/responses/MethodNotAllowed'
      operationId: getHealth
  /api/openapi.json:
    get:
      summary: Deze beschrijving
      description: Dit document.
      tags:
      - Status
      responses:
        '200':
          description: 'OK. Zwakke ETag; met If-None-Match volgt 304. Cache-Control: max-age=300, stale-while-revalidate=600.'
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
        '304':
          description: 'Not Modified: de ETag uit If-None-Match klopt nog, de inhoud is niet veranderd. Geen body.'
        '404':
          $ref: '#/components/responses/NotFound'
        '405':
          $ref: '#/components/responses/MethodNotAllowed'
      operationId: getOpenApiDescription
      parameters:
      - $ref: '#/components/parameters/IfNoneMatch'
components:
  responses:
    MethodNotAllowed:
      description: Alleen GET, HEAD en OPTIONS. Header Allow noemt ze.
      headers:
        Allow:
          schema:
            type: string
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
    NotFound:
      description: Onbekend adres onder /api/, bijvoorbeeld een tikfout in het pad of een endpoint dat niet bestaat. Geldt voor elk pad dat hier niet beschreven staat. Code endpoint_not_found.
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
  parameters:
    IfNoneMatch:
      name: If-None-Match
      in: header
      required: false
      description: De ETag van een eerder antwoord. Is de inhoud niet veranderd, dan volgt 304 zonder body.
      schema:
        type: string
  schemas:
    Envelope:
      type: object
      description: Gedeelde omslag van elk JSON-endpoint.
      required:
      - name
      - url
      - generated_at
      - last_modified
      - content_hash
      properties:
        name:
          type: string
        description:
          type: string
        url:
          type: string
          format: uri
        inLanguage:
          type: string
        publisher:
          type: object
          additionalProperties: true
        license:
          type: string
          format: uri
        usage:
          type: string
        generated_at:
          type: string
          format: date-time
          description: Moment van deze ophaling.
        last_modified:
          type: string
          format: date-time
          description: Schuift alleen op als de inhoud verandert.
        content_hash:
          type: string
        related:
          type: object
          additionalProperties:
            type: string
            format: uri
    Problem:
      type: object
      description: Foutobject volgens RFC 9457 (application/problem+json). type is about:blank, title de HTTP-statustekst; code is de vaste, machineleesbare reden en hint zegt wat je anders moet doen.
      required:
      - type
      - title
      - status
      - detail
      - code
      properties:
        type:
          type: string
          format: uri-reference
          const: about:blank
        title:
          type: string
          examples:
          - Not Found
        status:
          type: integer
          minimum: 400
          maximum: 599
        detail:
          type: string
        instance:
          type: string
          description: Het opgevraagde pad.
        code:
          type: string
          enum:
          - endpoint_not_found
          - method_not_allowed
        hint:
          type: string
          description: Wat je anders kunt doen.
        docs:
          type: string
          format: uri
      additionalProperties: true