data.world requests - resource API

Manage resource requests

OpenAPI Specification

data-world-requests-resource-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 requests - resource API
  version: '0'
  description: Manage relationships between catalog resources
servers:
- url: /v0
security:
- bearerAuth: []
tags:
- description: Manage resource requests
  name: requests - resource
paths:
  /requests/accept:
    post:
      description: Accept a resource request. The defined contribution or transfer will happen. For more details on resource requests, see "Get a resource request".
      operationId: acceptRequest_1
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AcceptRequestDto'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessMessageDto'
          description: default response
      summary: Accept a resource request
      tags:
      - requests - resource
  /requests/owner/{agentid}:
    get:
      description: Get all resource requests done to resources in an organization. For more details on resource requests, see "Get a resource request".
      operationId: getRequests
      parameters:
      - description: organization ID
        in: path
        name: agentid
        required: true
        schema:
          type: string
          minLength: 1
      - 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
      - description: Sort results by fields
        in: query
        name: sort
        schema:
          type: array
          items:
            type: string
      - in: query
        name: includeTaskLinkedRequests
        schema:
          type: boolean
          default: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedGenericResultsPublicResourceRequestDto'
          description: default response
      summary: Get all resource requests in an organization
      tags:
      - requests - resource
  /requests/reject:
    post:
      description: Reject a resource request. This deletes the request. For more details on resource requests, see "Get a resource request".
      operationId: rejectRequest_1
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RejectRequestDto'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessMessageDto'
          description: default response
      summary: Reject a resource request
      tags:
      - requests - resource
  /requests/suggest:
    post:
      description: This API allows users to submit requests for modifications or contributions to dataset or metadata resources. Users can propose changes or transfers within an organization's collections, specifying details about the resource and type of request through structured parameters.
      operationId: createResourceRequest
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PublicResourceRequestDto'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicResourceRequestDto'
          description: default response
      summary: Create a resource request
      tags:
      - requests - resource
  /requests/{requestid}:
    delete:
      description: Delete a resource request. For more details on resource requests, see "Get a resource request".
      operationId: deleteRequest_1
      parameters:
      - description: ID of the request to delete.
        in: path
        name: requestid
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessMessageDto'
          description: default response
      summary: Delete a resource request
      tags:
      - requests - resource
    get:
      description: Get a resource request. Request can be a contribution on a metadata resource or transfer of a metadata resource into an organization's collections.
      operationId: getRequest
      parameters:
      - in: path
        name: requestid
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicResourceRequestDto'
          description: default response
      summary: Get a resource request
      tags:
      - requests - resource
