openapi: 3.0.0
info:
  title: Portal de Datos Abiertos - API CKAN
  description: >
    Esta API proporciona acceso en tiempo real a la parte CKAN del Portal de Datos Abiertos de PNAV.
    Nuestros portales de prueba son para compartir funciones próximas y probar integraciones en redes
    restringidas, mientras que los sitios de desarrollo son para características en desarrollo.
  version: "0.1"
  contact:
    name: PNAV Open Data
    url: http://172.233.123.166
  license:
    name: CC BY 4.0
    url: https://creativecommons.org/licenses/by/4.0/
servers:
  - url: http://172.233.123.166/api/3
    description: Portal de Datos Abiertos PNAV
tags:
  - name: Básico
    description: >-
      Fundamentos de la API CKAN. [La API de Acción de CKAN es una potente API estilo RPC que expone todas las funcionalidades.](https://docs.ckan.org/en/2.10/api/)
  - name: Conjuntos de datos
    description: >-
      Paquetes (Conjuntos de Datos/Recursos). [En CKAN, los datos se publican en unidades llamadas “conjuntos de datos”.](https://docs.ckan.org/en/2.10/user-guide.html#datasets-and-resources)
  - name: Organizaciones
    description: >-
      Grupos de Usuarios. [Las organizaciones son la forma principal de controlar quién puede ver,
      crear y actualizar conjuntos de datos en CKAN.](https://docs.ckan.org/en/2.10/maintaining/authorization.html?highlight=organizations#organizations)
  - name: Grupos
    description: >-
      Colección de conjuntos de datos. [Los grupos permiten crear y gestionar colecciones de conjuntos de datos.](https://docs.ckan.org/en/2.10/api/)
paths:
  /action/group_list:
    get:
      tags:
        - Grupos
      summary: Devuelve una lista de nombres de los grupos del sitio
      deprecated: false
      parameters:
        - name: type
          in: query
          description: >-
            (cadena) – grupos u organizaciones. Este parámetro especifica el tipo de entidad a devolver.
          required: false
          schema:
            type: string
            enum:
              - 'group'
            default: 'group'
        - name: order_by
          in: query
          description: >-
            (cadena) – el campo por el que ordenar la lista, debe ser 'name' o 'packages' 
            (opcional, predeterminado: 'name'). Obsoleto, usar sort.
          required: false
          schema:
            type: string
        - name: sort
          in: query
          description: >-
            (cadena) – ordenamiento de los resultados de la búsqueda. Opcional. Predeterminado: “name asc”.
            Los campos permitidos son ‘name’, ‘package_count’ y ‘title’.
          required: false
          schema:
            type: string
        - name: limit
          in: query
          description: >-
            (entero) – si se proporciona, la lista de organizaciones se dividirá en páginas de 
            un máximo de "limit" organizaciones por página y solo se devolverá una página a la vez (opcional).
          required: false
          schema:
            type: string
        - name: offset
          in: query
          description: >-
            (entero) – cuando se proporciona un límite, el desplazamiento para comenzar a devolver organizaciones.
          required: false
          schema:
            type: string
        - name: groups
          in: query
          description: >-
            (lista de cadenas) – una lista de nombres de los grupos a devolver, si se proporciona,
            solo se devolverán los grupos cuyos nombres estén en esta lista (opcional).
          required: false
          schema:
            type: string
        - name: all_fields
          in: query
          description: >-
            (booleano) – devuelve diccionarios de grupos en lugar de solo nombres. Solo se devuelven 
            los campos principales - obtén más usando las opciones include_*. La propiedad "packages" 
            está obsoleta, pero hay un recuento de paquetes en "package_count" (opcional, predeterminado: False).
          required: false
          schema:
            type: boolean
            enum:
              - true
              - false
            default: false
        - name: include_dataset_count
          in: query
          description: >-
            (booleano) – si "all_fields" está activado, incluye el recuento completo de paquetes (opcional, predeterminado: True).
          required: false
          schema:
            type: boolean
            enum:
              - true
              - false
            default: true
        - name: include_extras
          in: query
          description: >-
            (booleano) – si "all_fields" está activado, incluye los campos adicionales de la organización 
            (opcional, predeterminado: False).
          required: false
          schema:
            type: boolean
            enum:
              - true
              - false
            default: false
      responses:
        '200':
          description: Respuesta exitosa con la lista de grupos.
          content:
            application/json:
              schema:
                type: object
                properties: {}
  /action/organization_list:
    get:
      tags:
        - Organizaciones
      summary: Devuelve una lista de nombres de las organizaciones del sitio
      parameters:
        - name: type
          in: query
          description: >-
            (cadena) – grupos u organizaciones. Este parámetro especifica el tipo de entidad a devolver.
          required: false
          schema:
            type: string
            enum:
              - 'organization'
            default: "organization"
        - name: order_by
          in: query
          description: >-
            (cadena) – el campo por el que ordenar la lista, debe ser 'name' o 'packages' (opcional, predeterminado: 'name').
            Obsoleto, usar sort.
          required: false
          schema:
            type: string
      responses:
        '200':
          description: Respuesta exitosa con la lista de organizaciones.
          content:
            application/json:
              schema:
                type: object
                properties: {}
  /action/package_list:
    get:
      deprecated: false
      description: ''
      tags:
        - Conjuntos de datos
      summary: Devuelve una lista de los nombres de los conjuntos de datos (paquetes) del sitio
      parameters:
        - name: limit
          in: query
          description: >-
            (int) – si se proporciona, la lista de conjuntos de datos se dividirá en
            páginas de un máximo de "limit" conjuntos por página y solo se devolverá una página a la vez (opcional).
          required: false
          schema:
            type: string
        - name: offset
          in: query
          description: >-
            (int) – cuando se proporciona un límite, el desplazamiento para comenzar a devolver paquetes.
          required: false
          schema:
            type: string
      responses:
        '200':
          description: Respuesta exitosa con la lista de paquetes.
          content:
            application/json:
              schema:
                type: object
                properties: {}

  /action/current_package_list_with_resources:
    get:
      deprecated: false
      description: ''
      tags:
        - Conjuntos de datos
      summary: Devuelve una lista de los conjuntos de datos del sitio y sus recursos
      parameters:
        - name: limit
          in: query
          description: >-
            si se proporciona, la lista de conjuntos de datos se dividirá en páginas de
            un máximo de "limit" conjuntos por página y solo se devolverá una página a la vez (opcional).
          required: false
          schema:
            type: string
        - name: offset
          in: query
          description: cuando se proporciona un límite, el desplazamiento para comenzar a devolver paquetes.
          required: false
          schema:
            type: string
        - name: page
          in: query
          description: cuando se proporciona un límite, especifica qué página devolver. Obsoleto, usar "offset".
          required: false
          schema:
            type: string
      responses:
        '200':
          description: Respuesta exitosa con la lista de paquetes y recursos.
          content:
            application/json:
              schema:
                type: object
                properties: {}

  /action/package_show:
    get:
      deprecated: false
      description: ''
      tags:
        - Conjuntos de datos
      summary: Devuelve los metadatos de un conjunto de datos (paquete) y sus recursos
      parameters:
        - name: id
          in: query
          description: (string) – el ID o nombre del conjunto de datos.
          required: true
          schema:
            type: string
        - name: use_default_schema
          in: query
          description: >-
            (bool) – usa el esquema de paquete predeterminado en lugar de uno personalizado
            definido con un complemento IDatasetForm (predeterminado: False).
          required: false
          schema:
            type: boolean
            enum:
              - true
              - false
            default: false
        - name: include_tracking
          in: query
          description: >-
            (bool) – añade información de seguimiento al conjunto de datos y recursos (predeterminado: False).
          required: false
          schema:
            type: boolean
            enum:
              - true
              - false
            default: false
        - name: include_plugin_data
          in: query
          description: >-
            (bool) – incluye datos internos del complemento (solo para administradores, opcional, predeterminado: False).
          required: false
          schema:
            type: boolean
            enum:
              - true
              - false
            default: false
      responses:
        '200':
          description: Respuesta exitosa con los metadatos del paquete.
          content:
            application/json:
              schema:
                type: object
                properties: {}

  /action/package_search:
    get:
      deprecated: false
      description: ''
      tags:
        - Conjuntos de datos
      summary: Busca paquetes que cumplan con un criterio de búsqueda especificado
      parameters:
        - name: q
          in: query
          description: '(string) – la consulta de búsqueda en solr. Opcional. Predeterminado: "*:*".'
          required: false
          schema:
            type: string
            default: "*:*"
        - name: rows
          in: query
          description: >-
            (int) – el número de filas coincidentes a devolver. Hay un límite máximo de 1000 conjuntos por consulta.
          required: false
          schema:
            type: string
            default: "10"
      responses:
        '200':
          description: Respuesta exitosa con los resultados de búsqueda de paquetes.
          content:
            application/json:
              schema:
                type: object
                properties: {}

  /action/resource_search:
    get:
      deprecated: false
      description: ''
      tags:
        - Conjuntos de datos
      summary: Busca recursos en conjuntos de datos públicos que cumplan con los criterios de búsqueda
      parameters:
        - name: query
          in: query
          description: >-
            (cadena o lista de cadenas con la forma {campo}:{término1}) – Los criterios de búsqueda.
          required: true
          schema:
            type: string
        - name: vocabulary_id
          in: query
          description: >-
            (cadena) – el ID o nombre del vocabulario de etiquetas en el cual buscar (opcional).
          required: false
          schema:
            type: string
        - name: fields
          in: query
          description: (diccionario de campos y términos de búsqueda) – Obsoleto.
          required: false
          schema:
            type: string
        - name: order_by
          in: query
          description: >-
            (cadena) – Un campo en el modelo "Resource" que ordena los resultados.
          required: false
          schema:
            type: string
        - name: offset
          in: query
          description: (entero) – Aplica un desplazamiento a la consulta.
          required: false
          schema:
            type: string
        - name: limit
          in: query
          description: (entero) – Aplica un límite a la consulta.
          required: false
          schema:
            type: string
      responses:
        '200':
          description: Respuesta exitosa con los resultados de recursos.
          content:
            application/json:
              schema:
                type: object
                properties: {}
  /action/license_list:
    get:
      deprecated: false
      description: ''
      tags:
        - Básico
      summary: Devuelve la lista de licencias disponibles para los conjuntos de datos del sitio
      responses:
        '200':
          description: Respuesta exitosa con la lista de licencias disponibles.
          content:
            application/json:
              schema:
                type: object
                properties: {}

  /action/tag_list:
    get:
      deprecated: false
      tags:
        - Básico
      summary: Devuelve una lista de las etiquetas del sitio
      parameters:
        - name: query
          in: query
          description: >-
            (string) – una consulta de nombre de etiqueta a buscar. Si se proporciona,
            solo se devolverán las etiquetas cuyos nombres contengan esta cadena.
          required: false
          schema:
            type: string
      responses:
        '200':
          description: Respuesta exitosa con la lista de etiquetas.
          content:
            application/json:
              schema:
                type: object
                properties: {}
  /action/tag_search:
    get:
      deprecated: false
      description: ''
      tags:
        - Básico
      summary: Devuelve una lista de etiquetas cuyos nombres contienen una cadena especificada
      parameters:
        - name: query
          in: query
          description: (cadena o lista de cadenas) – la(s) cadena(s) a buscar.
          required: true
          schema:
            type: string
        - name: vocabulary_id
          in: query
          description: >-
            (cadena) – el ID o nombre del vocabulario de etiquetas en el cual buscar
            (opcional).
          required: false
          schema:
            type: string
        - name: fields
          in: query
          description: (diccionario) – obsoleto.
          required: false
          schema:
            type: string
        - name: limit
          in: query
          description: (entero) – el número máximo de etiquetas a devolver.
          required: false
          schema:
            type: string
        - name: offset
          in: query
          description: (entero) – cuando se proporciona un límite, el desplazamiento para comenzar a devolver etiquetas.
          required: false
          schema:
            type: string
      responses:
        '200':
          description: Respuesta exitosa con la lista de etiquetas.
          content:
            application/json:
              schema:
                type: object
                properties: {}



