data.world search API

The search API from data.world — 2 operation(s) for search.

OpenAPI Specification

data-world-search-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  contact:
    name: Contact Us
    url: https://data.world/company/contact-us
  termsOfService: https://data.world/terms-policies
  title: data.world Public catalog relationships search API
  version: '0'
  description: Manage relationships between catalog resources
servers:
- url: /v0
security:
- bearerAuth: []
tags:
- name: search
paths:
  /search:
    post:
      operationId: searchResources_1
      parameters:
      - in: query
        name: sort
        schema:
          type: array
          items:
            type: string
      - in: query
        name: size
        schema:
          type: integer
          format: int32
          default: 10
      - in: query
        name: from
        schema:
          type: integer
          format: int32
          default: 0
      - in: query
        name: hydration
        schema:
          type: array
          enum:
          - agent, catalog, catalogConcept, properties, resourceHierarchy
          items:
            type: string
            enum:
            - agent
            - catalog
            - catalogConcept
            - properties
            - resourceHierarchy
            - agent, catalog, catalogConcept, properties, resourceHierarchy
          uniqueItems: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedGenericResultsSearchedResourceDto'
          description: default response
      summary: Advanced search on resources
      tags:
      - search
  /search/resources:
    post:
      description: 'Simple search is a light weight API implementation exposing similar search capabilities as our main

        platform search UI.


        By default, the search response will return mixed result types including metadata resources, datasets,

        projects, queries, insights, tables, and comments.


        A free-text search term is required. Simple search does not support complex keyword or logical operator

        grammar.  Light weight filters for resource owner and resource category are supported. You may optionally

        specify the includeCommunityResults param to query for resources in the data.world open data community.'
      operationId: simpleSearchResources
      parameters:
      - in: query
        name: sort
        schema:
          type: array
          items:
            type: string
      - in: query
        name: size
        schema:
          type: integer
          format: int32
          default: 10
      - in: query
        name: from
        schema:
          type: integer
          format: int32
          default: 0
      - in: query
        name: hydration
        schema:
          type: array
          enum:
          - agent, catalog, catalogConcept, properties, resourceHierarchy
          items:
            type: string
            enum:
            - agent
            - catalog
            - catalogConcept
            - properties
            - resourceHierarchy
            - agent, catalog, catalogConcept, properties, resourceHierarchy
          uniqueItems: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SimpleSearchRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedGenericResultsSearchedResourceDto'
          description: default response
      summary: Simple search on resources
      tags:
      - search
