Tearleads

GET/principals/{principalType}/{principalId}/policy/member-envelopes

Get the member envelopes of one principal state

Operation principals.policy.memberEnvelopes.get

Description

Returns every member envelope of one named, immutable state of a group or organization, so a client can check a historical member's committed key fingerprint against that state's memberEnvelopesRoot. It is served to the same callers as the policy read, authorized against the principal's live policy, which must verify against its signed state (409 otherwise), before the named state is looked up; a state the principal never had returns 404. A 202 asks the client to retry the identical request after policy history is prepared.

Authentication

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

Parameters

NameInTypeDetails
principalTypepathstringrequired
  • one of group, organization
principalIdpathstringrequired
  • lowercase UUID v4
stateHashquerystringrequired
  • exactly 64 characters
  • lowercase hexadecimal

Responses

200 OK

application/jsonCurrentPrincipalMemberEnvelopesResponse

Every member envelope of a principal's current key epoch.

5 fields
  • envelopeslist of PrincipalMemberEnvelopeResponserequired
  • epochintegerrequired
    • at least 1
  • principalIdstringrequired
  • principalTypestringrequired
    • one of group, organization
  • stateHashstringrequired

Other fields are allowed.

202 The attempted operation rolled back. Retry the identical request to continue verification preparation.

application/jsonPrincipalHistoryPreparationResponse

A 202: the operation rolled back while the server prepares principal history. Retry the identical request.

3 fields
  • codestringrequired
    • always principal_history_preparation_pending
  • committedbooleanrequired
    • always false
  • progressTokenstringrequired
    • exactly 64 characters
    • lowercase hexadecimal

    Changes when preparation advances; clients stop after three identical tokens in a row.

Other responses

StatusMeaningBody
400Bad Request

application/jsonErrorResponse

401Unauthorized

application/jsonSessionFailureResponse

403Forbidden

application/jsonErrorResponse

404Not Found

application/jsonErrorResponse

409Conflict

application/jsonErrorResponse

500Internal Server Error

application/jsonErrorResponse

503Service Unavailable

application/jsonErrorResponse