data.world user API

The user API from data.world — 8 operation(s) for user.

OpenAPI Specification

data-world-user-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 user API
  version: '0'
  description: Manage relationships between catalog resources
servers:
- url: /v0
security:
- bearerAuth: []
tags:
- name: user
paths:
  /user:
    get:
      description: Retrieve user profile information of the currently authenticated user.
      operationId: getUserData
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserDataResponse'
          description: default response
      summary: Retrieve user data
      tags:
      - user
  /user/datasets/contributing:
    get:
      description: List datasets that the currently authenticated user has access to because he or she is a contributor.
      operationId: fetchContributingDatasets
      parameters:
      - in: query
        name: fields
        schema:
          type: string
      - description: Number of results to return
        in: query
        name: limit
        schema:
          type: integer
          format: int32
          default: 10
          maximum: 100
          minimum: 1
      - description: A token supplied by the previous response to retrieve the next page of results
        in: query
        name: next
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedDatasetResults'
          description: default response
      summary: List datasets as contributor
      tags:
      - user
  /user/datasets/liked:
    get:
      description: List datasets that the currently authenticated user liked (bookmarked).
      operationId: fetchLikedDatasets
      parameters:
      - in: query
        name: fields
        schema:
          type: string
      - description: Number of results to return
        in: query
        name: limit
        schema:
          type: integer
          format: int32
          default: 10
          maximum: 100
          minimum: 1
      - description: A token supplied by the previous response to retrieve the next page of results
        in: query
        name: next
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedDatasetResults'
          description: default response
      summary: List liked (bookmarked) datasets
      tags:
      - user
  /user/datasets/own:
    get:
      description: List datasets that the currently authenticated user has access to because he or she is the owner.
      operationId: fetchDatasets
      parameters:
      - in: query
        name: fields
        schema:
          type: string
      - description: Number of results to return
        in: query
        name: limit
        schema:
          type: integer
          format: int32
          default: 10
          maximum: 100
          minimum: 1
      - description: A token supplied by the previous response to retrieve the next page of results
        in: query
        name: next
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedDatasetResults'
          description: default response
      summary: List datasets as owner
      tags:
      - user
  /user/organizations:
    get:
      description: List organizations that the currently authenticated user is a member of.
      operationId: fetchOrganizations
      parameters:
      - description: Number of results to return
        in: query
        name: limit
        schema:
          type: integer
          format: int32
          default: 10
          maximum: 100
          minimum: 1
      - description: A token supplied by the previous response to retrieve the next page of results
        in: query
        name: next
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedOrganizationResults'
          description: default response
      summary: List organization memberships
      tags:
      - user
  /user/projects/contributing:
    get:
      description: List projects that the currently authenticated user has access to because he or she is a contributor.
      operationId: fetchContributingProjects
      parameters:
      - description: Number of results to return
        in: query
        name: limit
        schema:
          type: integer
          format: int32
          default: 10
          maximum: 100
          minimum: 1
      - description: A token supplied by the previous response to retrieve the next page of results
        in: query
        name: next
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedProjectResults'
          description: default response
      summary: List projects as contributor
      tags:
      - user
  /user/projects/liked:
    get:
      description: List projects that the currently authenticated user liked (bookmarked).
      operationId: fetchLikedProjects
      parameters:
      - description: Number of results to return
        in: query
        name: limit
        schema:
          type: integer
          format: int32
          default: 10
          maximum: 100
          minimum: 1
      - description: A token supplied by the previous response to retrieve the next page of results
        in: query
        name: next
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedProjectResults'
          description: default response
      summary: List liked (bookmarked) projects
      tags:
      - user
  /user/projects/own:
    get:
      description: List projects that the currently authenticated user has access to because he or she is the owner.
      operationId: fetchProjects
      parameters:
      - description: Number of results to return
        in: query
        name: limit
        schema:
          type: integer
          format: int32
          default: 10
          maximum: 100
          minimum: 1
      - description: A token supplied by the previous response to retrieve the next page of results
        in: query
        name: next
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedProjectResults'
          description: default response
      summary: List projects owned
      tags:
      - user