components:
  schemas:
    ImageIcon:
      allOf:
      - $ref: '#/components/schemas/Icon'
      - type: object
        properties:
          image:
            $ref: '#/components/schemas/Image'
            oneOf:
            - $ref: '#/components/schemas/HostedImage'
            - $ref: '#/components/schemas/ProvidedImage'
          largeImage:
            $ref: '#/components/schemas/Image'
            oneOf:
            - $ref: '#/components/schemas/HostedImage'
            - $ref: '#/components/schemas/ProvidedImage'
          selectedImage:
            $ref: '#/components/schemas/Image'
            oneOf:
            - $ref: '#/components/schemas/HostedImage'
            - $ref: '#/components/schemas/ProvidedImage'
          type:
            type: string
            const: image
    PubSearchHydrations:
      type: object
      properties:
        agents:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/AgentHydrationDto'
        catalogConcepts:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/CatalogConceptHydrationDto'
        collections:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/CollectionHydrationDto'
        properties:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/PropertyHydrationDto'
        relationships:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/RelationshipHydrationDto'
        resourceHierarchy:
          type: object
          additionalProperties:
            type: object
            additionalProperties:
              type: array
              items:
                $ref: '#/components/schemas/ResourceHierarchyDto'
    ResourceDetails:
      type: object
      properties:
        typeDetails:
          $ref: '#/components/schemas/TypeDetails'
    EmojiIcon:
      allOf:
      - $ref: '#/components/schemas/Icon'
      - type: object
        properties:
          type:
            type: string
            const: emoji
          value:
            type: string
    AgentHydrationDto:
      type: object
      properties:
        avatarUrl:
          type: string
        deactivated:
          type: boolean
        displayName:
          type: string
        id:
          type: string
    Image:
      type: object
      discriminator:
        mapping:
          hosted: '#/components/schemas/HostedImage'
          provided: '#/components/schemas/ProvidedImage'
        propertyName: type
      properties:
        type:
          type: string
          enum:
          - hosted
          - provided
    Range:
      type: object
      properties:
        endDate:
          type: string
          description: Inclusive. Format is YYYY-MM-DD in UTC. If inputted by itself (without startDate), it will match all dates before this date and this date.
        startDate:
          type: string
          description: Inclusive. Format is YYYY-MM-DD in UTC. If inputted by itself (without endDate),it will match all dates after this date and this date.
    RelationshipHydrationDto:
      type: object
      properties:
        labels:
          type: array
          description: Label of the relationship presentation associated with the relationship
          items:
            type: string
    PropertyHydrationDto:
      type: object
      properties:
        label:
          type: array
          description: Label of the metadata presentation associated with the property
          items:
            type: string
    ResourceHierarchyDto:
      type: object
      properties:
        assetStatus:
          $ref: '#/components/schemas/AssetStatus'
          description: 'Resource status: Pending, Approved etc.'
        hierarchy:
          type: array
          description: Parent types of this resource's type. Returns the most specific type followed by its parent. The first item is the same as type. The last item is the root type.
          items:
            $ref: '#/components/schemas/EntryType'
        icon:
          $ref: '#/components/schemas/Icon'
          description: Resource icon details.
          oneOf:
          - $ref: '#/components/schemas/EmojiIcon'
          - $ref: '#/components/schemas/ImageIcon'
          - $ref: '#/components/schemas/SvgIcon'
        iri:
          type: string
          description: Resource IRI.
        owner:
          type: string
          description: The ID of the organization that this resource belongs to
        title:
          type: string
          description: Resource title
        type:
          type: string
          description: Resource simple type name, e.g. catalogDatabase, catalogEntry etc.
        typeLabel:
          type: string
          description: Resource type label.
    AssetStatus:
      type: object
      properties:
        assetStatusLabel:
          type: string
        dispositionLabel:
          type: string
    SvgIcon:
      allOf:
      - $ref: '#/components/schemas/Icon'
      - type: object
        properties:
          image:
            $ref: '#/components/schemas/Image'
            oneOf:
            - $ref: '#/components/schemas/HostedImage'
            - $ref: '#/components/schemas/ProvidedImage'
          largeImage:
            $ref: '#/components/schemas/Image'
            oneOf:
            - $ref: '#/components/schemas/HostedImage'
            - $ref: '#/components/schemas/ProvidedImage'
          selectedImage:
            $ref: '#/components/schemas/Image'
            oneOf:
            - $ref: '#/components/schemas/HostedImage'
            - $ref: '#/components/schemas/ProvidedImage'
          type:
            type: string
            const: svg-image
    Icon:
      type: object
      discriminator:
        mapping:
          emoji: '#/components/schemas/EmojiIcon'
          image: '#/components/schemas/ImageIcon'
          svg-image: '#/components/schemas/SvgIcon'
        propertyName: type
      properties:
        type:
          type: string
          enum:
          - emoji
          - image
          - svg-image
    SimpleSearchRequest:
      type: object
      properties:
        category:
          type: array
          description: Filter by categories.
          items:
            type: string
            enum:
            - catalogAnalysis
            - catalogBusinessTerm
            - catalogColumn
            - catalogDataType
            - catalogTable
            - collection
            - comment
            - dataset
            - datatable
            - file
            - insight
            - integration
            - project
            - query
            - unknownCatalogEntry
          uniqueItems: true
        includeCommunityResults:
          type: boolean
        owner:
          type: array
          description: Filter by owners. Owners are identified by their IDs.
          items:
            type: string
          uniqueItems: true
        query:
          type: string
      required:
      - query
    HostedImage:
      allOf:
      - $ref: '#/components/schemas/Image'
      - type: object
        properties:
          type:
            type: string
            const: hosted
          url:
            type: string
    PaginatedGenericResultsSearchedResourceDto:
      type: object
      properties:
        consistent:
          type: boolean
        count:
          type: integer
          format: int32
          minimum: 0
        hydrations:
          $ref: '#/components/schemas/PubSearchHydrations'
        next:
          type: string
        records:
          type: array
          items:
            $ref: '#/components/schemas/SearchedResourceDto'
    EntryType:
      type: object
      properties:
        icon:
          $ref: '#/components/schemas/Icon'
          oneOf:
          - $ref: '#/components/schemas/EmojiIcon'
          - $ref: '#/components/schemas/ImageIcon'
          - $ref: '#/components/schemas/SvgIcon'
        instantiable:
          type: boolean
        label:
          type: string
        pluralLabel:
          type: string
        requestable:
          type: boolean
        type:
          type: string
          description: Entry type IRI
    CollectionHydrationDto:
      type: object
      properties:
        description:
          type: string
        id:
          type: string
          description: dct:identifier of the collection
        iri:
          type: string
        owner:
          type: string
        title:
          type: string
    ProvidedImage:
      allOf:
      - $ref: '#/components/schemas/Image'
      - type: object
        properties:
          slug:
            type: string
          type:
            type: string
            const: provided
    SearchRequest:
      type: object
      properties:
        assetStatus:
          type: array
          description: Filter by asset status label.
          items:
            type: string
          uniqueItems: true
        category:
          type: array
          description: Filter by categories.
          items:
            type: string
            enum:
            - catalogAnalysis
            - catalogBusinessTerm
            - catalogColumn
            - catalogDataType
            - catalogTable
            - collection
            - comment
            - dataset
            - datatable
            - file
            - insight
            - integration
            - project
            - query
            - unknownCatalogEntry
          uniqueItems: true
        collection:
          type: array
          description: Filter by collection IRI
          items:
            type: string
          uniqueItems: true
        createdRange:
          $ref: '#/components/schemas/Range'
          description: Filter by range of date that the resource was created.
        minAccessLevel:
          type: string
          description: Minimum access level to filter by.
          enum:
          - NONE
          - SAML_GATED
          - DISCOVER
          - MEMBER
          - READ
          - WRITE
          - ADMIN
        owner:
          type: array
          description: Filter by owners. Owners are identified by their IDs.
          items:
            type: string
          uniqueItems: true
        property:
          type: object
          additionalProperties: {}
          description: Filter by custom properties.
        query:
          type: string
        tag:
          type: array
          description: Filter by tags.
          items:
            type: string
          uniqueItems: true
        type:
          type: array
          description: Filter by type of metadata resource. Both IRI and label are accepted.
          items:
            type: string
          uniqueItems: true
        updatedRange:
          $ref: '#/components/schemas/Range'
          description: Filter by range of date that the resource was updated.
        visibility:
          type: string
          description: Filter by visibility.
          enum:
          - DISCOVERABLE
          - OPEN
          - PRIVATE
      required:
      - query
    CatalogConceptHydrationDto:
      type: object
      properties:
        altLabel:
          type: string
        iri:
          type: string
        owner:
          type: string
        prefLabel:
          type: string
    TypeDetails:
      type: object
      properties:
        id:
          type: string
        label:
          type: string
        subtypeOf:
          type: string
    SearchedResourceDto:
      type: object
      properties:
        assetStatus:
          $ref: '#/components/schemas/AssetStatus'
        category:
          type: string
        collections:
          type: array
          items:
            type: string
        created:
          type: string
          format: date-time
        creator:
          type: string
        description:
          type: string
        fileCount:
          type: integer
          format: int32
        id:
          type: string
        iri:
          type: string
        numLikes:
          type: integer
          format: int32
        owner:
          type: string
        properties:
          type: object
          additionalProperties: {}
        resourceDetails:
          $ref: '#/components/schemas/ResourceDetails'
        resourceLink:
          type: string
          format: uri
        sourceId:
          type: string
        sourceOfRecord:
          type: string
        summary:
          type: string
        tableId:
          type: string
        tableIri:
          type: string
        tags:
          type: array
          items:
            type: string
        title:
          type: string
        updated:
          type: string
          format: date-time
        updatedBy:
          type: string
      required:
      - category
      - id
      - owner
  securitySchemes:
    bearerAuth:
      bearerFormat: JWT
      scheme: bearer
      type: http