Downloads

Stewardship API

The REST API is currently in Early Access Preview. The API specification and endpoints might change before being marked as stable.

We recommend testing thoroughly and being prepared to adapt to potential changes in future releases.

The Stewardship API allows you to programmatically read and change which group is responsible for your data assets. Stewardship is a configurable trait, so the API works with any entity type that carries it: catalog items, terms, sources, and custom entity types alike. To learn how stewardship and stewardship inheritance work in Ataccama ONE, see Stewardship.

Use this API to transfer asset ownership between teams, for example, during a reorganization, or to assign stewardship in bulk after importing metadata from external systems.

Stewardship is managed only through the endpoints described on this page. The create and update endpoints of the Catalog Items API, the Terms API, and the Sources API don’t accept stewardship fields.

Before using the Stewardship API, configure authentication as described in API Authentication.

API base URL

All Stewardship API endpoints are accessed through the following base URL:

https://{your-environment}.ataccama.one/api/catalog/v1

Replace {your-environment} with your environment identifier from the Ataccama Cloud Portal.

Retrieve effective stewardship

Effective stewardship is the stewardship that applies to an entity: either assigned directly to the entity or inherited from an ancestor, such as the source of a catalog item.

Effective stewardship is not returned by default. To retrieve it, add include=effectiveStewardship to the list and get endpoints of the Catalog Items API (including the filter endpoint), the Terms API, the Sources API, and the Generic Metadata Entities API:

curl -X GET "https://{your-environment}.ataccama.one/api/catalog/v1/sources/{urn}?include=effectiveStewardship" \
  -H "Authorization: Bearer {access_token}"

The response then contains the effectiveStewardship field:

{
  "urn": "urn:ata:{your-tenant}:catalog:source:28e3ca71-635b-43c4-9d1b-bc9cc642721f",
  "name": "Sales USA",
  "description": "Source system holding US sales records",
  "effectiveStewardship": {
    "groupUrn": "urn:ata:{your-tenant}:iam:group:7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "originUrn": "urn:ata:{your-tenant}:catalog:source:28e3ca71-635b-43c4-9d1b-bc9cc642721f"
  }
}

The field contains:

  • groupUrn: URN of the group that acts as the steward of the entity.

  • originUrn: URN of the entity the stewardship originates from. This is the entity itself when the stewardship is assigned directly to it, or the nearest ancestor that assigns one when the stewardship is inherited.

When the entity has no steward, assigned or inherited, the field is null.

Resolving effective stewardship takes additional processing time, so request it only when you need it.

Manage stewardship of an entity

Assign, transfer, or clear the stewardship of a single entity.

Request
curl -X POST "https://{your-environment}.ataccama.one/api/catalog/v1/stewardship/manage" \
  -H "Authorization: Bearer {access_token}" \
  -H "Content-Type: application/json" \
  -d '{
    "entityUrn": "urn:ata:{your-tenant}:catalog:catalog-item:fde84300-7a83-4d24-8c88-30ada80b0b54",
    "groupUrn": "urn:ata:{your-tenant}:iam:group:7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "previousStewardAccessLevel": "viewMetadata"
  }'
Request body fields
Field Type Required Description

entityUrn

string

Yes

URN of the entity whose stewardship is changed. Any entity type carrying the stewardship trait is accepted.

groupUrn

string or null

No

URN of the group that becomes the steward of the entity.

Set to null to clear the assigned stewardship, in which case the entity falls back to the stewardship inherited from its ancestors. Omit to leave the assigned stewardship unchanged.

previousStewardAccessLevel

string

No

Access level at which the entity is shared with the previous stewardship group so that it doesn’t lose access, for example, viewMetadata. Must be one of the access levels configured for the entity type in the metadata model. For details, see Access Levels.

When omitted, the previous stewardship group loses access.

Managing stewardship performs sharing, the same way as transferring stewardship in the web application:

  • The entity is shared with the new stewardship group.

  • The previous stewardship group keeps access only at the access level given in previousStewardAccessLevel.

  • Stewardship overrides are removed where needed.

The change is always published: it cannot be applied to a draft.

