components:
  headers:
    API-Version:
      description: Semver of this API
      example: 1.0.0
      schema:
        example: 1.0.0
        externalDocs:
          description: ' /core/version-header: Return the full version number in a
            response header'
          url: https://logius-standaarden.github.io/API-Design-Rules/#/core/version-header
        pattern: ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$
        type: string
    Current-Page:
      description: Current page number
      example: 1
      schema:
        example: 1
        type: integer
    Link:
      description: Links to the previous, next, last or first pages
      example: <https://api.developer.overheid.nl/api-register/v1/apis?page=2>; rel='prev',
        <https://api.developer.overheid.nl/api-register/v1/apis?page=3>; rel='next'
      schema:
        example: <https://api.developer.overheid.nl/api-register/v1/apis?page=2>;
          rel='prev', <https://api.developer.overheid.nl/api-register/v1/apis?page=3>;
          rel='next'
        externalDocs:
          description: W3C reference
          url: https://www.w3.org/wiki/LinkHeader
        type: string
    Per-Page:
      description: Number of items per page
      example: 10
      schema:
        example: 10
        type: integer
    Total-Count:
      description: Total number of items available
      example: 124
      schema:
        example: 124
        type: integer
    Total-Pages:
      description: Total number of pages available
      example: 13
      schema:
        example: 13
        type: integer
  parameters:
    id:
      description: Unique identifier of the resource.
      in: path
      name: id
      required: true
      schema:
        type: string
    organisation:
      description: Filter on organisation URI.
      in: query
      name: organisation
      required: false
      schema:
        format: uri
        type: string
    page:
      description: Page number (1-based).
      in: query
      name: page
      required: false
      schema:
        default: 1
        minimum: 1
        type: integer
    perPage:
      description: Number of results per page.
      in: query
      name: perPage
      required: false
      schema:
        default: 20
        maximum: 100
        minimum: 1
        type: integer
    q:
      description: Search term.
      in: query
      name: q
      required: true
      schema:
        type: string
  responses:
    "400":
      content:
        application/problem+json:
          schema:
            $id: https://example.com/ProblemJson.schema.json
            $schema: https://json-schema.org/draft/2020-12/schema
            description: Problem JSON schema representing errors and status code
            properties:
              errors:
                items:
                  description: List of errors encountered during processing
                  properties:
                    code:
                      description: A code representing the type of error
                      example: date.format
                      type: string
                    detail:
                      description: A detailed message describing the error
                      example: must be ISO 8601
                      type: string
                    in:
                      description: Location of the error (e.g., body, query, header)
                      enum:
                      - body
                      - query
                      type: string
                    location:
                      description: Location in the document where the error occurred
                        (JSON Pointer)
                      example: '#/foo[0]/bar'
                      type: string
                  required:
                  - in
                  - location
                  - code
                  - detail
                  type: object
                type: array
              status:
                description: The HTTP status code generated by the origin server for
                  this occurrence of the problem
                example: 400
                type: integer
              title:
                description: A short, human-readable summary of the problem type
                example: Request validation failed
                type: string
            required:
            - status
            - title
            title: Problem JSON
            type: object
      description: Bad request
      headers:
        API-Version:
          description: Semver of this API
          example: 1.0.0
          schema:
            example: 1.0.0
            externalDocs:
              description: ' /core/version-header: Return the full version number
                in a response header'
              url: https://logius-standaarden.github.io/API-Design-Rules/#/core/version-header
            pattern: ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$
            type: string
    "404":
      content:
        application/problem+json:
          schema:
            $id: https://example.com/ProblemJson.schema.json
            $schema: https://json-schema.org/draft/2020-12/schema
            description: Problem JSON schema representing errors and status code
            properties:
              errors:
                items:
                  description: List of errors encountered during processing
                  properties:
                    code:
                      description: A code representing the type of error
                      example: date.format
                      type: string
                    detail:
                      description: A detailed message describing the error
                      example: must be ISO 8601
                      type: string
                    in:
                      description: Location of the error (e.g., body, query, header)
                      enum:
                      - body
                      - query
                      type: string
                    location:
                      description: Location in the document where the error occurred
                        (JSON Pointer)
                      example: '#/foo[0]/bar'
                      type: string
                  required:
                  - in
                  - location
                  - code
                  - detail
                  type: object
                type: array
              status:
                description: The HTTP status code generated by the origin server for
                  this occurrence of the problem
                example: 400
                type: integer
              title:
                description: A short, human-readable summary of the problem type
                example: Request validation failed
                type: string
            required:
            - status
            - title
            title: Problem JSON
            type: object
      description: Resource does not exist
      headers:
        API-Version:
          description: Semver of this API
          example: 1.0.0
          schema:
            example: 1.0.0
            externalDocs:
              description: ' /core/version-header: Return the full version number
                in a response header'
              url: https://logius-standaarden.github.io/API-Design-Rules/#/core/version-header
            pattern: ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$
            type: string
  schemas:
    GitOrganisation.schema:
      $id: https://example.com/GitOrganisation.schema.json
      $schema: https://json-schema.org/draft/2020-12/schema
      description: A git organisation from the catalog
      properties:
        id:
          format: uuid
          readOnly: true
          type: string
        organisation:
          $id: https://example.com/OrganisationSummary.schema.json
          $schema: https://json-schema.org/draft/2020-12/schema
          description: An organisation from the catalog
          properties:
            label:
              description: The label of the organisation
              examples:
              - developer.overheid.nl
              type: string
            uri:
              $id: https://example.com/OrganisationUri.schema.json
              $schema: https://json-schema.org/draft/2020-12/schema
              description: The unique identifier for an organisation
              examples:
              - https://developer.overheid.nl
              format: uri
              title: Organisation URI
              type: string
          required:
          - uri
          - label
          title: Organisation summary
          type: object
        url:
          $id: https://example.com/GitOrganisationUrl.schema.json
          $schema: https://json-schema.org/draft/2020-12/schema
          description: URL of the git organisation
          examples:
          - https://github.com/developer-overheid-nl
          format: uri
          title: Git organisation URI
          type: string
      required:
      - id
      - organisation
      - url
      title: GitOrganisation
      type: object
    GitOrganisationInput.schema:
      $id: https://example.com/GitOrganisationInput.schema.json
      $schema: https://json-schema.org/draft/2020-12/schema
      description: A git organisation input for creating or updating a git organisation
        in the catalog
      properties:
        organisationUri:
          $id: https://example.com/OrganisationUri.schema.json
          $schema: https://json-schema.org/draft/2020-12/schema
          description: The unique identifier for an organisation
          examples:
          - https://developer.overheid.nl
          format: uri
          title: Organisation URI
          type: string
        url:
          description: URL of the git organisation.
          example: https://github.com/developer-overheid-nl
          format: uri
          type: string
      title: Git Organisation Input
    GitOrganisationUrl.schema:
      $id: https://example.com/GitOrganisationUrl.schema.json
      $schema: https://json-schema.org/draft/2020-12/schema
      description: URL of the git organisation
      examples:
      - https://github.com/developer-overheid-nl
      format: uri
      title: Git organisation URI
      type: string
    Organisation.schema:
      $id: https://example.com/Organisation.schema.json
      $schema: https://json-schema.org/draft/2020-12/schema
      allOf:
      - $id: https://example.com/OrganisationSummary.schema.json
        $schema: https://json-schema.org/draft/2020-12/schema
        description: An organisation from the catalog
        properties:
          label:
            description: The label of the organisation
            examples:
            - developer.overheid.nl
            type: string
          uri:
            $id: https://example.com/OrganisationUri.schema.json
            $schema: https://json-schema.org/draft/2020-12/schema
            description: The unique identifier for an organisation
            examples:
            - https://developer.overheid.nl
            format: uri
            title: Organisation URI
            type: string
        required:
        - uri
        - label
        title: Organisation summary
        type: object
      description: An organisation from the catalog
      title: Organisation
      type: object
    OrganisationSummary.schema:
      $id: https://example.com/OrganisationSummary.schema.json
      $schema: https://json-schema.org/draft/2020-12/schema
      description: An organisation from the catalog
      properties:
        label:
          description: The label of the organisation
          examples:
          - developer.overheid.nl
          type: string
        uri:
          $id: https://example.com/OrganisationUri.schema.json
          $schema: https://json-schema.org/draft/2020-12/schema
          description: The unique identifier for an organisation
          examples:
          - https://developer.overheid.nl
          format: uri
          title: Organisation URI
          type: string
      required:
      - uri
      - label
      title: Organisation summary
      type: object
    OrganisationUri.schema:
      $id: https://example.com/OrganisationUri.schema.json
      $schema: https://json-schema.org/draft/2020-12/schema
      description: The unique identifier for an organisation
      examples:
      - https://developer.overheid.nl
      format: uri
      title: Organisation URI
      type: string
    ProblemJson.schema:
      $id: https://example.com/ProblemJson.schema.json
      $schema: https://json-schema.org/draft/2020-12/schema
      description: Problem JSON schema representing errors and status code
      properties:
        errors:
          items:
            description: List of errors encountered during processing
            properties:
              code:
                description: A code representing the type of error
                example: date.format
                type: string
              detail:
                description: A detailed message describing the error
                example: must be ISO 8601
                type: string
              in:
                description: Location of the error (e.g., body, query, header)
                enum:
                - body
                - query
                type: string
              location:
                description: Location in the document where the error occurred (JSON
                  Pointer)
                example: '#/foo[0]/bar'
                type: string
            required:
            - in
            - location
            - code
            - detail
            type: object
          type: array
        status:
          description: The HTTP status code generated by the origin server for this
            occurrence of the problem
          example: 400
          type: integer
        title:
          description: A short, human-readable summary of the problem type
          example: Request validation failed
          type: string
      required:
      - status
      - title
      title: Problem JSON
      type: object
    Repository.schema:
      $id: https://example.com/Repository.schema.json
      $schema: https://json-schema.org/draft/2020-12/schema
      allOf:
      - $id: https://example.com/Repository.schema.json
        $schema: https://json-schema.org/draft/2020-12/schema
        description: An OSS repository from the catalog
        properties:
          createdAt:
            format: date-time
            readOnly: true
            type: string
          id:
            format: uuid
            readOnly: true
            type: string
          lastActivityAt:
            format: date-time
            readOnly: true
            type: string
          lastCrawledAt:
            format: date-time
            readOnly: true
            type: string
          name:
            description: naam van de repository afkomstig uit de git-hosting. Wordt
              gebruikt als alternatief wanneer geen publiccode.yaml beschikbaar is.
            type: string
          organisation:
            $id: https://example.com/OrganisationSummary.schema.json
            $schema: https://json-schema.org/draft/2020-12/schema
            description: An organisation from the catalog
            properties:
              label:
                description: The label of the organisation
                examples:
                - developer.overheid.nl
                type: string
              uri:
                $id: https://example.com/OrganisationUri.schema.json
                $schema: https://json-schema.org/draft/2020-12/schema
                description: The unique identifier for an organisation
                examples:
                - https://developer.overheid.nl
                format: uri
                title: Organisation URI
                type: string
            required:
            - uri
            - label
            title: Organisation summary
            type: object
          publicCodeUrl:
            description: Url van publiccode.yaml in de repository.
            type: string
          shortDescription:
            description: Beschrijving van de repository afkomstig uit de git-hosting
              (bijvoorbeeld de repository description). Wordt gebruikt als alternatief
              wanneer geen publiccode.yaml beschikbaar is.
            type: string
          url:
            description: URL van de broncode repository.
            examples:
            - https://github.com/developer-overheid-nl/don-site
            format: uri
            type: string
        title: Repository
        type: object
      description: An OSS repository from the catalog
      title: Repository
      type: object
    RepositoryInput.schema:
      $id: https://example.com/Repository.schema.json
      $schema: https://json-schema.org/draft/2020-12/schema
      description: An OSS repository from the catalog
      properties:
        createdAt:
          format: date-time
          readOnly: true
          type: string
        lastActivityAt:
          format: date-time
          type: string
        lastCrawledAt:
          format: date-time
          readOnly: true
          type: string
        name:
          description: naam van de repository afkomstig uit de git-hosting. Wordt
            gebruikt als alternatief wanneer geen publiccode.yaml beschikbaar is.
          type: string
        organisationUri:
          $id: https://example.com/OrganisationSummary.schema.json
          $schema: https://json-schema.org/draft/2020-12/schema
          description: An organisation from the catalog
          properties:
            label:
              description: The label of the organisation
              examples:
              - developer.overheid.nl
              type: string
            uri:
              $id: https://example.com/OrganisationUri.schema.json
              $schema: https://json-schema.org/draft/2020-12/schema
              description: The unique identifier for an organisation
              examples:
              - https://developer.overheid.nl
              format: uri
              title: Organisation URI
              type: string
          required:
          - uri
          - label
          title: Organisation summary
          type: object
        publicCodeUrl:
          description: Url van publiccode.yaml in de repository.
          type: string
        shortDescription:
          description: Beschrijving van de repository afkomstig uit de git-hosting
            (bijvoorbeeld de repository description). Wordt gebruikt als alternatief
            wanneer geen publiccode.yaml beschikbaar is.
          type: string
        url:
          description: URL van de broncode repository.
          examples:
          - https://github.com/developer-overheid-nl/don-site
          format: uri
          type: string
      title: Repository
      type: object
    RepositorySummary.schema:
      $id: https://example.com/Repository.schema.json
      $schema: https://json-schema.org/draft/2020-12/schema
      description: An OSS repository from the catalog
      properties:
        createdAt:
          format: date-time
          readOnly: true
          type: string
        id:
          format: uuid
          readOnly: true
          type: string
        lastActivityAt:
          format: date-time
          readOnly: true
          type: string
        lastCrawledAt:
          format: date-time
          readOnly: true
          type: string
        name:
          description: naam van de repository afkomstig uit de git-hosting. Wordt
            gebruikt als alternatief wanneer geen publiccode.yaml beschikbaar is.
          type: string
        organisation:
          $id: https://example.com/OrganisationSummary.schema.json
          $schema: https://json-schema.org/draft/2020-12/schema
          description: An organisation from the catalog
          properties:
            label:
              description: The label of the organisation
              examples:
              - developer.overheid.nl
              type: string
            uri:
              $id: https://example.com/OrganisationUri.schema.json
              $schema: https://json-schema.org/draft/2020-12/schema
              description: The unique identifier for an organisation
              examples:
              - https://developer.overheid.nl
              format: uri
              title: Organisation URI
              type: string
          required:
          - uri
          - label
          title: Organisation summary
          type: object
        publicCodeUrl:
          description: Url van publiccode.yaml in de repository.
          type: string
        shortDescription:
          description: Beschrijving van de repository afkomstig uit de git-hosting
            (bijvoorbeeld de repository description). Wordt gebruikt als alternatief
            wanneer geen publiccode.yaml beschikbaar is.
          type: string
        url:
          description: URL van de broncode repository.
          examples:
          - https://github.com/developer-overheid-nl/don-site
          format: uri
          type: string
      title: Repository
      type: object
  securitySchemes:
    apiKey:
      in: header
      name: X-Api-Key
      type: apiKey
    clientCredentials:
      flows:
        clientCredentials:
          scopes:
            apis:read: Read access to APIs
            apis:write: Write access to APIIs
            gitOrganisations:read: Read access to git organisations
            gitOrganisations:write: Write access to git organisations
            organisations:read: Read access to organisations
            organisations:write: Write access to organisations
            repositories:read: Read access to repositories
            repositories:write: Write access to repositories
            tools: Access to tools
          tokenUrl: https://auth.developer.overheid.nl/realms/don/protocol/openid-connect/token
      type: oauth2
