openapi: 3.0.3
info:
  title: 'EU Pollinator Hub API'
  description: "The EU Pollinator Hub is an integrative tool to centralise, analyse and visualise bee and pollinator-related data based on principles of collaboration and conservation.<br>\nBees and other insect pollinators are becoming increasingly relevant in the public debate. European authorities now recognise the environmental risks pollinators face and the need for institutional action. Given their importance for ecosystems and their role in our food security, the commitment to protect pollinators has been growing, and data is essential to fulfilling this commitment.<br>\nDifferent agents and stakeholders are continually collecting data related to the status of pollinators, such as researchers, environmental, health or agricultural authorities, national beekeeping or farming associations. The EU Pollinator Hub has been conceived to valorise their efforts and improve collaborations based on data-sharing. At the same time, the EU Pollinator Hub is constantly developing to provide access to valuable data from different consenting sources. In a collaborative spirit, the EU Pollinator Hub centralises and presents this data, also working as a communicative tool for the benefit of bees and pollinators in general.<br>\nThe EU Pollinator Hub is coordinated by BeeLife European Beekeeping Coordination, an NGO focused on the protection of pollinators and biodiversity in Europe. BeeLife has initialised the first stages of this integrative platform within the Internet of Bees (IoBee) project.<br>\nThe EU Pollinator Hub is also an attempt to materialise the conclusions of the EU Bee Partnership regarding the need for further bee-data integration. The partnership is a stakeholder platform dynamised by the European Food Safety Authority that includes representatives from the beekeeping and farming sectors, NGOs, veterinarians, academia, industry, producers, and scientists.<br>\nThis new tool also includes developments from the Apimondia working group on the standardisation of data on bees - Bee XML. Bee XML is the ongoing measure to reach a new model for sharing bee data, and the EU Pollinator Hub aims at implementing these standards."
  version: 1.0.0
servers:
  -
    url: 'https://app.pollinatorhub.eu'