The response returns the stewardship of the entity after the change was applied:

Response example
{
  "entityUrn": "urn:ata:{your-tenant}:catalog:catalog-item:fde84300-7a83-4d24-8c88-30ada80b0b54",
  "effectiveStewardship": {
    "groupUrn": "urn:ata:{your-tenant}:iam:group:7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "originUrn": "urn:ata:{your-tenant}:catalog:catalog-item:fde84300-7a83-4d24-8c88-30ada80b0b54"
  }
}

When the assigned stewardship was cleared, effectiveStewardship contains the stewardship inherited from an ancestor, or null when no ancestor assigns one.

A request without groupUrn applies no change and simply returns the entity’s current effective stewardship.

Manage stewardship in batch

Change the stewardship of up to 100 entities in one call. Each item carries its own entity, group, and access level, so a single request can transfer different entities to different groups.

Each item accepts the same fields and behaves the same way as a single-entity request: the entity is shared with the new stewardship group, the previous stewardship group keeps access only at the given access level, and the change is published immediately. Each item can also include an optional id. The response returns the same id in the corresponding result so that you can match results to request items.

Request
curl -X POST "https://{your-environment}.ataccama.one/api/catalog/v1/stewardship/batch/manage" \
  -H "Authorization: Bearer {access_token}" \
  -H "Content-Type: application/json" \
  -d '{
    "data": [
      {
        "id": "item-1",
        "entityUrn": "urn:ata:{your-tenant}:catalog:catalog-item:fde84300-7a83-4d24-8c88-30ada80b0b54",
        "groupUrn": "urn:ata:{your-tenant}:iam:group:7c9e6679-7425-40de-944b-e07fc1f90ae7",
        "previousStewardAccessLevel": "viewMetadata"
      },
      {
        "id": "item-2",
        "entityUrn": "urn:ata:{your-tenant}:catalog:term:1ede1262-f76b-4d00-9929-e92c15d8a5ba",
        "groupUrn": "urn:ata:{your-tenant}:iam:group:7c9e6679-7425-40de-944b-e07fc1f90ae7"
      }
    ]
  }'
Request constraints
Constraint Description

Min items

One entity required.

Max items

100 entities per request.

Each item is processed independently: a failure on one item, for example, because the entity doesn’t exist or you don’t have access to it, doesn’t affect the other items.

The response returns the HTTP status code 207 Multi-Status with a meta summary (total, success, fail) and a results array in the same order as the request items. Each result reports its own status: OK when the stewardship change was applied. Any other value indicates failure and is accompanied by an error whose type matches the status, for example, RESOURCE_NOT_FOUND, STEWARDSHIP_NOT_SUPPORTED, or INVALID_ACCESS_LEVEL.

Response example
{
  "meta": {
    "total": 2,
    "success": 1,
    "fail": 1
  },
  "results": [
    {
      "id": "item-1",
      "status": "OK"
    },
    {
      "id": "item-2",
      "status": "RESOURCE_NOT_FOUND",
      "error": {
        "type": "RESOURCE_NOT_FOUND",
        "title": "Resource Not Found",
        "detail": "Entity with URN 'urn:ata:{your-tenant}:catalog:term:1ede1262-f76b-4d00-9929-e92c15d8a5ba' was not found"
      }
    }
  ]
}

Unlike the single-entity endpoint, the batch results don’t return the resulting effective stewardship. To verify the outcome, retrieve the entities with include=effectiveStewardship (see Retrieve effective stewardship).

Error handling

The API returns standard HTTP status codes and problem details for errors:

Status code Description

200 OK

Stewardship change applied.

207 Multi-Status

Batch request processed. Inspect meta and results for per-item outcomes.

400 Bad Request

Invalid request parameters or body.

403 Forbidden

Insufficient permissions to access the requested resource.

404 Not Found

Entity does not exist.

Error response example
{
  "type": "RESOURCE_NOT_FOUND",
  "title": "Resource Not Found",
  "detail": "Entity with URN 'urn:ata:{your-tenant}:catalog:catalog-item:fde84300-7a83-4d24-8c88-30ada80b0b54' was not found"
}

Next steps

Was this page useful?