Tearleads

POST/containers/{containerId}/recite

Re-cite a held container's current ancestor path

Operation containers.recite

Description

Advances a container's access manifest so it cites its ancestors' current heads, without changing grants, keys, or parent. Clients call it after changing an ancestor so descendants they already hold stop citing superseded heads. Requires admin access; after 512 epochs the container no longer accepts re-citations.

Authentication

Requires a signed-in session: the client sends its session token as a bearer token in the Authorization header.

Parameters

NameInTypeDetails
containerIdpathstringrequired

Request body

application/jsonContainerReciteRequest

A signed container.recite that advances a container's manifest to cite its ancestors' current heads, changing nothing else.

7 fields
  • bodyany JSON valuerequired
  • eventobject with any fieldsrequired
  • expectedManifestHashstringrequired
    • not empty

    Hash of the manifest this re-citation derives.

  • manifestobject with any fieldsrequired
  • previousContainerPathRefslist of ContainerManifestRefrequired
    • 1 to 100 items

    The container's current path, from its root.

  • previousManifestRefContainerManifestRefrequired

    The container's current manifest head.

  • principalPolicyRefsPrincipalPolicyRefListrequired

    Heads of the principal policies the re-citation was planned against.

Other fields are allowed.

Responses

200 OK

application/jsonContainerReciteResponse

Acknowledges a re-citation by its event hash and new manifest head; keys are unchanged.

8 fields
  • containerIdstringrequired
  • createdAtstringrequired
  • eventHashstringrequired
    • not empty
  • manifestHeadobjectrequired
    2 fields
    • epochnumberrequired
    • manifestHashstringrequired

    Other fields are allowed.

  • organizationIdstringrequired
  • parentIdstringrequirednullable
  • systemSlotstringoptionalnullable
    • pattern ^sys_v1_[A-Za-z0-9_-]{43}$
  • updatedAtstringrequired

Other fields are allowed.

Other responses

StatusMeaningBody
400Bad Request

application/jsonErrorResponse

401Unauthorized

application/jsonSessionFailureResponse

402Payment Required

application/jsonPaymentRequiredErrorResponse

403Forbidden

application/jsonErrorResponse

404Not Found

application/jsonErrorResponse

409Conflict

application/jsonContainerMutationFailureResponse

500Internal Server Error

application/jsonErrorResponse

503Service Unavailable

application/jsonErrorResponse