components:
  schemas:
    QueryExecutionDto:
      type: object
      properties:
        query:
          type: string
          maxLength: 10000
          minLength: 1
      required:
      - query
    PaginatedOrganizationResults:
      type: object
      properties:
        count:
          type: integer
          format: int32
          minimum: 0
        nextPageToken:
          type: string
        records:
          type: array
          items:
            $ref: '#/components/schemas/OrganizationDataResponse'
      required:
      - count
      - records
    ProjectSummaryResponse:
      type: object
      properties:
        accessLevel:
          type: string
          enum:
          - NONE, DISCOVER, READ, WRITE, ADMIN
        assetStatus:
          $ref: '#/components/schemas/AssetStatus'
        created:
          type: string
          format: date-time
        datasetStatistics:
          $ref: '#/components/schemas/DatasetStatistics'
          description: Describes number of files, tables, and columns in the project
        dois:
          type: array
          items:
            $ref: '#/components/schemas/Doi'
          writeOnly: true
        files:
          type: array
          items:
            $ref: '#/components/schemas/FileSummaryResponse'
        id:
          type: string
        license:
          type: string
          enum:
          - Public Domain, PDDL, CC-0, CC-BY, CDLA-Permissive-1.0, CC-BY-IGO, CC-BY 3.0, CC-BY 3.0 AU, CC-BY 3.0 IGO, CC-BY-SA, CC-BY-SA 3.0, CDLA-Sharing-1.0, CC BY-NC, CC BY-ND, CC BY-ND 3.0, CC-BY 3.0 NZ, CC-BY-NC 3.0, CC BY-NC-ND, CC-BY-NC-SA 3.0, CC-BY-SA 3.0 NZ, CC-BY-NC-SA 3.0 NZ, CC-BY-NC 3.0 NZ, CC-BY-NC-ND-NZ-3.0, CC BY-NC-SA, Italian-ODL, MIT License, OGL, OGL-Canada, OGL-Nova Scotia, OGL-UK, OSODL, ODC-BY, ODC-ODbL, Other
        linkedDatasets:
          type: array
          items:
            $ref: '#/components/schemas/LinkedDatasetSummaryResponse'
        objective:
          type: string
          maxLength: 120
          minLength: 0
        owner:
          type: string
        properties:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/StringOrArray'
          description: All properties of the resource that are associated with a metadata presentation. Key is the IRI of the property. Value is the value of the property.
        similarResources:
          type: array
          description: Similar projects with the same owner
          items:
            oneOf:
            - $ref: '#/components/schemas/SimpleDataset'
        status:
          type: string
          enum:
          - NEW, INPROGRESS, LOADED, SYSTEMERROR
        summary:
          type: string
          maxLength: 25000
          minLength: 0
        tags:
          type: array
          items:
            type: string
        title:
          type: string
          maxLength: 60
          minLength: 1
        updated:
          type: string
          format: date-time
        version:
          type: string
        versionDois:
          type: array
          items:
            $ref: '#/components/schemas/Doi'
          writeOnly: true
        visibility:
          type: string
          enum:
          - OPEN, PRIVATE
      required:
      - accessLevel
      - created
      - id
      - owner
      - status
      - title
      - updated
      - version
      - visibility
    FileSummaryResponse:
      type: object
      properties:
        created:
          type: string
          format: date-time
        createdBy:
          type: string
        description:
          type: string
          maxLength: 120
          minLength: 1
        labels:
          type: array
          items:
            type: string
        name:
          type: string
          maxLength: 128
          minLength: 1
          pattern: ^[^/]+$
        sizeInBytes:
          type: integer
          format: int64
        source:
          $ref: '#/components/schemas/FileSourceSummaryResponse'
        updated:
          type: string
          format: date-time
        updatedBy:
          type: string
      required:
      - created
      - name
      - updated
    DatabaseSourceReference:
      type: object
      properties:
        id:
          type: string
          format: uuid
        owner:
          type: string
      required:
      - id
      - owner
    UserDataResponse:
      type: object
      properties:
        avatarUrl:
          type: string
          maxLength: 256
          minLength: 0
        baseUrl:
          type: string
        created:
          type: string
          format: date-time
        displayName:
          type: string
          maxLength: 128
          minLength: 0
        id:
          type: string
        updated:
          type: string
          format: date-time
      required:
      - created
      - id
      - updated
    DatasetStatistics:
      type: object
      properties:
        columnCount:
          type: integer
          format: int32
        fileCount:
          type: integer
          format: int32
        tableCount:
          type: integer
          format: int32
    SimpleDataset:
      allOf:
      - $ref: '#/components/schemas/SimpleResource'
      - type: object
        properties:
          description:
            type: string
            maxLength: 120
            minLength: 0
          id:
            type: string
          license:
            type: string
            enum:
            - Public Domain, PDDL, CC-0, CC-BY, CDLA-Permissive-1.0, CC-BY-IGO, CC-BY 3.0, CC-BY 3.0 AU, CC-BY 3.0 IGO, CC-BY-SA, CC-BY-SA 3.0, CDLA-Sharing-1.0, CC BY-NC, CC BY-ND, CC BY-ND 3.0, CC-BY 3.0 NZ, CC-BY-NC 3.0, CC BY-NC-ND, CC-BY-NC-SA 3.0, CC-BY-SA 3.0 NZ, CC-BY-NC-SA 3.0 NZ, CC-BY-NC 3.0 NZ, CC-BY-NC-ND-NZ-3.0, CC BY-NC-SA, Italian-ODL, MIT License, OGL, OGL-Canada, OGL-Nova Scotia, OGL-UK, OSODL, ODC-BY, ODC-ODbL, Other
          owner:
            type: string
          summary:
            type: string
            maxLength: 25000
            minLength: 0
          tags:
            type: array
            items:
              type: string
          title:
            type: string
            maxLength: 60
            minLength: 1
          type:
            type: string
            enum:
            - dataset
            - project
          visibility:
            type: string
            enum:
            - OPEN, PRIVATE
      required:
      - id
      - owner
    WebCredentials:
      type: object
      properties:
        password:
          type: string
          maxLength: 2048
          minLength: 0
        user:
          type: string
          maxLength: 2048
          minLength: 0
      required:
      - user
    SingleTableMetadataSpecDto:
      type: object
      properties:
        database:
          type: string
        schema:
          type: string
        table:
          type: string
        tableType:
          type: string
          enum:
          - EXTRACT
          - VIRTUAL
    FileSourceSummaryResponse:
      type: object
      properties:
        authorization:
          $ref: '#/components/schemas/WebAuthorization'
        credentials:
          $ref: '#/components/schemas/WebCredentials'
        dataTables:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/QueryExecutionDto'
        databaseMetadataSpec:
          $ref: '#/components/schemas/DatabaseMetadataSpecDto'
        databaseSource:
          $ref: '#/components/schemas/DatabaseSourceReference'
        dwccSpec:
          $ref: '#/components/schemas/DwccSpecDto'
        expandArchive:
          type: boolean
        lastSyncFailure:
          type: string
          format: date-time
        lastSyncStart:
          type: string
          format: date-time
        lastSyncSuccess:
          type: string
          format: date-time
        mediaType:
          type: string
        mediaTypeLocked:
          type: boolean
        method:
          type: string
          enum:
          - GET
          - POST
        oauthToken:
          $ref: '#/components/schemas/OauthTokenReference'
        requestEntity:
          type: string
          maxLength: 10000
          minLength: 0
        requestHeaders:
          type: object
          additionalProperties:
            type: string
        syncStatus:
          type: string
          enum:
          - NEW
          - INPROGRESS
          - OK
          - SYSTEMERROR
        syncSummary:
          type: string
        tableSpec:
          $ref: '#/components/schemas/SingleTableMetadataSpecDto'
        url:
          type: string
          format: uri
        useDwCredentials:
          type: boolean
        viewRequest:
          $ref: '#/components/schemas/ViewRequestDto'
      required:
      - syncStatus
    OauthTokenReference:
      type: object
      properties:
        id:
          type: string
          format: uuid
        owner:
          type: string
        site:
          type: string
      required:
      - id
      - owner
      - site
    AssetStatus:
      type: object
      properties:
        assetStatusLabel:
          type: string
        dispositionLabel:
          type: string
    DwccSpecDto:
      type: object
      properties:
        databaseId:
          type: string
        metadataToExclude:
          type: array
          items:
            type: string
        sourceDatabase:
          type: string
        sourceSchemas:
          type: array
          items:
            type: string
        targetCatalog:
          type: string
    DatasetSummaryResponse:
      type: object
      properties:
        accessLevel:
          type: string
          enum:
          - NONE, DISCOVER, READ, WRITE, ADMIN
        assetStatus:
          $ref: '#/components/schemas/AssetStatus'
        created:
          type: string
          format: date-time
        datasetStatistics:
          $ref: '#/components/schemas/DatasetStatistics'
          description: Describes number of files, tables, and columns in the dataset
        description:
          type: string
          maxLength: 120
          minLength: 0
        dois:
          type: array
          items:
            $ref: '#/components/schemas/Doi'
        files:
          type: array
          items:
            $ref: '#/components/schemas/FileSummaryResponse'
        id:
          type: string
        isProject:
          type: boolean
        license:
          type: string
          enum:
          - Public Domain, PDDL, CC-0, CC-BY, CDLA-Permissive-1.0, CC-BY-IGO, CC-BY 3.0, CC-BY 3.0 AU, CC-BY 3.0 IGO, CC-BY-SA, CC-BY-SA 3.0, CDLA-Sharing-1.0, CC BY-NC, CC BY-ND, CC BY-ND 3.0, CC-BY 3.0 NZ, CC-BY-NC 3.0, CC BY-NC-ND, CC-BY-NC-SA 3.0, CC-BY-SA 3.0 NZ, CC-BY-NC-SA 3.0 NZ, CC-BY-NC 3.0 NZ, CC-BY-NC-ND-NZ-3.0, CC BY-NC-SA, Italian-ODL, MIT License, OGL, OGL-Canada, OGL-Nova Scotia, OGL-UK, OSODL, ODC-BY, ODC-ODbL, Other
        linkedDatasets:
          type: array
          items:
            $ref: '#/components/schemas/LinkedDatasetSummaryResponse'
          writeOnly: true
        owner:
          type: string
        properties:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/StringOrArray'
          description: All properties of the resource that are associated with a metadata presentation. Key is the IRI of the property. Value is the value of the property.
        similarResources:
          type: array
          description: Similar datasets with the same owner
          items:
            oneOf:
            - $ref: '#/components/schemas/SimpleDataset'
        status:
          type: string
          enum:
          - NEW, INPROGRESS, LOADED, SYSTEMERROR
        summary:
          type: string
          maxLength: 25000
          minLength: 0
        tags:
          type: array
          items:
            type: string
        title:
          type: string
          maxLength: 60
          minLength: 1
        updated:
          type: string
          format: date-time
        version:
          type: string
        versionDois:
          type: array
          items:
            $ref: '#/components/schemas/Doi'
        visibility:
          type: string
          enum:
          - OPEN, PRIVATE
      required:
      - accessLevel
      - created
      - id
      - isProject
      - owner
      - status
      - title
      - updated
      - version
      - visibility
    WebAuthorization:
      type: object
      properties:
        credentials:
          type: string
          maxLength: 2048
          minLength: 1
        type:
          type: string
          maxLength: 50
          minLength: 0
      required:
      - type
    PaginatedDatasetResults:
      type: object
      properties:
        count:
          type: integer
          format: int32
          minimum: 0
        nextPageToken:
          type: string
        records:
          type: array
          items:
            $ref: '#/components/schemas/DatasetSummaryResponse'
      required:
      - count
      - records
    LinkedDatasetSummaryResponse:
      type: object
      properties:
        accessLevel:
          type: string
          enum:
          - NONE, DISCOVER, READ, WRITE, ADMIN
        created:
          type: string
          format: date-time
        description:
          type: string
          maxLength: 120
          minLength: 0
        id:
          type: string
        license:
          type: string
          enum:
          - Public Domain, PDDL, CC-0, CC-BY, CDLA-Permissive-1.0, CC-BY-IGO, CC-BY 3.0, CC-BY 3.0 AU, CC-BY 3.0 IGO, CC-BY-SA, CC-BY-SA 3.0, CDLA-Sharing-1.0, CC BY-NC, CC BY-ND, CC BY-ND 3.0, CC-BY 3.0 NZ, CC-BY-NC 3.0, CC BY-NC-ND, CC-BY-NC-SA 3.0, CC-BY-SA 3.0 NZ, CC-BY-NC-SA 3.0 NZ, CC-BY-NC 3.0 NZ, CC-BY-NC-ND-NZ-3.0, CC BY-NC-SA, Italian-ODL, MIT License, OGL, OGL-Canada, OGL-Nova Scotia, OGL-UK, OSODL, ODC-BY, ODC-ODbL, Other
        owner:
          type: string
        summary:
          type: string
          maxLength: 25000
          minLength: 0
        tags:
          type: array
          items:
            type: string
        title:
          type: string
          maxLength: 60
          minLength: 1
        updated:
          type: string
          format: date-time
        version:
          type: string
        visibility:
          type: string
          enum:
          - OPEN, PRIVATE
      required:
      - accessLevel
      - created
      - id
      - owner
      - title
      - updated
      - visibility
    StringOrArray:
      oneOf:
      - type: string
      - type: array
        items:
          type: string
    DatabaseMetadataSpecDto:
      type: object
      properties:
        tableSpecs:
          type: array
          items:
            $ref: '#/components/schemas/TableMetadataSpecDto'
          maxItems: 100
          minItems: 0
    TableMetadataSpecDto:
      type: object
      properties:
        database:
          type: string
        schema:
          type: string
        tablePrefixes:
          type: array
          items:
            type: string
        tableTypes:
          type: array
          items:
            type: string
            enum:
            - TABLE
            - EXTERNAL_TABLE
            - VIEW
        tables:
          type: array
          items:
            type: string
    ViewRequestDto:
      type: object
      properties:
        baseAgentId:
          type: string
        baseDatasetId:
          type: string
        queryId:
          type: string
          format: uuid
        queryName:
          type: string
        queryText:
          type: string
          maxLength: 10000
          minLength: 1
        queryType:
          type: string
          enum:
          - SPARQL
          - SQL
        runAsAgentId:
          type: string
        targetAgentId:
          type: string
        targetDatasetId:
          type: string
      required:
      - baseAgentId
      - baseDatasetId
      - queryName
      - queryType
      - runAsAgentId
      - targetAgentId
      - targetDatasetId
    PaginatedProjectResults:
      type: object
      properties:
        count:
          type: integer
          format: int32
          minimum: 0
        nextPageToken:
          type: string
        records:
          type: array
          items:
            $ref: '#/components/schemas/ProjectSummaryResponse'
      required:
      - count
      - records
    Doi:
      type: object
      properties:
        created:
          type: string
          format: date-time
        doi:
          type: string
      required:
      - created
      - doi
    SimpleResource:
      type: object
      discriminator:
        mapping:
          dataset: '#/components/schemas/SimpleDataset'
          project: '#/components/schemas/SimpleDataset'
        propertyName: type
      properties:
        type:
          type: string
          description: The type of the resource
          enum:
          - dataset
          - project
    OrganizationDataResponse:
      type: object
      properties:
        avatarUrl:
          type: string
          maxLength: 256
          minLength: 0
        baseUrl:
          type: string
        created:
          type: string
          format: date-time
        displayName:
          type: string
          maxLength: 128
          minLength: 0
        id:
          type: string
        type:
          type: string
          description: Indicates organization type.
          enum:
          - DEFAULT
          - MEMBERS_ONLY
          - INTEGRATIONS
          - ONTOLOGIES
          - ANALYSIS
          - CATALOG_ENVIRONMENT
          - CATALOG_SANDBOX_ENVIRONMENT
          - CATALOG_SOURCES
          - CATALOG_CONFIG
        updated:
          type: string
          format: date-time
      required:
      - created
      - id
      - updated
  securitySchemes:
    bearerAuth:
      bearerFormat: JWT
      scheme: bearer
      type: http