paths:
  /api/v1/entities:
    get:
      summary: 'Show Entities'
      operationId: showEntities
      description: 'Display a listing of Entities, the User has access to.'
      parameters: []
      responses:
        200:
          description: ''
          content:
            text/plain:
              schema:
                type: string
                example: "{\n \"data\": [\n     {\n         \"name\": \"EU Pollinator Hub\",\n         \"uid\": \"euph\",\n         \"contact\": [\n             {\n                 \"type\": \"url\",\n                 \"value\": \"https://pollinatorhub.eu\"\n             },\n             {\n                 \"type\": \"email\",\n                 \"value\": \"hello@pollinatorhub.eu\"\n             }\n         ],\n         \"abbreviation\": \"EUPH\",\n         \"registry_number\": \"N/A\",\n         \"description\": \"The EU Pollinator Hub is a data hub related to pollinators, which is provided by the European Food Safety Authority (EFSA).\",\n         \"address\": \"N/A\",\n         \"country\": {\n             \"iso-3166-country-name\": \"the Kingdom of Belgium\",\n             \"iso-3166-numeric-country-code\": \"56\",\n             \"iso-3166-country-name-short-lc\": \"Belgium\",\n             \"iso-3166-alpha-2-country\": \"BE\",\n             \"iso-3166-alpha-3-country\": \"BEL\"\n         },\n         \"user_id\": 1,\n         \"created_at\": \"2023-07-04T11:24:58.000000Z\",\n         \"updated_at\": \"2023-07-04T11:25:00.000000Z\"\n     },\n}"
        400:
          description: 'Bad Request'
          content:
            text/plain:
              schema:
                type: string
                example: ''
        401:
          description: Unauthorized
          content:
            text/plain:
              schema:
                type: string
                example: ''
        403:
          description: Forbidden
          content:
            text/plain:
              schema:
                type: string
                example: ''
        500:
          description: 'Internal server error'
          content:
            text/plain:
              schema:
                type: string
                example: ''
      tags:
        - Entities
    post:
      summary: 'Create Entity'
      operationId: createEntity
      description: 'Store an Entity in storage.'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example: {  }
                properties: {  }
      tags:
        - Entities
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'A descriptive name of the entity. Must not be greater than 250 characters. Must be at least 8 characters.'
                  example: 'European Food Safety Authority'
                abbreviation:
                  type: string
                  description: 'Abbreviation or short name of the entity. Must not be greater than 50 characters. Must be at least 3 characters.'
                  example: EFSA
                address:
                  type: string
                  description: 'Full address of the entity. It is not required for private persons. This field is required unless <code>registry_number</code> is in <code>null</code>. Must not be greater than 15000000 characters. Must be at least 10 characters.'
                  example: null
                registry_number:
                  type: string
                  description: 'A public unique identifier used to identify a legal entity. Can be empty for private persons. Must not be greater than 20 characters. Must be at least 5 characters.'
                  example: null
                description:
                  type: string
                  description: 'A longer description about the entity. Accepts Markdown for styling. Must not be greater than 16777215 characters. Must be at least 10 characters.'
                  example: No-example
                user_id:
                  type: integer
                  description: ''
                  example: 8
                country_id:
                  type: string
                  description: 'A two-letter code that represents a country name, recommended as general purpose code. Must be 2 characters.'
                  example: IT
                  enum:
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                contact:
                  type: object
                  description: 'A list of contact points for the entity.'
                  example: null
                  properties: {  }
                type:
                  type: string
                  description: ''
                  example: legal-entity
                  enum:
                    - person
                    - legal-entity
              required:
                - name
                - abbreviation
                - description
                - user_id
                - country_id
                - type
  '/api/v1/entities/{id}':
    get:
      summary: 'Show Entity'
      operationId: showEntity
      description: 'Display the specified Entity.'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  name: 'EU Pollinator Hub'
                  uid: euph
                  contact:
                    -
                      type: url
                      value: 'https://pollinatorhub.eu'
                    -
                      type: email
                      value: hello@pollinatorhub.eu
                  abbreviation: EUPH
                  registry_number: N/A
                  description: 'The EU Pollinator Hub is a data hub related to pollinators, which is provided by the European Food Safety Authority (EFSA).'
                  address: N/A
                  country:
                    iso-3166-country-name: 'the Kingdom of Belgium'
                    iso-3166-numeric-country-code: '56'
                    iso-3166-country-name-short-lc: Belgium
                    iso-3166-alpha-2-country: BE
                    iso-3166-alpha-3-country: BEL
                  user_id: 1
                  created_at: '2023-07-04T11:24:58.000000Z'
                  updated_at: '2023-07-04T11:25:00.000000Z'
                properties:
                  name:
                    type: string
                    example: 'EU Pollinator Hub'
                  uid:
                    type: string
                    example: euph
                  contact:
                    type: array
                    example:
                      -
                        type: url
                        value: 'https://pollinatorhub.eu'
                      -
                        type: email
                        value: hello@pollinatorhub.eu
                    items:
                      type: object
                      properties:
                        type:
                          type: string
                          example: url
                        value:
                          type: string
                          example: 'https://pollinatorhub.eu'
                  abbreviation:
                    type: string
                    example: EUPH
                  registry_number:
                    type: string
                    example: N/A
                  description:
                    type: string
                    example: 'The EU Pollinator Hub is a data hub related to pollinators, which is provided by the European Food Safety Authority (EFSA).'
                  address:
                    type: string
                    example: N/A
                  country:
                    type: object
                    properties:
                      iso-3166-country-name:
                        type: string
                        example: 'the Kingdom of Belgium'
                      iso-3166-numeric-country-code:
                        type: string
                        example: '56'
                      iso-3166-country-name-short-lc:
                        type: string
                        example: Belgium
                      iso-3166-alpha-2-country:
                        type: string
                        example: BE
                      iso-3166-alpha-3-country:
                        type: string
                        example: BEL
                  user_id:
                    type: integer
                    example: 1
                  created_at:
                    type: string
                    example: '2023-07-04T11:24:58.000000Z'
                  updated_at:
                    type: string
                    example: '2023-07-04T11:25:00.000000Z'
      tags:
        - Entities
    put:
      summary: 'Update Entity'
      operationId: updateEntity
      description: 'Update the specified Entity in storage.'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example: {  }
                properties: {  }
      tags:
        - Entities
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'A descriptive name of the entity. Must not be greater than 250 characters. Must be at least 8 characters.'
                  example: 'European Food Safety Authority'
                abbreviation:
                  type: string
                  description: 'Abbreviation or short name of the entity. Must not be greater than 50 characters. Must be at least 3 characters.'
                  example: EFSA
                address:
                  type: string
                  description: 'Full address of the entity. It is not required for private persons. This field is required unless <code>registry_number</code> is in <code>null</code>. Must not be greater than 16777215 characters. Must be at least 10 characters.'
                  example: null
                registry_number:
                  type: string
                  description: 'A public unique identifier used to identify a legal entity. Can be empty for private persons. Must not be greater than 20 characters. Must be at least 5 characters.'
                  example: null
                description:
                  type: string
                  description: 'A longer description about the entity. Accepts Markdown for styling. Must not be greater than 15000000 characters. Must be at least 10 characters.'
                  example: No-example
                user_id:
                  type: integer
                  description: 'Numeric identifier of a User.'
                  example: 0
                country_id:
                  type: string
                  description: 'A two-letter code that represents a country name, recommended as general purpose code. Must be 2 characters.'
                  example: IT
                  enum:
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                    - ''
                contact:
                  type: array
                  description: 'A list of contact points for the entity.'
                  example: null
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: 'The type of the contact. Should be one of: email, url, phone, address, url-facebook, url-twitter, url-linkedin, url-youtube, url-vimeo.'
                        example: email
                      value:
                        type: string
                        description: 'The actual value of the contact, for example email address, url or other.'
                        example: example@pollinatorhub.eu
                    required:
                      - type
                      - value
              required:
                - name
                - abbreviation
                - description
                - user_id
                - country_id
    delete:
      summary: 'Delete Entity'
      operationId: deleteEntity
      description: 'Remove the specified Entity from storage.'
      parameters: []
      responses:
        204:
          description: ''
      tags:
        - Entities
    parameters:
      -
        in: path
        name: id
        description: 'The unique identifier used to identify the Entity within the platform.'
        example: 3
        required: true
        schema:
          type: integer
  /api/v1/datasets:
    get:
      summary: 'Show Datasets'
      operationId: showDatasets
      description: 'Display a listing of the Datasets, the User has access to..'
      parameters:
        -
          in: query
          name: entity
          description: 'Filter datasets by Entity uid.'
          example: euph
          required: false
          schema:
            type: string
            description: 'Filter datasets by Entity uid.'
            example: euph
      responses:
        200:
          description: ''
          content:
            text/plain:
              schema:
                type: string
                example: "{\n \"data\": [\n      {\n          \"entities\": [\n              \"euph\"\n          ],\n          \"name\": \"EUPH Reference dataset containing licences\",\n          \"long_name\": \"EUPH Reference dataset containing licences\",\n          \"number\": \"000026\",\n          \"slug\": \"licences\",\n          \"uid\": \"licences\",\n          \"description\": \"The dataset contains all licences for data hosted on the EUPH.\",\n          \"status\": \"publish\",\n          \"public\": true,\n          \"licence\": \"cc-by\",\n          \"published_at\": null\n      },\n ]\n}"
        400:
          description: 'Bad Request'
          content:
            text/plain:
              schema:
                type: string
                example: ''
        401:
          description: Unauthorized
          content:
            text/plain:
              schema:
                type: string
                example: ''
        403:
          description: Forbidden
          content:
            text/plain:
              schema:
                type: string
                example: ''
        500:
          description: 'Internal server error'
          content:
            text/plain:
              schema:
                type: string
                example: ''
      tags:
        - Datasets
    post:
      summary: 'Create Dataset'
      operationId: createDataset
      description: 'Store a Dataset in storage.'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example: {  }
                properties: {  }
      tags:
        - Datasets
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                entities:
                  type: array
                  description: 'The UID of of an related Entity.'
                  example:
                    - euph
                  items:
                    type: string
                name:
                  type: string
                  description: 'The name of the Dataset Part. Must not be greater than 100 characters. Must be at least 3 characters.'
                  example: 'ISO 3166-1:2020'
                long_name:
                  type: string
                  description: 'The long version of the name of the dataset. Must not be greater than 256 characters. Must be at least 8 characters.'
                  example: ouzsjgmyeaylblvcbyxqqlfpehpjigwxwtbnagckmdzfqignyaojxiatjhucvbjmifcwby
                description:
                  type: string
                  description: 'A longer description about the Dataset Part. Accepts Markdown for styling. Must not be greater than 15000000 characters. Must be at least 10 characters.'
                  example: 'Suscipit doloribus fugiat voluptas vero cupiditate quaerat neque.'
                status:
                  type: string
                  description: 'The status of the dataset.'
                  example: pending
                  enum:
                    - draft
                    - pending
                public:
                  type: boolean
                  description: 'Setting this Dataset Part public attribute to true will make accessible to the public while setting it to false will make it only be used for processing.'
                  example: true
                licence:
                  type: string
                  description: 'The UID of the licence of this entity.'
                  example: cc-by
                  enum:
                    - cc-by-4-0
                    - cc-by-sa-4-0
                    - cc-by-nd-4-0
                    - cc-by-nc-4-0
                    - cc-by-nc-sa-4-0
                    - cc-by-nc-nd-4-0
                    - cc0-1-0
                    - eurostat
                    - cc-by-nc-sa-3.0-igo
                    - statcube
                    - table-specific-licence
                published_at:
                  type: string
                  description: 'The date this Dataset Part can be published on the platform. A null value is allowed, having no or unknown publishing date. Must be a valid date.'
                  example: '2023-07-04T11:24:58.000000Z'
              required:
                - entities
                - name
                - long_name
                - description
                - status
                - public
                - licence
                - published_at
  '/api/v1/datasets/{id}':
    get:
      summary: 'Show Dataset'
      operationId: showDataset
      description: 'Display the specified Dataset.'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    name: EUPH
                    long_name: EUPH
                    number: '000001'
                    uid: EUPHA1.0.0
                    description: 'This dataset contains the basic data created for the platform to function.'
                    entities:
                      - euph
                    contact: []
                    licence: euph
                    published_at: null
                    created_at: '2023-09-01T08:53:36.000000Z'
                    updated_at: '2024-04-05T17:46:43.000000Z'
                properties:
                  data:
                    type: object
                    properties:
                      name:
                        type: string
                        example: EUPH
                        description: 'The actual name of the dataset.'
                      long_name:
                        type: string
                        example: EUPH
                        description: 'The long version of the name of the dataset.'
                      number:
                        type: string
                        example: '000001'
                        description: 'Number to identify the dataset. The number will be automatically generated when the dataset is created.'
                      uid:
                        type: string
                        example: EUPHA1.0.0
                        description: 'The unique identifier used to identify the entity within the platform.'
                      description:
                        type: string
                        example: 'This dataset contains the basic data created for the platform to function.'
                        description: 'Longer description about the dataset. Uses Markdown for styling.'
                      entities:
                        type: array
                        example:
                          - euph
                        description: 'Array containing the uid of the entities of this dataset.'
                        items:
                          type: string
                      contact:
                        type: array
                        example: []
                        description: 'A list of contact points for the entity.'
                      licence:
                        type: string
                        example: euph
                        description: 'The uid of the licence of this entity.'
                      published_at:
                        type: string
                        example: null
                        description: 'The date and time the dataset was published.'
                      created_at:
                        type: string
                        example: '2023-09-01T08:53:36.000000Z'
                        description: 'The date and time the dataset was created.'
                      updated_at:
                        type: string
                        example: '2024-04-05T17:46:43.000000Z'
                        description: 'The date and time the dataset was last updated.'
      tags:
        - Datasets
    put:
      summary: 'Update Dataset'
      operationId: updateDataset
      description: 'Update the specified Dataset in storage.'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example: {  }
                properties: {  }
      tags:
        - Datasets
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                entities:
                  type: array
                  description: 'The UID of of an related Entity.'
                  example:
                    - euph
                  items:
                    type: string
                name:
                  type: string
                  description: 'The name of the Dataset Part. Must not be greater than 100 characters. Must be at least 3 characters.'
                  example: 'ISO 3166-1:2020'
                long_name:
                  type: string
                  description: 'The long version of the name of the dataset. Must not be greater than 256 characters. Must be at least 8 characters.'
                  example: No-example
                description:
                  type: string
                  description: 'A longer description about the Dataset Part. Accepts Markdown for styling. Must not be greater than 15000000 characters. Must be at least 10 characters.'
                  example: No-example
                status:
                  type: string
                  description: 'The status of the dataset.'
                  example: pending
                  enum:
                    - draft
                    - pending
                licence:
                  type: string
                  description: 'The UID of the licence of this entity.'
                  example: cc-by
                  enum:
                    - cc-by-4-0
                    - cc-by-sa-4-0
                    - cc-by-nd-4-0
                    - cc-by-nc-4-0
                    - cc-by-nc-sa-4-0
                    - cc-by-nc-nd-4-0
                    - cc0-1-0
                    - eurostat
                    - cc-by-nc-sa-3.0-igo
                    - statcube
                    - table-specific-licence
                public:
                  type: boolean
                  description: 'Setting this Dataset Part public attribute to true will make accessible to the public while setting it to false will make it only be used for processing.'
                  example: true
                published_at:
                  type: string
                  description: 'The date this Dataset Part can be published on the platform. A null value is allowed, having no or unknown publishing date. Must be a valid date.'
                  example: '2023-07-04T11:24:58.000000Z'
              required:
                - entities
                - name
                - long_name
                - description
                - status
                - licence
                - public
                - published_at
    delete:
      summary: 'Delete Dataset'
      operationId: deleteDataset
      description: 'Remove the specified Dataset from storage.'
      parameters: []
      responses:
        204:
          description: ''
      tags:
        - Datasets
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the dataset.'
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: uid
        description: 'The unique identifier used to identify the Dataset within the platform.'
        example: countries
        required: true
        schema:
          type: string
  '/api/v1/datasets/{dataset_id}/parts':
    get:
      summary: 'Show Dataset Parts'
      operationId: showDatasetParts
      description: 'Display a listing of Dataset Parts, the User has access to.'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    -
                      name: 'ISO 3166-1:2020'
                      description: 'File iso3166_1_2020.csv contains 291 records of countries included in the ISO standard 3166-1:2020...'
                      uid: DTST1.PRTA1.0
                      type: file
                      licence_id: unlicenced
                      created_at: '2023-07-04T11:24:58.000000Z'
                      updated_at: '2023-07-04T11:24:58.000000Z'
                properties:
                  data:
                    type: array
                    example:
                      -
                        name: 'ISO 3166-1:2020'
                        description: 'File iso3166_1_2020.csv contains 291 records of countries included in the ISO standard 3166-1:2020...'
                        uid: DTST1.PRTA1.0
                        type: file
                        licence_id: unlicenced
                        created_at: '2023-07-04T11:24:58.000000Z'
                        updated_at: '2023-07-04T11:24:58.000000Z'
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                          example: 'ISO 3166-1:2020'
                        description:
                          type: string
                          example: 'File iso3166_1_2020.csv contains 291 records of countries included in the ISO standard 3166-1:2020...'
                        uid:
                          type: string
                          example: DTST1.PRTA1.0
                        type:
                          type: string
                          example: file
                        licence_id:
                          type: string
                          example: unlicenced
                        created_at:
                          type: string
                          example: '2023-07-04T11:24:58.000000Z'
                        updated_at:
                          type: string
                          example: '2023-07-04T11:24:58.000000Z'
      tags:
        - 'Dataset Parts'
    post:
      summary: 'Create Dataset Part.'
      operationId: createDatasetPart
      description: 'Store a Dataset Part in storage.'
      parameters: []
      responses:
        201:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    name: 'ISO 3166-1:2020'
                    description: No-example
                    type: api
                    licence: null
                    dataset_uid: EUPHA1.0.0
                    published_at: null
                    created_at: '2024-07-10T11:53:18.000000Z'
                    updated_at: '2024-07-10T11:53:18.000000Z'
                properties:
                  data:
                    type: object
                    properties:
                      name:
                        type: string
                        example: 'ISO 3166-1:2020'
                      description:
                        type: string
                        example: No-example
                      type:
                        type: string
                        example: api
                      licence:
                        type: string
                        example: null
                      dataset_uid:
                        type: string
                        example: EUPHA1.0.0
                      published_at:
                        type: string
                        example: null
                      created_at:
                        type: string
                        example: '2024-07-10T11:53:18.000000Z'
                      updated_at:
                        type: string
                        example: '2024-07-10T11:53:18.000000Z'
      tags:
        - 'Dataset Parts'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the Dataset Part. Must not be greater than 150 characters. Must be at least 8 characters.'
                  example: 'ISO 3166-1:2020'
                description:
                  type: string
                  description: 'A longer description about the Dataset Part. Accepts Markdown for styling. Must not be greater than 15000000 characters. Must be at least 10 characters.'
                  example: No-example
                entities:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: string
                type:
                  type: string
                  description: "The type this Dataset Part represents. Use 'api' when uploading data via the API.  The list of available types are: api ,remote ,file ,files."
                  example: api
                  enum:
                    - api
                    - file
                    - files
                    - remote
              required:
                - name
                - description
                - type
    parameters:
      -
        in: path
        name: dataset_id
        description: 'The ID of the dataset.'
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: dataset_uid
        description: 'The UID of the dataset to display related parts of.'
        example: null
        required: true
        schema:
          type: string
  '/api/v1/parts/{id}':
    get:
      summary: 'Display the specified resource.'
      operationId: displayTheSpecifiedResource
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    name: 'ISO 3166:2020'
                    description: 'Data in this table was obtained from the International Organization for Standardization (ISO) Data, an independent, non-governmental international organization with a membership of 167 national standards bodies. It contains codes and names for the representation of names of countries and their subdivisions.'
                    type: file
                    licence: euph
                    dataset_uid: CNTRS2.0.0
                    published_at: null
                    created_at: '2023-01-26T18:18:14.000000Z'
                    updated_at: '2024-01-26T17:32:58.000000Z'
                properties:
                  data:
                    type: object
                    properties:
                      name:
                        type: string
                        example: 'ISO 3166:2020'
                      description:
                        type: string
                        example: 'Data in this table was obtained from the International Organization for Standardization (ISO) Data, an independent, non-governmental international organization with a membership of 167 national standards bodies. It contains codes and names for the representation of names of countries and their subdivisions.'
                      type:
                        type: string
                        example: file
                      licence:
                        type: string
                        example: euph
                      dataset_uid:
                        type: string
                        example: CNTRS2.0.0
                      published_at:
                        type: string
                        example: null
                      created_at:
                        type: string
                        example: '2023-01-26T18:18:14.000000Z'
                      updated_at:
                        type: string
                        example: '2024-01-26T17:32:58.000000Z'
      tags:
        - 'Dataset Parts'
    put:
      summary: 'Update the specified resource in storage.'
      operationId: updateTheSpecifiedResourceInStorage
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            text/plain:
              schema:
                type: string
                example: ''
      tags:
        - 'Dataset Parts'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                entities:
                  type: array
                  description: 'The UID of of an related Entity.'
                  example:
                    - euph
                  items:
                    type: string
                name:
                  type: string
                  description: 'The name of the Dataset Part. Must not be greater than 150 characters. Must be at least 3 characters.'
                  example: 'ISO 3166-1:2020'
                description:
                  type: string
                  description: 'A longer description about the Dataset Part. Accepts Markdown for styling. Must not be greater than 15000000 characters. Must be at least 10 characters.'
                  example: No-example
                type:
                  type: string
                  description: "The type this Dataset Part represents. Use 'api' when uploading data via the API.  The list of available types are: api ,remote ,file ,files."
                  example: api
                  enum:
                    - file
                    - files
                    - remote
                    - api
              required:
                - name
                - description
                - type
    delete:
      summary: 'Remove the specified resource from storage.'
      operationId: removeTheSpecifiedResourceFromStorage
      description: ''
      parameters: []
      responses:
        204:
          description: ''
      tags:
        - 'Dataset Parts'
    parameters:
      -
        in: path
        name: id
        description: 'The numeric identifier used to identify the Dataset Part within the platform.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/parts/{part_id}/data':
    get:
      summary: 'Show Data'
      operationId: showData
      description: 'Display a listing of all data related to this Dataset Part. Is paginated..'
      parameters:
        -
          in: query
          name: page
          description: 'Chose the number of the page. Default 1.'
          example: null
          required: false
          schema:
            type: integer
            description: 'Chose the number of the page. Default 1.'
            example: null
        -
          in: query
          name: limit
          description: 'Chose the number of records to return per page (max 1000). Default 1000.'
          example: null
          required: false
          schema:
            type: integer
            description: 'Chose the number of records to return per page (max 1000). Default 1000.'
            example: null
      responses:
        200:
          description: ''
          content:
            text/plain:
              schema:
                type: string
                example: "{\n     \"records\": [\n         {\n             \"id\": [\n                   \"ISO 3166-1\"\n             ],\n             \"timestamp\": \"2020\",\n             \"data\": [\n                 {\n                     \"descriptors\": \"iso-3166-numeric-country-code\",\n                     \"value\": \"10\",\n                     \"origin\": null,\n                     \"unit\": null,\n                 },\n                 {\n                     \"descriptors\": \"iso-3166-country-name-short\",\n                     \"value\": \"ANTARCTICA\",\n                     \"origin\": null,\n                     \"unit\": null,\n                 },\n                 ...\n             ]\n         },\n         ...\n     ]\n}"
      tags:
        - Data
    delete:
      summary: 'Delete all Data'
      operationId: deleteAllData
      description: 'Removes all data related to this Dataset Part.'
      parameters: []
      responses:
        204:
          description: ''
      tags:
        - Data
    parameters:
      -
        in: path
        name: part_id
        description: 'The ID of the Dataset Part.'
        example: 1
        required: true
        schema:
          type: integer
tags:
  -
    name: Entities
    description: "\nThis route will allow modifications to the meta-data for the Entities.\nIt includes basic information like name, description and contact information.\nIt directly “owns” datasets.\nIt is identified by UID which is created during the data entity creation procedure."
  -
    name: Datasets
    description: "\nThis route will allow modifications to the meta-data for the Datasets.\nIt includes basic information like name, description and contact information.\nIt is owned by one or more entities. It directly owns one or more Dataset Parts.\nIt is identified by UID which is created during the data entity creation procedure."
  -
    name: 'Dataset Parts'
    description: ''
  -
    name: Data
    description: ''
components:
  securitySchemes:
    default:
      type: http
      scheme: bearer
      description: 'You can retrieve your token by visiting your dashboard and clicking <b>API Tokens</b>.'
security:
  -
    default: []