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