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 catalog resources API version: '0' description: Manage relationships between catalog resources servers: - url: /v0 security: - bearerAuth: [] tags: - name: catalog resources paths: /metadata/resources/bulk/property/{owner}: patch: description: Delete properties from a maximum of 25 resources of any type in the organization at once. To delete properties from a single resource, use "Delete properties from a resource". operationId: bulkDeleteProperty parameters: - description: 'User name and unique identifier of the user or organization a resource belongs to. For example, in the URL: https://acme.data.world/jonloyens/an-intro-to-dataworld-dataset, jonloyens is the unique identifier of the owner. ' in: path name: owner required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/BulkDeletePropertyRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/CatalogResourceBulkResponse' description: default response summary: 'Bulk: delete properties from resources' tags: - catalog resources /metadata/resources/bulk/{owner}: patch: description: Update a maximum of 25 resources of any type in the organization at once. To create one resource at a time, use "Create a new resource". Also, see the aforementioned endpoint for further update behaviors. operationId: bulkUpdate parameters: - description: 'User name and unique identifier of the user or organization a resource belongs to. For example, in the URL: https://acme.data.world/jonloyens/an-intro-to-dataworld-dataset, jonloyens is the unique identifier of the owner. ' in: path name: owner required: true schema: type: string - description: Set this option when updating properties that supports having a list of values. Given a list of values in the request body, should this request add to the existing list, remove the specified values, or replace the existing list with the specified values? in: query name: updateListBy required: true schema: type: string default: ADD enum: - ADD - REMOVE - REPLACE requestBody: content: application/json: schema: $ref: '#/components/schemas/CatalogResourceBulkRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/CatalogResourceBulkResponse' description: default response summary: 'Bulk: update multiple resources at once' tags: - catalog resources post: description: Create a maximum of 25 resources of any type in the organization at once. The resources are created with the provided properties. To create one resource at a time, use "Create a new resource". operationId: bulkCreate parameters: - description: 'User name and unique identifier of the user or organization a resource belongs to. For example, in the URL: https://acme.data.world/jonloyens/an-intro-to-dataworld-dataset, jonloyens is the unique identifier of the owner. ' in: path name: owner required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CatalogResourceBulkCreateRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/CatalogResourceBulkResponse' description: default response summary: 'Bulk: create multiple resources at once' tags: - catalog resources /metadata/resources/property/{owner}: delete: description: 'Delete properties from a resource of any type in the organization. To update properties, use "Update a resource". To delete properties from multiple resources at once, use "Bulk: delete properties from resources".' operationId: deleteProperty parameters: - description: 'User name and unique identifier of the user or organization a resource belongs to. For example, in the URL: https://acme.data.world/jonloyens/an-intro-to-dataworld-dataset, jonloyens is the unique identifier of the owner. ' in: path name: owner required: true schema: type: string - description: Internationalized Resource Identifier (IRI) of the resource. You can find the IRI in the Technical Reference section under the Settings tab on the resource’s catalog page. in: query name: iri required: true schema: type: string - description: Property is identified by its IRI in: query name: property required: true schema: type: array items: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/CatalogResourceResponse' description: default response summary: Delete properties from a resource tags: - catalog resources /metadata/resources/search: post: description: Search for resources in the organization. See request body for filtering options. To paginate through results, use "from" and "size" query parameters. To return more details about the resources, see "hydration" query parameter. operationId: searchResources parameters: - description: Size of page to fetch in: query name: size schema: type: integer format: int32 default: 10 maximum: 1000 - description: Result number to start fetch from (not the page number to start from) in: query name: from schema: type: integer format: int32 default: 0 - description: Sort results by fields in: query name: sort schema: type: array items: type: string - description: Return additional information about the resource. For example, if the resource is in a collection, the collection IRI will be returned by default. If hydration is enabled, the collection's title and description will also be returned. in: query name: hydration schema: type: array items: type: string enum: - agent - catalog - catalogConcept - properties - resourceHierarchy uniqueItems: true requestBody: content: application/json: schema: $ref: '#/components/schemas/OrgScopedSearchRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGenericResultsOrgScopedSearchedResourceDto' description: default response summary: Search for resources tags: - catalog resources /metadata/resources/{owner}: delete: description: Delete a resource of any type in the organization. operationId: delete parameters: - description: 'User name and unique identifier of the user or organization a resource belongs to. For example, in the URL: https://acme.data.world/jonloyens/an-intro-to-dataworld-dataset, jonloyens is the unique identifier of the owner. ' in: path name: owner required: true schema: type: string - description: Internationalized Resource Identifier (IRI) of the resource. You can find the IRI in the Technical Reference section under the Settings tab on the resource’s catalog page. in: query name: iri required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/SuccessMessage' description: default response summary: Delete a resource tags: - catalog resources get: description: Return details about a resource of any type in the organization. See "hydrations" query parameter for options to return even more details. operationId: getResourceByIRI parameters: - description: 'User name and unique identifier of the user or organization a resource belongs to. For example, in the URL: https://acme.data.world/jonloyens/an-intro-to-dataworld-dataset, jonloyens is the unique identifier of the owner. ' in: path name: owner required: true schema: type: string - description: Internationalized Resource Identifier (IRI) of the resource. You can find the IRI in the Technical Reference section under the Settings tab on the resource’s catalog page. in: query name: iri required: true schema: type: string - description: Return additional information about the resource. For example, if the resource is in a collection, the collection IRI will be returned by default. If hydration is enabled, the collection's title and description will also be returned. in: query name: hydrations schema: type: boolean default: false responses: '200': content: application/json: schema: $ref: '#/components/schemas/CatalogResourceGetResponse' description: default response summary: Get a resource tags: - catalog resources patch: description: 'Update a resource of any type in the organization. Properties that are not defined in the request are not updated. When updating properties that have a single value, the old value is replaced by the new value in the request. When updating properties that have a list of values, see "updateListBy" query parameter for more granular controls. To delete properties, use "Delete properties from a resource". To update multiple resources at once, use "Bulk: update multiple resources at once".' operationId: update parameters: - description: 'User name and unique identifier of the user or organization a resource belongs to. For example, in the URL: https://acme.data.world/jonloyens/an-intro-to-dataworld-dataset, jonloyens is the unique identifier of the owner. ' in: path name: owner required: true schema: type: string - description: Internationalized Resource Identifier (IRI) of the resource. You can find the IRI in the Technical Reference section under the Settings tab on the resource’s catalog page. in: query name: iri required: true schema: type: string - description: Set this option when updating properties that supports having a list of values. Given a list of values in the request body, should this request add to the existing list, remove the specified values, or replace the existing list with the specified values? in: query name: updateListBy required: true schema: type: string default: ADD enum: - ADD - REMOVE - REPLACE requestBody: content: application/json: schema: $ref: '#/components/schemas/CatalogResourceRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/CatalogResourceResponse' description: default response summary: Update a resource tags: - catalog resources post: description: 'Create a new resource of any type in the organization. The resource is created with the provided properties. To create multiple resources at once, use "Bulk: create multiple resources at once".' operationId: create parameters: - description: 'User name and unique identifier of the user or organization a resource belongs to. For example, in the URL: https://acme.data.world/jonloyens/an-intro-to-dataworld-dataset, jonloyens is the unique identifier of the owner. ' in: path name: owner required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CatalogResourceCreateRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/CatalogResourceResponse' description: default response summary: Create a new resource tags: - catalog resources /metadata/{owner}/resources/clear: post: description: This is an advanced operation and should be used with caution. The data.world catalog graph relies on a layered model that keeps the content from collected source systems separate from edits made by end users on the platform. This allows the collected source system data to update regularly withoutoverwriting enrichment and curation efforts that are authored on data.world. Sometimes, however, it is desirable to overwrite the end user edits or let the source system metadata replace user edits. This endpoint can be used to clear all end user edits for a given metadata resource or list of resources, restoring the source system values. operationId: clearMetadataResource parameters: - in: path name: owner required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ClearResourcesRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/SuccessMessage' description: default response summary: Clear all user edits from a resource tags: - catalog resources /metadata/{owner}/resources/properties/clear: put: description: This is an advanced operation and should be used with caution. The data.world catalog graph relies on a layered model that keeps the content from collected source systems separate from edits made by end users on the platform. This allows the collected source system data to update regularly without overwriting enrichment and curation efforts that are authored on data.world. Sometimes, however, it is desirable to overwrite the end user edits or let the source system metadata replace user edits. This endpoint can be used to clear a specific user-edited metadata field, restoring the source system values. operationId: clearMetadataResourceProperties parameters: - in: path name: owner required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ClearResourcePropertiesRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/SuccessMessage' description: default response summary: Clear all user edits on specified properties from a resource tags: - catalog resources 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 PaginatedGenericResultsOrgScopedSearchedResourceDto: 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/OrgScopedSearchedResourceDto' 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' CatalogResourceBulkCreateRequest: type: object properties: resources: type: array description: A list of resources to create items: $ref: '#/components/schemas/CatalogResourceCreateRequest' maxItems: 25 minItems: 1 CatalogResourceRequest: type: object properties: collections: type: array description: Collections, identified by IRI, that this resource is added into. Required when creating a resource. Available collections can be discovered using "Search for resources" endpoint. items: type: string properties: type: object additionalProperties: $ref: '#/components/schemas/StringOrArray' description: Create/update any property that is associated with a metadata presentation. Key is the IRI of the property. Value is the intended value of the property. example: "\"{\n \"https://democorpprofile.linked.data.world/d/ddw-catalogs/domain_expert\": \"Sample Name\",\n \"https://democorpprofile.linked.data.world/d/ddw-catalogs/geographies_available\": [\n \"https://democorpprofile.linked.data.world/d/ddw-catalogs/geography_europe\",\n \"https://democorpprofile.linked.data.world/d/ddw-catalogs/geography_asia\" ]\n}\"\n" title: type: string description: Title of the resource. Required when creating a resource. maxLength: 120 minLength: 1 CatalogResourceBulkRequest: type: object properties: resources: type: object additionalProperties: $ref: '#/components/schemas/CatalogResourceRequest' description: A map of resource IRI to properties to update CatalogResourceGetResponse: type: object properties: hydrations: $ref: '#/components/schemas/PubSearchHydrations' resource: $ref: '#/components/schemas/CatalogResourceResponse' 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 BasicResource: type: object properties: iri: type: string format: uri description: IRI of the resource url: type: string format: uri description: A URL that redirects to the resource's page on data.world required: - iri - url 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 ClearResourcesRequest: type: object properties: resourceType: type: string description: Type iri of specified metadata resources minLength: 1 resources: type: array description: List of metadata resource iris items: type: string minItems: 1 required: - resourceType - resources 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 ClearResourcePropertiesRequest: type: object properties: properties: type: array description: Properties of the specified metadata resource items: type: string minItems: 1 resource: type: string description: A metadata resource minLength: 1 resourceType: type: string description: Type iri of specified metadata resource minLength: 1 required: - properties - resource - resourceType CatalogResourceBulkResponse: type: object properties: resources: type: array description: Resources that were updated items: $ref: '#/components/schemas/BasicResource' 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 StringOrArray: oneOf: - type: string - type: array items: type: string HostedImage: allOf: - $ref: '#/components/schemas/Image' - type: object properties: type: type: string const: hosted url: type: string BulkDeletePropertyRequest: type: object properties: resources: type: object additionalProperties: type: array items: type: string description: A map of resource IRI to property IRIs to delete 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 OrgScopedSearchedResourceDto: type: object properties: category: type: string created: type: string format: date-time creator: type: string 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 tableId: type: string tableIri: type: string title: type: string updated: type: string format: date-time updatedBy: type: string required: - category - id - owner OrgScopedSearchRequest: type: object properties: assetStatus: type: array description: Filter by asset status label. items: type: string 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: string description: 'User name and unique identifier of the user or organization a resource belongs to. For example, in the URL: https://acme.data.world/jonloyens/an-intro-to-dataworld-dataset, jonloyens is the unique identifier of the owner.' 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. required: - owner ProvidedImage: allOf: - $ref: '#/components/schemas/Image' - type: object properties: slug: type: string type: type: string const: provided 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 SuccessMessage: type: object properties: message: type: string maxLength: 256 minLength: 0 CatalogResourceResponse: type: object properties: collections: type: array description: Collections that the resource is a part of items: type: string format: uri iri: type: string format: uri description: IRI of the resource 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. sourceId: type: string description: Database of the resource (applies only to tables and columns) tableId: type: string description: Table id of the resource (applies only to columns) tableIri: type: string description: Table IRI of the resource (applies only to columns) title: type: string description: Title of the resource types: type: array description: Type of the resource items: type: string format: uri url: type: string format: uri description: A URL that redirects to the resource's page on data.world CatalogResourceCreateRequest: type: object properties: collections: type: array description: Collections, identified by IRI, that this resource is added into. Required when creating a resource. Available collections can be discovered using "Search for resources" endpoint. items: type: string iri: type: string description: Optional IRI of the resource. If not provided, an IRI will be generated. properties: type: object additionalProperties: $ref: '#/components/schemas/StringOrArray' description: Create/update any property that is associated with a metadata presentation. Key is the IRI of the property. Value is the intended value of the property. example: "\"{\n \"https://democorpprofile.linked.data.world/d/ddw-catalogs/domain_expert\": \"Sample Name\",\n \"https://democorpprofile.linked.data.world/d/ddw-catalogs/geographies_available\": [\n \"https://democorpprofile.linked.data.world/d/ddw-catalogs/geography_europe\",\n \"https://democorpprofile.linked.data.world/d/ddw-catalogs/geography_asia\" ]\n}\"\n" title: type: string description: Title of the resource. Required when creating a resource. maxLength: 120 minLength: 1 type: type: string description: IRI of the type of the resource required: - type securitySchemes: bearerAuth: bearerFormat: JWT scheme: bearer type: http