Skip to content

Catalog management

Catalogs are defined per tenant. They serve as containers and access unit for publications.

As of November 2020 only simple access management is available; there are 2 types of catalogs:

  • Public: Publications are visible to all cloud users
  • Intra-tenant: Publications are visible only within the user's tenant.

Endpoints

Endpints works in the scope of current tenant.

GET/api/sharing/catalog/list

  • List all ctalaogs for the tenant.

POST/api/sharing/catalog

  • Create a new catalog
  • Body content
    {
      "name": "string",
      "catalogType": "Public|IntraTenant"
    }
    

Publications

Publisher creates publication for dataset or for a whole folder and makes it discoverable by other parties. This step may require subscription to adhere to an approval process (TBD).

Endpoints

Endpoints works in the scope of current tenant.

GET/api/sharing/publication/list

  • List all subscriptions for the tenant.

POST/api/sharing/publication

  • Create new subscription.
  • Body content
    {
      "name": "string",
      "description": "string",
      "location": GeoJson,
      "metadata": {
        "additionalProp1": {},
        "additionalProp2": {}
      },
      "properties": {
        "additionalProp1": {},
        "additionalProp2": {}
      },
      "resourceId": <id of the dataset or folder>,
      "catalogId": <id of the catalg?>,
      "resourceType": "Dataset|Folder",
      "discoverable": bool,
      "subscriptionMode": "Open",
      "publishedUntil": <valid date> //optional
    }
    

GET/api/sharing/publication/{id}

  • Get publication with id {id}.

DELETE/api/sharing/publication/{id}

  • Delete publication with id {id}.

PUT/api/sharing/publication/

  • Update publication.
  • Only Id and updatable properties are exposed by the contract.
  • The update is performed as full replacement of properties. So clients must populate the request with existing properties unless they want the properties to change.
  • For example, Metadata property will be fully replaced by the Metadata property in the request.
  • RowVersion bytes must be provided. Requests with RowVersion different from RowVersion in the database will fail and publication will not be updated.

GET/api/sharing/publication/{id}/subscription/list

  • Get all subscriptions of publication with id {id}.
  • Response is cursor paginated.