info:
  contact:
    email: developer.overheid@geonovum.nl
    name: Team developer.overheid.nl
    url: https://github.com/developer-overheid-nl/don-oss-register/issues
  description: |
    API to access the OSS register of developer.overheid.nl.

    ## Auth

    This API distinguishes between public and private endpoints.
    Public endpoints can be accessed with either an API key or a client credentials token.
    Private endpoints can only be accessed with a client credentials token.

    ### API key

    Using an API key, you can access all public endpoints of the API register.
    These requests can also be made from the browser.
    Simply pass the obtained API key with each request using the `X-Api-Key` header.

    ### Client credentials token

    Using a client credentials token, you can access both public and private endpoints of the OSS register.
    To obtain the token, you need to perform a `POST` request to `https://auth.developer.overheid.nl/realms/don/protocol/openid-connect/token` with the following Form URL Encoded body:
    - `grant_type`: `client_credentials`
    - `scope`: depending on the access you need and the client you are, you can request one or more of the following scopes:
      - `repositories:read`
      - `repositories:write`
      - `gitOrganisations:read`
      - `gitOrganisations:write`
      - `organisations:read`
      - `organisations:write`
    - `client_id`: the client id you received from us
    - `client_secret`: the client secret you received from us

    Pass the obtained token with each request using the `Authorization` header. Example:

    `Authorization`: `Bearer {ACCESS_TOKEN}` (replace `{ACCESS_TOKEN}` with the obtained `access_token`)

    ## Pagination

    Pagination of collections is done using the `Link` header.
    There are various libraries available (such as [parse-link-header](https://www.npmjs.com/package/parse-link-header) for Javascript) that can parse this header.
    Additionally, the following headers provide extra support for implementing pagination in the client:
    - `Current-Page`: the current page in the collection
    - `Per-Page`: the number of items per page
    - `Total-Count`: the total number of items
    - `Total-Pages`: the total number of pages
  title: OSS-register API v1
  version: 1.0.0
openapi: 3.1.0
paths:
  /git-organisations:
    get:
      description: Geeft een lijst terug met git organisations die in het register
        zijn opgenomen.
      operationId: listGitOrganisations
      parameters:
      - description: Page number (1-based).
        in: query
        name: page
        required: false
        schema:
          default: 1
          minimum: 1
          type: integer
      - description: Number of results per page.
        in: query
        name: perPage
        required: false
        schema:
          default: 20
          maximum: 100
          minimum: 1
          type: integer
      - description: Filter on organisation URI.
        in: query
        name: organisation
        required: false
        schema:
          format: uri
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $id: https://example.com/GitOrganisation.schema.json
                  $schema: https://json-schema.org/draft/2020-12/schema
                  description: A git organisation from the catalog
                  properties:
                    id:
                      format: uuid
                      readOnly: true
                      type: string
                    organisation:
                      $id: https://example.com/OrganisationSummary.schema.json
                      $schema: https://json-schema.org/draft/2020-12/schema
                      description: An organisation from the catalog
                      properties:
                        label:
                          description: The label of the organisation
                          examples:
                          - developer.overheid.nl
                          type: string
                        uri:
                          $id: https://example.com/OrganisationUri.schema.json
                          $schema: https://json-schema.org/draft/2020-12/schema
                          description: The unique identifier for an organisation
                          examples:
                          - https://developer.overheid.nl
                          format: uri
                          title: Organisation URI
                          type: string
                      required:
                      - uri
                      - label
                      title: Organisation summary
                      type: object
                    url:
                      $id: https://example.com/GitOrganisationUrl.schema.json
                      $schema: https://json-schema.org/draft/2020-12/schema
                      description: URL of the git organisation
                      examples:
                      - https://github.com/developer-overheid-nl
                      format: uri
                      title: Git organisation URI
                      type: string
                  required:
                  - id
                  - organisation
                  - url
                  title: GitOrganisation
                  type: object
                type: array
          description: OK
          headers:
            API-Version:
              description: Semver of this API
              example: 1.0.0
              schema:
                example: 1.0.0
                externalDocs:
                  description: ' /core/version-header: Return the full version number
                    in a response header'
                  url: https://logius-standaarden.github.io/API-Design-Rules/#/core/version-header
                pattern: ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$
                type: string
            Current-Page:
              description: Current page number
              example: 1
              schema:
                example: 1
                type: integer
            Link:
              description: Links to the previous, next, last or first pages
              example: <https://api.developer.overheid.nl/api-register/v1/apis?page=2>;
                rel='prev', <https://api.developer.overheid.nl/api-register/v1/apis?page=3>;
                rel='next'
              schema:
                example: <https://api.developer.overheid.nl/api-register/v1/apis?page=2>;
                  rel='prev', <https://api.developer.overheid.nl/api-register/v1/apis?page=3>;
                  rel='next'
                externalDocs:
                  description: W3C reference
                  url: https://www.w3.org/wiki/LinkHeader
                type: string
            Per-Page:
              description: Number of items per page
              example: 10
              schema:
                example: 10
                type: integer
            Total-Count:
              description: Total number of items available
              example: 124
              schema:
                example: 124
                type: integer
            Total-Pages:
              description: Total number of pages available
              example: 13
              schema:
                example: 13
                type: integer
        "400":
          content:
            application/problem+json:
              schema:
                $id: https://example.com/ProblemJson.schema.json
                $schema: https://json-schema.org/draft/2020-12/schema
                description: Problem JSON schema representing errors and status code
                properties:
                  errors:
                    items:
                      description: List of errors encountered during processing
                      properties:
                        code:
                          description: A code representing the type of error
                          example: date.format
                          type: string
                        detail:
                          description: A detailed message describing the error
                          example: must be ISO 8601
                          type: string
                        in:
                          description: Location of the error (e.g., body, query, header)
                          enum:
                          - body
                          - query
                          type: string
                        location:
                          description: Location in the document where the error occurred
                            (JSON Pointer)
                          example: '#/foo[0]/bar'
                          type: string
                      required:
                      - in
                      - location
                      - code
                      - detail
                      type: object
                    type: array
                  status:
                    description: The HTTP status code generated by the origin server
                      for this occurrence of the problem
                    example: 400
                    type: integer
                  title:
                    description: A short, human-readable summary of the problem type
                    example: Request validation failed
                    type: string
                required:
                - status
                - title
                title: Problem JSON
                type: object
          description: Bad request
          headers:
            API-Version:
              description: Semver of this API
              example: 1.0.0
              schema:
                example: 1.0.0
                externalDocs:
                  description: ' /core/version-header: Return the full version number
                    in a response header'
                  url: https://logius-standaarden.github.io/API-Design-Rules/#/core/version-header
                pattern: ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$
                type: string
      summary: List git organisations
      tags:
      - Public endpoints
      - Git organisations
    post:
      description: Registreer een nieuwe git organisatie in het register.
      operationId: createGitOrganisation
      requestBody:
        content:
          application/json:
            schema:
              $id: https://example.com/GitOrganisationInput.schema.json
              $schema: https://json-schema.org/draft/2020-12/schema
              description: A git organisation input for creating or updating a git
                organisation in the catalog
              properties:
                organisationUri:
                  $id: https://example.com/OrganisationUri.schema.json
                  $schema: https://json-schema.org/draft/2020-12/schema
                  description: The unique identifier for an organisation
                  examples:
                  - https://developer.overheid.nl
                  format: uri
                  title: Organisation URI
                  type: string
                url:
                  description: URL of the git organisation.
                  example: https://github.com/developer-overheid-nl
                  format: uri
                  type: string
              title: Git Organisation Input
        required: true
      responses:
        "201":
          content:
            application/json:
              schema:
                $id: https://example.com/GitOrganisation.schema.json
                $schema: https://json-schema.org/draft/2020-12/schema
                description: A git organisation from the catalog
                properties:
                  id:
                    format: uuid
                    readOnly: true
                    type: string
                  organisation:
                    $id: https://example.com/OrganisationSummary.schema.json
                    $schema: https://json-schema.org/draft/2020-12/schema
                    description: An organisation from the catalog
                    properties:
                      label:
                        description: The label of the organisation
                        examples:
                        - developer.overheid.nl
                        type: string
                      uri:
                        $id: https://example.com/OrganisationUri.schema.json
                        $schema: https://json-schema.org/draft/2020-12/schema
                        description: The unique identifier for an organisation
                        examples:
                        - https://developer.overheid.nl
                        format: uri
                        title: Organisation URI
                        type: string
                    required:
                    - uri
                    - label
                    title: Organisation summary
                    type: object
                  url:
                    $id: https://example.com/GitOrganisationUrl.schema.json
                    $schema: https://json-schema.org/draft/2020-12/schema
                    description: URL of the git organisation
                    examples:
                    - https://github.com/developer-overheid-nl
                    format: uri
                    title: Git organisation URI
                    type: string
                required:
                - id
                - organisation
                - url
                title: GitOrganisation
                type: object
          description: Created
          headers:
            API-Version:
              description: Semver of this API
              example: 1.0.0
              schema:
                example: 1.0.0
                externalDocs:
                  description: ' /core/version-header: Return the full version number
                    in a response header'
                  url: https://logius-standaarden.github.io/API-Design-Rules/#/core/version-header
                pattern: ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$
                type: string
        "400":
          content:
            application/problem+json:
              schema:
                $id: https://example.com/ProblemJson.schema.json
                $schema: https://json-schema.org/draft/2020-12/schema
                description: Problem JSON schema representing errors and status code
                properties:
                  errors:
                    items:
                      description: List of errors encountered during processing
                      properties:
                        code:
                          description: A code representing the type of error
                          example: date.format
                          type: string
                        detail:
                          description: A detailed message describing the error
                          example: must be ISO 8601
                          type: string
                        in:
                          description: Location of the error (e.g., body, query, header)
                          enum:
                          - body
                          - query
                          type: string
                        location:
                          description: Location in the document where the error occurred
                            (JSON Pointer)
                          example: '#/foo[0]/bar'
                          type: string
                      required:
                      - in
                      - location
                      - code
                      - detail
                      type: object
                    type: array
                  status:
                    description: The HTTP status code generated by the origin server
                      for this occurrence of the problem
                    example: 400
                    type: integer
                  title:
                    description: A short, human-readable summary of the problem type
                    example: Request validation failed
                    type: string
                required:
                - status
                - title
                title: Problem JSON
                type: object
          description: Bad request
          headers:
            API-Version:
              description: Semver of this API
              example: 1.0.0
              schema:
                example: 1.0.0
                externalDocs:
                  description: ' /core/version-header: Return the full version number
                    in a response header'
                  url: https://logius-standaarden.github.io/API-Design-Rules/#/core/version-header
                pattern: ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$
                type: string
      security:
      - clientCredentials:
        - gitOrganisations:write
      summary: Create git organisation
      tags:
      - Private endpoints
      - Git organisations
  /organisations:
    get:
      description: Alle organisaties ophalen
      operationId: listOrganisations
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $id: https://example.com/OrganisationSummary.schema.json
                  $schema: https://json-schema.org/draft/2020-12/schema
                  description: An organisation from the catalog
                  properties:
                    label:
                      description: The label of the organisation
                      examples:
                      - developer.overheid.nl
                      type: string
                    uri:
                      $id: https://example.com/OrganisationUri.schema.json
                      $schema: https://json-schema.org/draft/2020-12/schema
                      description: The unique identifier for an organisation
                      examples:
                      - https://developer.overheid.nl
                      format: uri
                      title: Organisation URI
                      type: string
                  required:
                  - uri
                  - label
                  title: Organisation summary
                  type: object
                type: array
          description: OK
          headers:
            API-Version:
              description: Semver of this API
              example: 1.0.0
              schema:
                example: 1.0.0
                externalDocs:
                  description: ' /core/version-header: Return the full version number
                    in a response header'
                  url: https://logius-standaarden.github.io/API-Design-Rules/#/core/version-header
                pattern: ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$
                type: string
      security:
      - apiKey: []
      - clientCredentials:
        - organisations:read
      summary: Alle organisaties ophalen
      tags:
      - Public endpoints
      - Organisations
    post:
      description: Maak een nieuwe organisatie aan.
      operationId: createOrganisation
      requestBody:
        content:
          application/json:
            schema:
              $id: https://example.com/OrganisationSummary.schema.json
              $schema: https://json-schema.org/draft/2020-12/schema
              description: An organisation from the catalog
              properties:
                label:
                  description: The label of the organisation
                  examples:
                  - developer.overheid.nl
                  type: string
                uri:
                  $id: https://example.com/OrganisationUri.schema.json
                  $schema: https://json-schema.org/draft/2020-12/schema
                  description: The unique identifier for an organisation
                  examples:
                  - https://developer.overheid.nl
                  format: uri
                  title: Organisation URI
                  type: string
              required:
              - uri
              - label
              title: Organisation summary
              type: object
      responses:
        "201":
          content:
            application/json:
              schema:
                $id: https://example.com/Organisation.schema.json
                $schema: https://json-schema.org/draft/2020-12/schema
                allOf:
                - $id: https://example.com/OrganisationSummary.schema.json
                  $schema: https://json-schema.org/draft/2020-12/schema
                  description: An organisation from the catalog
                  properties:
                    label:
                      description: The label of the organisation
                      examples:
                      - developer.overheid.nl
                      type: string
                    uri:
                      $id: https://example.com/OrganisationUri.schema.json
                      $schema: https://json-schema.org/draft/2020-12/schema
                      description: The unique identifier for an organisation
                      examples:
                      - https://developer.overheid.nl
                      format: uri
                      title: Organisation URI
                      type: string
                  required:
                  - uri
                  - label
                  title: Organisation summary
                  type: object
                description: An organisation from the catalog
                title: Organisation
                type: object
          description: Created
          headers:
            API-Version:
              description: Semver of this API
              example: 1.0.0
              schema:
                example: 1.0.0
                externalDocs:
                  description: ' /core/version-header: Return the full version number
                    in a response header'
                  url: https://logius-standaarden.github.io/API-Design-Rules/#/core/version-header
                pattern: ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$
                type: string
        "400":
          content:
            application/problem+json:
              schema:
                $id: https://example.com/ProblemJson.schema.json
                $schema: https://json-schema.org/draft/2020-12/schema
                description: Problem JSON schema representing errors and status code
                properties:
                  errors:
                    items:
                      description: List of errors encountered during processing
                      properties:
                        code:
                          description: A code representing the type of error
                          example: date.format
                          type: string
                        detail:
                          description: A detailed message describing the error
                          example: must be ISO 8601
                          type: string
                        in:
                          description: Location of the error (e.g., body, query, header)
                          enum:
                          - body
                          - query
                          type: string
                        location:
                          description: Location in the document where the error occurred
                            (JSON Pointer)
                          example: '#/foo[0]/bar'
                          type: string
                      required:
                      - in
                      - location
                      - code
                      - detail
                      type: object
                    type: array
                  status:
                    description: The HTTP status code generated by the origin server
                      for this occurrence of the problem
                    example: 400
                    type: integer
                  title:
                    description: A short, human-readable summary of the problem type
                    example: Request validation failed
                    type: string
                required:
                - status
                - title
                title: Problem JSON
                type: object
          description: Bad request
          headers:
            API-Version:
              description: Semver of this API
              example: 1.0.0
              schema:
                example: 1.0.0
                externalDocs:
                  description: ' /core/version-header: Return the full version number
                    in a response header'
                  url: https://logius-standaarden.github.io/API-Design-Rules/#/core/version-header
                pattern: ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$
                type: string
      security:
      - clientCredentials:
        - organisations:write
      summary: Organisatie aanmaken
      tags:
      - Private endpoints
      - Organisations
  /repositories:
    get:
      description: Geeft een lijst terug met OSS repositories die in het register
        zijn opgenomen.
      operationId: listRepositories
      parameters:
      - description: Page number (1-based).
        in: query
        name: page
        required: false
        schema:
          default: 1
          minimum: 1
          type: integer
      - description: Number of results per page.
        in: query
        name: perPage
        required: false
        schema:
          default: 20
          maximum: 100
          minimum: 1
          type: integer
      - description: Filter on organisation URI.
        in: query
        name: organisation
        required: false
        schema:
          format: uri
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $id: https://example.com/Repository.schema.json
                  $schema: https://json-schema.org/draft/2020-12/schema
                  description: An OSS repository from the catalog
                  properties:
                    createdAt:
                      format: date-time
                      readOnly: true
                      type: string
                    id:
                      format: uuid
                      readOnly: true
                      type: string
                    lastCrawledAt:
                      format: date-time
                      readOnly: true
                      type: string
                    name:
                      description: naam van de repository afkomstig uit de git-hosting.
                        Wordt gebruikt als alternatief wanneer geen publiccode.yaml
                        beschikbaar is.
                      type: string
                    organisation:
                      $id: https://example.com/OrganisationSummary.schema.json
                      $schema: https://json-schema.org/draft/2020-12/schema
                      description: An organisation from the catalog
                      properties:
                        label:
                          description: The label of the organisation
                          examples:
                          - developer.overheid.nl
                          type: string
                        uri:
                          $id: https://example.com/OrganisationUri.schema.json
                          $schema: https://json-schema.org/draft/2020-12/schema
                          description: The unique identifier for an organisation
                          examples:
                          - https://developer.overheid.nl
                          format: uri
                          title: Organisation URI
                          type: string
                      required:
                      - uri
                      - label
                      title: Organisation summary
                      type: object
                    publicCodeUrl:
                      description: Url van publiccode.yaml in de repository.
                      type: string
                    shortDescription:
                      description: Beschrijving van de repository afkomstig uit de
                        git-hosting (bijvoorbeeld de repository description). Wordt
                        gebruikt als alternatief wanneer geen publiccode.yaml beschikbaar
                        is.
                      type: string
                    url:
                      description: URL van de broncode repository.
                      examples:
                      - https://github.com/developer-overheid-nl/don-site
                      format: uri
                      type: string
                  title: Repository
                  type: object
                type: array
          description: OK
          headers:
            API-Version:
              description: Semver of this API
              example: 1.0.0
              schema:
                example: 1.0.0
                externalDocs:
                  description: ' /core/version-header: Return the full version number
                    in a response header'
                  url: https://logius-standaarden.github.io/API-Design-Rules/#/core/version-header
                pattern: ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$
                type: string
            Current-Page:
              description: Current page number
              example: 1
              schema:
                example: 1
                type: integer
            Link:
              description: Links to the previous, next, last or first pages
              example: <https://api.developer.overheid.nl/api-register/v1/apis?page=2>;
                rel='prev', <https://api.developer.overheid.nl/api-register/v1/apis?page=3>;
                rel='next'
              schema:
                example: <https://api.developer.overheid.nl/api-register/v1/apis?page=2>;
                  rel='prev', <https://api.developer.overheid.nl/api-register/v1/apis?page=3>;
                  rel='next'
                externalDocs:
                  description: W3C reference
                  url: https://www.w3.org/wiki/LinkHeader
                type: string
            Per-Page:
              description: Number of items per page
              example: 10
              schema:
                example: 10
                type: integer
            Total-Count:
              description: Total number of items available
              example: 124
              schema:
                example: 124
                type: integer
            Total-Pages:
              description: Total number of pages available
              example: 13
              schema:
                example: 13
                type: integer
        "400":
          content:
            application/problem+json:
              schema:
                $id: https://example.com/ProblemJson.schema.json
                $schema: https://json-schema.org/draft/2020-12/schema
                description: Problem JSON schema representing errors and status code
                properties:
                  errors:
                    items:
                      description: List of errors encountered during processing
                      properties:
                        code:
                          description: A code representing the type of error
                          example: date.format
                          type: string
                        detail:
                          description: A detailed message describing the error
                          example: must be ISO 8601
                          type: string
                        in:
                          description: Location of the error (e.g., body, query, header)
                          enum:
                          - body
                          - query
                          type: string
                        location:
                          description: Location in the document where the error occurred
                            (JSON Pointer)
                          example: '#/foo[0]/bar'
                          type: string
                      required:
                      - in
                      - location
                      - code
                      - detail
                      type: object
                    type: array
                  status:
                    description: The HTTP status code generated by the origin server
                      for this occurrence of the problem
                    example: 400
                    type: integer
                  title:
                    description: A short, human-readable summary of the problem type
                    example: Request validation failed
                    type: string
                required:
                - status
                - title
                title: Problem JSON
                type: object
          description: Bad request
          headers:
            API-Version:
              description: Semver of this API
              example: 1.0.0
              schema:
                example: 1.0.0
                externalDocs:
                  description: ' /core/version-header: Return the full version number
                    in a response header'
                  url: https://logius-standaarden.github.io/API-Design-Rules/#/core/version-header
                pattern: ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$
                type: string
      summary: List repositories
      tags:
      - Public endpoints
      - Repositories
    post:
      description: Registreer een nieuwe OSS repository in het register.
      operationId: createRepository
      requestBody:
        content:
          application/json:
            schema:
              $id: https://example.com/Repository.schema.json
              $schema: https://json-schema.org/draft/2020-12/schema
              description: An OSS repository from the catalog
              properties:
                createdAt:
                  format: date-time
                  readOnly: true
                  type: string
                lastCrawledAt:
                  format: date-time
                  readOnly: true
                  type: string
                name:
                  description: naam van de repository afkomstig uit de git-hosting.
                    Wordt gebruikt als alternatief wanneer geen publiccode.yaml beschikbaar
                    is.
                  type: string
                organisationUri:
                  $id: https://example.com/OrganisationSummary.schema.json
                  $schema: https://json-schema.org/draft/2020-12/schema
                  description: An organisation from the catalog
                  properties:
                    label:
                      description: The label of the organisation
                      examples:
                      - developer.overheid.nl
                      type: string
                    uri:
                      $id: https://example.com/OrganisationUri.schema.json
                      $schema: https://json-schema.org/draft/2020-12/schema
                      description: The unique identifier for an organisation
                      examples:
                      - https://developer.overheid.nl
                      format: uri
                      title: Organisation URI
                      type: string
                  required:
                  - uri
                  - label
                  title: Organisation summary
                  type: object
                publicCodeUrl:
                  description: Url van publiccode.yaml in de repository.
                  type: string
                shortDescription:
                  description: Beschrijving van de repository afkomstig uit de git-hosting
                    (bijvoorbeeld de repository description). Wordt gebruikt als alternatief
                    wanneer geen publiccode.yaml beschikbaar is.
                  type: string
                url:
                  description: URL van de broncode repository.
                  examples:
                  - https://github.com/developer-overheid-nl/don-site
                  format: uri
                  type: string
              title: Repository
              type: object
        required: true
      responses:
        "201":
          content:
            application/json:
              schema:
                $id: https://example.com/Repository.schema.json
                $schema: https://json-schema.org/draft/2020-12/schema
                allOf:
                - $id: https://example.com/Repository.schema.json
                  $schema: https://json-schema.org/draft/2020-12/schema
                  description: An OSS repository from the catalog
                  properties:
                    createdAt:
                      format: date-time
                      readOnly: true
                      type: string
                    id:
                      format: uuid
                      readOnly: true
                      type: string
                    lastCrawledAt:
                      format: date-time
                      readOnly: true
                      type: string
                    name:
                      description: naam van de repository afkomstig uit de git-hosting.
                        Wordt gebruikt als alternatief wanneer geen publiccode.yaml
                        beschikbaar is.
                      type: string
                    organisation:
                      $id: https://example.com/OrganisationSummary.schema.json
                      $schema: https://json-schema.org/draft/2020-12/schema
                      description: An organisation from the catalog
                      properties:
                        label:
                          description: The label of the organisation
                          examples:
                          - developer.overheid.nl
                          type: string
                        uri:
                          $id: https://example.com/OrganisationUri.schema.json
                          $schema: https://json-schema.org/draft/2020-12/schema
                          description: The unique identifier for an organisation
                          examples:
                          - https://developer.overheid.nl
                          format: uri
                          title: Organisation URI
                          type: string
                      required:
                      - uri
                      - label
                      title: Organisation summary
                      type: object
                    publicCodeUrl:
                      description: Url van publiccode.yaml in de repository.
                      type: string
                    shortDescription:
                      description: Beschrijving van de repository afkomstig uit de
                        git-hosting (bijvoorbeeld de repository description). Wordt
                        gebruikt als alternatief wanneer geen publiccode.yaml beschikbaar
                        is.
                      type: string
                    url:
                      description: URL van de broncode repository.
                      examples:
                      - https://github.com/developer-overheid-nl/don-site
                      format: uri
                      type: string
                  title: Repository
                  type: object
                description: An OSS repository from the catalog
                title: Repository
                type: object
          description: Created
          headers:
            API-Version:
              description: Semver of this API
              example: 1.0.0
              schema:
                example: 1.0.0
                externalDocs:
                  description: ' /core/version-header: Return the full version number
                    in a response header'
                  url: https://logius-standaarden.github.io/API-Design-Rules/#/core/version-header
                pattern: ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$
                type: string
        "400":
          content:
            application/problem+json:
              schema:
                $id: https://example.com/ProblemJson.schema.json
                $schema: https://json-schema.org/draft/2020-12/schema
                description: Problem JSON schema representing errors and status code
                properties:
                  errors:
                    items:
                      description: List of errors encountered during processing
                      properties:
                        code:
                          description: A code representing the type of error
                          example: date.format
                          type: string
                        detail:
                          description: A detailed message describing the error
                          example: must be ISO 8601
                          type: string
                        in:
                          description: Location of the error (e.g., body, query, header)
                          enum:
                          - body
                          - query
                          type: string
                        location:
                          description: Location in the document where the error occurred
                            (JSON Pointer)
                          example: '#/foo[0]/bar'
                          type: string
                      required:
                      - in
                      - location
                      - code
                      - detail
                      type: object
                    type: array
                  status:
                    description: The HTTP status code generated by the origin server
                      for this occurrence of the problem
                    example: 400
                    type: integer
                  title:
                    description: A short, human-readable summary of the problem type
                    example: Request validation failed
                    type: string
                required:
                - status
                - title
                title: Problem JSON
                type: object
          description: Bad request
          headers:
            API-Version:
              description: Semver of this API
              example: 1.0.0
              schema:
                example: 1.0.0
                externalDocs:
                  description: ' /core/version-header: Return the full version number
                    in a response header'
                  url: https://logius-standaarden.github.io/API-Design-Rules/#/core/version-header
                pattern: ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$
                type: string
      security:
      - clientCredentials:
        - repositories:write
      summary: Create repository
      tags:
      - Private endpoints
      - Repositories
  /repositories/_search:
    get:
      description: Geeft een lijst terug met OSS repositories die in het register
        zijn opgenomen.
      operationId: searchRepositories
      parameters:
      - description: Page number (1-based).
        in: query
        name: page
        required: false
        schema:
          default: 1
          minimum: 1
          type: integer
      - description: Number of results per page.
        in: query
        name: perPage
        required: false
        schema:
          default: 20
          maximum: 100
          minimum: 1
          type: integer
      - description: Filter on organisation URI.
        in: query
        name: organisation
        required: false
        schema:
          format: uri
          type: string
      - description: Search term.
        in: query
        name: q
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $id: https://example.com/Repository.schema.json
                  $schema: https://json-schema.org/draft/2020-12/schema
                  description: An OSS repository from the catalog
                  properties:
                    createdAt:
                      format: date-time
                      readOnly: true
                      type: string
                    id:
                      format: uuid
                      readOnly: true
                      type: string
                    lastCrawledAt:
                      format: date-time
                      readOnly: true
                      type: string
                    name:
                      description: naam van de repository afkomstig uit de git-hosting.
                        Wordt gebruikt als alternatief wanneer geen publiccode.yaml
                        beschikbaar is.
                      type: string
                    organisation:
                      $id: https://example.com/OrganisationSummary.schema.json
                      $schema: https://json-schema.org/draft/2020-12/schema
                      description: An organisation from the catalog
                      properties:
                        label:
                          description: The label of the organisation
                          examples:
                          - developer.overheid.nl
                          type: string
                        uri:
                          $id: https://example.com/OrganisationUri.schema.json
                          $schema: https://json-schema.org/draft/2020-12/schema
                          description: The unique identifier for an organisation
                          examples:
                          - https://developer.overheid.nl
                          format: uri
                          title: Organisation URI
                          type: string
                      required:
                      - uri
                      - label
                      title: Organisation summary
                      type: object
                    publicCodeUrl:
                      description: Url van publiccode.yaml in de repository.
                      type: string
                    shortDescription:
                      description: Beschrijving van de repository afkomstig uit de
                        git-hosting (bijvoorbeeld de repository description). Wordt
                        gebruikt als alternatief wanneer geen publiccode.yaml beschikbaar
                        is.
                      type: string
                    url:
                      description: URL van de broncode repository.
                      examples:
                      - https://github.com/developer-overheid-nl/don-site
                      format: uri
                      type: string
                  title: Repository
                  type: object
                type: array
          description: OK
          headers:
            API-Version:
              description: Semver of this API
              example: 1.0.0
              schema:
                example: 1.0.0
                externalDocs:
                  description: ' /core/version-header: Return the full version number
                    in a response header'
                  url: https://logius-standaarden.github.io/API-Design-Rules/#/core/version-header
                pattern: ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$
                type: string
            Current-Page:
              description: Current page number
              example: 1
              schema:
                example: 1
                type: integer
            Link:
              description: Links to the previous, next, last or first pages
              example: <https://api.developer.overheid.nl/api-register/v1/apis?page=2>;
                rel='prev', <https://api.developer.overheid.nl/api-register/v1/apis?page=3>;
                rel='next'
              schema:
                example: <https://api.developer.overheid.nl/api-register/v1/apis?page=2>;
                  rel='prev', <https://api.developer.overheid.nl/api-register/v1/apis?page=3>;
                  rel='next'
                externalDocs:
                  description: W3C reference
                  url: https://www.w3.org/wiki/LinkHeader
                type: string
            Per-Page:
              description: Number of items per page
              example: 10
              schema:
                example: 10
                type: integer
            Total-Count:
              description: Total number of items available
              example: 124
              schema:
                example: 124
                type: integer
            Total-Pages:
              description: Total number of pages available
              example: 13
              schema:
                example: 13
                type: integer
        "400":
          content:
            application/problem+json:
              schema:
                $id: https://example.com/ProblemJson.schema.json
                $schema: https://json-schema.org/draft/2020-12/schema
                description: Problem JSON schema representing errors and status code
                properties:
                  errors:
                    items:
                      description: List of errors encountered during processing
                      properties:
                        code:
                          description: A code representing the type of error
                          example: date.format
                          type: string
                        detail:
                          description: A detailed message describing the error
                          example: must be ISO 8601
                          type: string
                        in:
                          description: Location of the error (e.g., body, query, header)
                          enum:
                          - body
                          - query
                          type: string
                        location:
                          description: Location in the document where the error occurred
                            (JSON Pointer)
                          example: '#/foo[0]/bar'
                          type: string
                      required:
                      - in
                      - location
                      - code
                      - detail
                      type: object
                    type: array
                  status:
                    description: The HTTP status code generated by the origin server
                      for this occurrence of the problem
                    example: 400
                    type: integer
                  title:
                    description: A short, human-readable summary of the problem type
                    example: Request validation failed
                    type: string
                required:
                - status
                - title
                title: Problem JSON
                type: object
          description: Bad request
          headers:
            API-Version:
              description: Semver of this API
              example: 1.0.0
              schema:
                example: 1.0.0
                externalDocs:
                  description: ' /core/version-header: Return the full version number
                    in a response header'
                  url: https://logius-standaarden.github.io/API-Design-Rules/#/core/version-header
                pattern: ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$
                type: string
      summary: Search repositories
      tags:
      - Public endpoints
      - Repositories
  /repositories/{id}:
    get:
      description: Geeft één OSS repository terug op basis van het id.
      operationId: getRepositoryById
      responses:
        "200":
          content:
            application/json:
              schema:
                $id: https://example.com/Repository.schema.json
                $schema: https://json-schema.org/draft/2020-12/schema
                allOf:
                - $id: https://example.com/Repository.schema.json
                  $schema: https://json-schema.org/draft/2020-12/schema
                  description: An OSS repository from the catalog
                  properties:
                    createdAt:
                      format: date-time
                      readOnly: true
                      type: string
                    id:
                      format: uuid
                      readOnly: true
                      type: string
                    lastCrawledAt:
                      format: date-time
                      readOnly: true
                      type: string
                    name:
                      description: naam van de repository afkomstig uit de git-hosting.
                        Wordt gebruikt als alternatief wanneer geen publiccode.yaml
                        beschikbaar is.
                      type: string
                    organisation:
                      $id: https://example.com/OrganisationSummary.schema.json
                      $schema: https://json-schema.org/draft/2020-12/schema
                      description: An organisation from the catalog
                      properties:
                        label:
                          description: The label of the organisation
                          examples:
                          - developer.overheid.nl
                          type: string
                        uri:
                          $id: https://example.com/OrganisationUri.schema.json
                          $schema: https://json-schema.org/draft/2020-12/schema
                          description: The unique identifier for an organisation
                          examples:
                          - https://developer.overheid.nl
                          format: uri
                          title: Organisation URI
                          type: string
                      required:
                      - uri
                      - label
                      title: Organisation summary
                      type: object
                    publicCodeUrl:
                      description: Url van publiccode.yaml in de repository.
                      type: string
                    shortDescription:
                      description: Beschrijving van de repository afkomstig uit de
                        git-hosting (bijvoorbeeld de repository description). Wordt
                        gebruikt als alternatief wanneer geen publiccode.yaml beschikbaar
                        is.
                      type: string
                    url:
                      description: URL van de broncode repository.
                      examples:
                      - https://github.com/developer-overheid-nl/don-site
                      format: uri
                      type: string
                  title: Repository
                  type: object
                description: An OSS repository from the catalog
                title: Repository
                type: object
          description: OK
          headers:
            API-Version:
              description: Semver of this API
              example: 1.0.0
              schema:
                example: 1.0.0
                externalDocs:
                  description: ' /core/version-header: Return the full version number
                    in a response header'
                  url: https://logius-standaarden.github.io/API-Design-Rules/#/core/version-header
                pattern: ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$
                type: string
        "404":
          content:
            application/problem+json:
              schema:
                $id: https://example.com/ProblemJson.schema.json
                $schema: https://json-schema.org/draft/2020-12/schema
                description: Problem JSON schema representing errors and status code
                properties:
                  errors:
                    items:
                      description: List of errors encountered during processing
                      properties:
                        code:
                          description: A code representing the type of error
                          example: date.format
                          type: string
                        detail:
                          description: A detailed message describing the error
                          example: must be ISO 8601
                          type: string
                        in:
                          description: Location of the error (e.g., body, query, header)
                          enum:
                          - body
                          - query
                          type: string
                        location:
                          description: Location in the document where the error occurred
                            (JSON Pointer)
                          example: '#/foo[0]/bar'
                          type: string
                      required:
                      - in
                      - location
                      - code
                      - detail
                      type: object
                    type: array
                  status:
                    description: The HTTP status code generated by the origin server
                      for this occurrence of the problem
                    example: 400
                    type: integer
                  title:
                    description: A short, human-readable summary of the problem type
                    example: Request validation failed
                    type: string
                required:
                - status
                - title
                title: Problem JSON
                type: object
          description: Resource does not exist
          headers:
            API-Version:
              description: Semver of this API
              example: 1.0.0
              schema:
                example: 1.0.0
                externalDocs:
                  description: ' /core/version-header: Return the full version number
                    in a response header'
                  url: https://logius-standaarden.github.io/API-Design-Rules/#/core/version-header
                pattern: ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$
                type: string
      security:
      - apiKey: []
      - clientCredentials:
        - repositories:read
      summary: Get repository by id
      tags:
      - Public endpoints
      - Repositories
    parameters:
    - description: Unique identifier of the resource.
      in: path
      name: id
      required: true
      schema:
        type: string
    put:
      description: Specifieke repository updaten
      operationId: updateRepository
      requestBody:
        content:
          application/json:
            schema:
              $id: https://example.com/Repository.schema.json
              $schema: https://json-schema.org/draft/2020-12/schema
              description: An OSS repository from the catalog
              properties:
                createdAt:
                  format: date-time
                  readOnly: true
                  type: string
                lastCrawledAt:
                  format: date-time
                  readOnly: true
                  type: string
                name:
                  description: naam van de repository afkomstig uit de git-hosting.
                    Wordt gebruikt als alternatief wanneer geen publiccode.yaml beschikbaar
                    is.
                  type: string
                organisationUri:
                  $id: https://example.com/OrganisationSummary.schema.json
                  $schema: https://json-schema.org/draft/2020-12/schema
                  description: An organisation from the catalog
                  properties:
                    label:
                      description: The label of the organisation
                      examples:
                      - developer.overheid.nl
                      type: string
                    uri:
                      $id: https://example.com/OrganisationUri.schema.json
                      $schema: https://json-schema.org/draft/2020-12/schema
                      description: The unique identifier for an organisation
                      examples:
                      - https://developer.overheid.nl
                      format: uri
                      title: Organisation URI
                      type: string
                  required:
                  - uri
                  - label
                  title: Organisation summary
                  type: object
                publicCodeUrl:
                  description: Url van publiccode.yaml in de repository.
                  type: string
                shortDescription:
                  description: Beschrijving van de repository afkomstig uit de git-hosting
                    (bijvoorbeeld de repository description). Wordt gebruikt als alternatief
                    wanneer geen publiccode.yaml beschikbaar is.
                  type: string
                url:
                  description: URL van de broncode repository.
                  examples:
                  - https://github.com/developer-overheid-nl/don-site
                  format: uri
                  type: string
              title: Repository
              type: object
      responses:
        "200":
          content:
            application/json:
              schema:
                $id: https://example.com/Repository.schema.json
                $schema: https://json-schema.org/draft/2020-12/schema
                allOf:
                - $id: https://example.com/Repository.schema.json
                  $schema: https://json-schema.org/draft/2020-12/schema
                  description: An OSS repository from the catalog
                  properties:
                    createdAt:
                      format: date-time
                      readOnly: true
                      type: string
                    id:
                      format: uuid
                      readOnly: true
                      type: string
                    lastCrawledAt:
                      format: date-time
                      readOnly: true
                      type: string
                    name:
                      description: naam van de repository afkomstig uit de git-hosting.
                        Wordt gebruikt als alternatief wanneer geen publiccode.yaml
                        beschikbaar is.
                      type: string
                    organisation:
                      $id: https://example.com/OrganisationSummary.schema.json
                      $schema: https://json-schema.org/draft/2020-12/schema
                      description: An organisation from the catalog
                      properties:
                        label:
                          description: The label of the organisation
                          examples:
                          - developer.overheid.nl
                          type: string
                        uri:
                          $id: https://example.com/OrganisationUri.schema.json
                          $schema: https://json-schema.org/draft/2020-12/schema
                          description: The unique identifier for an organisation
                          examples:
                          - https://developer.overheid.nl
                          format: uri
                          title: Organisation URI
                          type: string
                      required:
                      - uri
                      - label
                      title: Organisation summary
                      type: object
                    publicCodeUrl:
                      description: Url van publiccode.yaml in de repository.
                      type: string
                    shortDescription:
                      description: Beschrijving van de repository afkomstig uit de
                        git-hosting (bijvoorbeeld de repository description). Wordt
                        gebruikt als alternatief wanneer geen publiccode.yaml beschikbaar
                        is.
                      type: string
                    url:
                      description: URL van de broncode repository.
                      examples:
                      - https://github.com/developer-overheid-nl/don-site
                      format: uri
                      type: string
                  title: Repository
                  type: object
                description: An OSS repository from the catalog
                title: Repository
                type: object
          description: OK
          headers:
            API-Version:
              description: Semver of this API
              example: 1.0.0
              schema:
                example: 1.0.0
                externalDocs:
                  description: ' /core/version-header: Return the full version number
                    in a response header'
                  url: https://logius-standaarden.github.io/API-Design-Rules/#/core/version-header
                pattern: ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$
                type: string
        "400":
          content:
            application/problem+json:
              schema:
                $id: https://example.com/ProblemJson.schema.json
                $schema: https://json-schema.org/draft/2020-12/schema
                description: Problem JSON schema representing errors and status code
                properties:
                  errors:
                    items:
                      description: List of errors encountered during processing
                      properties:
                        code:
                          description: A code representing the type of error
                          example: date.format
                          type: string
                        detail:
                          description: A detailed message describing the error
                          example: must be ISO 8601
                          type: string
                        in:
                          description: Location of the error (e.g., body, query, header)
                          enum:
                          - body
                          - query
                          type: string
                        location:
                          description: Location in the document where the error occurred
                            (JSON Pointer)
                          example: '#/foo[0]/bar'
                          type: string
                      required:
                      - in
                      - location
                      - code
                      - detail
                      type: object
                    type: array
                  status:
                    description: The HTTP status code generated by the origin server
                      for this occurrence of the problem
                    example: 400
                    type: integer
                  title:
                    description: A short, human-readable summary of the problem type
                    example: Request validation failed
                    type: string
                required:
                - status
                - title
                title: Problem JSON
                type: object
          description: Bad request
          headers:
            API-Version:
              description: Semver of this API
              example: 1.0.0
              schema:
                example: 1.0.0
                externalDocs:
                  description: ' /core/version-header: Return the full version number
                    in a response header'
                  url: https://logius-standaarden.github.io/API-Design-Rules/#/core/version-header
                pattern: ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$
                type: string
        "404":
          content:
            application/problem+json:
              schema:
                $id: https://example.com/ProblemJson.schema.json
                $schema: https://json-schema.org/draft/2020-12/schema
                description: Problem JSON schema representing errors and status code
                properties:
                  errors:
                    items:
                      description: List of errors encountered during processing
                      properties:
                        code:
                          description: A code representing the type of error
                          example: date.format
                          type: string
                        detail:
                          description: A detailed message describing the error
                          example: must be ISO 8601
                          type: string
                        in:
                          description: Location of the error (e.g., body, query, header)
                          enum:
                          - body
                          - query
                          type: string
                        location:
                          description: Location in the document where the error occurred
                            (JSON Pointer)
                          example: '#/foo[0]/bar'
                          type: string
                      required:
                      - in
                      - location
                      - code
                      - detail
                      type: object
                    type: array
                  status:
                    description: The HTTP status code generated by the origin server
                      for this occurrence of the problem
                    example: 400
                    type: integer
                  title:
                    description: A short, human-readable summary of the problem type
                    example: Request validation failed
                    type: string
                required:
                - status
                - title
                title: Problem JSON
                type: object
          description: Resource does not exist
          headers:
            API-Version:
              description: Semver of this API
              example: 1.0.0
              schema:
                example: 1.0.0
                externalDocs:
                  description: ' /core/version-header: Return the full version number
                    in a response header'
                  url: https://logius-standaarden.github.io/API-Design-Rules/#/core/version-header
                pattern: ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$
                type: string
      security:
      - clientCredentials:
        - repositories:write
      summary: Specifieke repository updaten
      tags:
      - Private endpoints
      - Repositories
security:
- clientCredentials: []
servers:
- description: Production
  url: https://api.developer.overheid.nl/oss-register/v1
- description: Test
  url: https://api.don.apps.digilab.network/oss-register/v1
tags:
- description: Endpoints for listing and managing repositories.
  name: Repositories
- description: Endpoints for listing and managing organisations.
  name: Organisations
- description: Endpoints for listing and managing git organisations.
  name: Git organisations
- description: Public endpoints, accessible with an API key or client credentials
    token.
  name: Public endpoints
- description: Private endpoints of the API register, accessible with a client credentials
    token.
  name: Private endpoints