components:
  schemas:
    TransferAssetDto:
      type: object
      properties:
        entityType:
          type: string
          description: The type of resource being transferred
          minLength: 1
        identifier:
          type: string
          description: The dct:identifier of resource being transferred
        iri:
          type: string
          description: The IRI of resource being transferred
          minLength: 1
      required:
      - entityType
      - iri
    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'
    AcceptRequestDto:
      type: object
      properties:
        collectionIds:
          type: array
          description: Only required for transfer requests. A list of collection identifiers (not IRI) that the resource should be transferred into. These collections must be in the organization noted as the "granteeParty" in the request.
          items:
            type: string
        requestid:
          type: string
          format: uuid
          description: ID of the request to accept.
      required:
      - requestid
    ContributionDto:
      type: object
      properties:
        activities:
          type: array
          description: Details about the contribution
          items:
            $ref: '#/components/schemas/ContributionActivity'
        activityType:
          type: string
          description: The type of contribution that is being made
          enum:
          - METADATA_EDIT
          - RELATIONSHIP
        type:
          type: string
          description: The type of resource that this contribution is done on
          enum:
          - METADATA
          - DATASET
      required:
      - activities
      - activityType
      - type
    PublicResource:
      type: object
      discriminator:
        mapping:
          ANALYSIS: '#/components/schemas/PublicAnalysisResource'
          CATALOG: '#/components/schemas/PublicCollectionResource'
          COLUMN: '#/components/schemas/PublicColumnResource'
          DATABASE: '#/components/schemas/PublicDatabaseResource'
          DATASET: '#/components/schemas/PublicDatasetResource'
          DATASET_INSIGHT: '#/components/schemas/PublicDatasetInsightResource'
          GLOSSARY: '#/components/schemas/PublicGlossaryResource'
          GROUP: '#/components/schemas/PublicGroupParty'
          METADATA_RESOURCE: '#/components/schemas/PublicMetadataResource'
          TABLE: '#/components/schemas/PublicTableResource'
        propertyName: type
      properties:
        owner:
          type: string
          description: ID of an organization that owns the resource
          title: organization id
        type:
          type: string
          enum:
          - ANALYSIS
          - CATALOG
          - COLUMN
          - DATABASE
          - DATASET
          - DATASET_INSIGHT
          - GLOSSARY
          - GROUP
          - METADATA_RESOURCE
          - TABLE
      required:
      - owner
      - type
    PublicGroupParty:
      type: object
      allOf:
      - $ref: '#/components/schemas/PublicParty'
      - type: object
        properties:
          id:
            type: string
            description: ID of a group
          owner:
            type: string
            description: ID of an organization that owns the resource
            title: organization id
          type:
            type: string
            const: GROUP
      - $ref: '#/components/schemas/PublicResource'
      required:
      - id
      - owner
      title: Group Identifier
    PublicUserParty:
      type: object
      properties:
        id:
          type: string
          description: ID of the user
      required:
      - id
      title: User Identifier
    PublicMetadataResource:
      allOf:
      - $ref: '#/components/schemas/PublicResource'
      - type: object
        properties:
          referent:
            type: string
            description: A metadata resource referent
          type:
            type: string
            const: METADATA_RESOURCE
      required:
      - owner
      - referent
      title: Metadata Resource
    PublicDatasetResource:
      type: object
      allOf:
      - $ref: '#/components/schemas/PublicResource'
      - $ref: '#/components/schemas/DatasetIdentifier'
      - type: object
        properties:
          id:
            type: string
            description: ID of a dataset
      required:
      - id
      - owner
      title: Dataset Resource
    EmojiIcon:
      allOf:
      - $ref: '#/components/schemas/Icon'
      - type: object
        properties:
          type:
            type: string
            const: emoji
          value:
            type: string
    DatasetIdentifier:
      type: object
      properties:
        id:
          type: string
        owner:
          type: string
      required:
      - id
      - owner
    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
    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
    PaginatedGenericResultsPublicResourceRequestDto:
      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/PublicResourceRequestDto'
    PublicParty:
      discriminator:
        mapping:
          GROUP: '#/components/schemas/PublicGroupParty'
          USER: '#/components/schemas/PublicUserParty'
        propertyName: type
      properties:
        type:
          type: string
          enum:
          - USER
          - GROUP
      required:
      - type
    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
    HostedImage:
      allOf:
      - $ref: '#/components/schemas/Image'
      - type: object
        properties:
          type:
            type: string
            const: hosted
          url:
            type: string
    RejectRequestDto:
      type: object
      properties:
        requestid:
          type: string
          format: uuid
          description: ID of the request to reject.
      required:
      - requestid
    ContributionHydratable:
      type: object
      properties:
        agentId:
          type: string
        entityType:
          type: string
          minLength: 1
        identifier:
          type: string
          minLength: 1
      required:
      - entityType
      - identifier
    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
    SuccessMessageDto:
      type: object
      properties:
        message:
          type: string
          maxLength: 256
          minLength: 0
    ProvidedImage:
      allOf:
      - $ref: '#/components/schemas/Image'
      - type: object
        properties:
          slug:
            type: string
          type:
            type: string
            const: provided
    ContributionActivity:
      type: object
      discriminator:
        mapping:
          AddCustomIriProperty: '#/components/schemas/AddCustomIriPropertyContribution'
          AddCustomLiteralProperty: '#/components/schemas/AddCustomLiteralPropertyContribution'
          AddTag: '#/components/schemas/AddTagContribution'
          AddToCatalog: '#/components/schemas/AddToCatalogContribution'
          AddUsesDataFrom: '#/components/schemas/AddUsesDataFromContribution'
          AddUsesDataset: '#/components/schemas/AddUsesDatasetContribution'
          CreateAnalysis: '#/components/schemas/CreateAnalysisContribution'
          CreateBusinessTerm: '#/components/schemas/CreateBusinessTermContribution'
          CreateCatalog: '#/components/schemas/CreateCatalogContribution'
          CreateCatalogResource: '#/components/schemas/CreateCatalogResourceContribution'
          CreateDataset: '#/components/schemas/CreateDatasetContribution'
          CreateExternalResource: '#/components/schemas/CreateExternalResourceContribution'
          CreateMissingDatasetAndLinkAnalysis: '#/components/schemas/CreateMissingDatasetAndLinkAnalysisContribution'
          CreateMissingDatasetAndLinkTable: '#/components/schemas/CreateMissingDatasetAndLinkTableContribution'
          ReferenceBusinessTerm: '#/components/schemas/ReferenceBusinessTermContribution'
          RemoveCustomIriProperty: '#/components/schemas/RemoveCustomIriPropertyContribution'
          RemoveCustomLiteralProperty: '#/components/schemas/RemoveCustomLiteralPropertyContribution'
          RemoveFromCatalog: '#/components/schemas/RemoveFromCatalogContribution'
          RemoveTag: '#/components/schemas/RemoveTagContribution'
          RemoveUsesDataFrom: '#/components/schemas/RemoveUsesDataFromContribution'
          RemoveUsesDataset: '#/components/schemas/RemoveUsesDatasetContribution'
          SetAssetStatus: '#/components/schemas/SetAssetStatusContribution'
          SetCustomIriProperty: '#/components/schemas/SetCustomIriPropertyContribution'
          SetCustomLiteralProperty: '#/components/schemas/SetCustomLiteralPropertyContribution'
          SetCustomStringProperty: '#/components/schemas/SetCustomStringPropertyContribution'
          SetDescription: '#/components/schemas/SetDescriptionContribution'
          SetLicense: '#/components/schemas/SetLicenseContribution'
          SetName: '#/components/schemas/SetNameContribution'
          SetSummary: '#/components/schemas/SetSummaryContribution'
          UnreferenceBusinessTerm: '#/components/schemas/UnreferenceBusinessTermContribution'
        propertyName: type
      properties:
        contributionHydratables:
          type: array
          items:
            $ref: '#/components/schemas/ContributionHydratable'
        type:
          type: string
          enum:
          - AddCustomIriProperty
          - AddCustomLiteralProperty
          - AddTag
          - AddToCatalog
          - AddUsesDataFrom
          - AddUsesDataset
          - CreateAnalysis
          - CreateBusinessTerm
          - CreateCatalog
          - CreateCatalogResource
          - CreateDataset
          - CreateExternalResource
          - CreateMissingDatasetAndLinkAnalysis
          - CreateMissingDatasetAndLinkTable
          - ReferenceBusinessTerm
          - RemoveCustomIriProperty
          - RemoveCustomLiteralProperty
          - RemoveFromCatalog
          - RemoveTag
          - RemoveUsesDataFrom
          - RemoveUsesDataset
          - SetAssetStatus
          - SetCustomIriProperty
          - SetCustomLiteralProperty
          - SetCustomStringProperty
          - SetDescription
          - SetLicense
          - SetName
          - SetSummary
          - UnreferenceBusinessTerm
      required:
      - type
    CatalogConceptHydrationDto:
      type: object
      properties:
        altLabel:
          type: string
        iri:
          type: string
        owner:
          type: string
        prefLabel:
          type: string
    PublicResourceRequestDto:
      type: object
      properties:
        approverParty:
          $ref: '#/components/schemas/PublicParty'
          description: The organization that can approve the request. Ignored in create request.
          oneOf:
          - $ref: '#/components/schemas/PublicUserParty'
          - $ref: '#/components/schemas/PublicGroupParty'
        contribution:
          $ref: '#/components/schemas/ContributionDto'
          description: Provides details on the contribution, if this is a contribution request.
        created:
          type: string
          format: date-time
        granteeOwner:
          type: string
          description: If this is a transfer request, this is the organization that will receive the resource. Otherwise, this is the same as approverParty.
        message:
          type: string
        requestId:
          type: string
          format: uuid
          description: A unique id of the request assigned by the service and returned in response thus must not be provided in create request.
        requesterParty:
          $ref: '#/components/schemas/PublicParty'
          description: The user that created this request. Ignored in create request.
          oneOf:
          - $ref: '#/components/schemas/PublicUserParty'
          - $ref: '#/components/schemas/PublicGroupParty'
        resource:
          $ref: '#/components/schemas/PublicResource'
          description: The resource that the request is created for. Only DATASET and METADATA_RESOURCE are allowed.
          oneOf:
          - $ref: '#/components/schemas/PublicDatasetResource'
          - $ref: '#/components/schemas/PublicMetadataResource'
        resourceRequestType:
          type: string
          description: The type of request
          enum:
          - CONTRIBUTION
          - TRANSFER
        transferAsset:
          $ref: '#/components/schemas/TransferAssetDto'
          description: Provides details on the transfer, if this is a transfer request.
        updated:
          type: string
          format: date-time
      required:
      - resource
      - resourceRequestType
  securitySchemes:
    bearerAuth:
      bearerFormat: JWT
      scheme: bearer
      type: http