Contract Intelligence

Add a member to a vault

Give someone a role in a vault. Name them by user_id or by email, exactly one of the two.

The person has to be a member of your organization already. An address that belongs to nobody in the organization returns 400 and nothing is sent, so this endpoint can never invite anyone or add a seat.

Adding someone who already holds a role returns their existing row unchanged, current role included. That keeps a repeated call from quietly demoting an owner to editor. To change a role, use PATCH /vaults/{id}/members/{userId}.

Requires the owner role in the vault and the organization-level permission to manage vaults.

Requires a user-scoped API key (u:gcai_...). A vault is shared with named people, so an organization-scoped key has no identity to resolve vault access with.

post/vaults/{id}/members

Request

Path parameters

idstring uuid required

The vault ID

Request body

user_idinteger

GC AI user ID of the person to add, as user_id from GET /vaults/{id}/members or id from GET /me. Send this or email.

emailstring email

Email address of the person to add. It has to belong to someone who is already a member of your organization. Send this or user_id.

role'owner' | 'editor' | 'viewer'

Role to grant. Defaults to editor.

Example request

{
  "email": "dana@example.com"
}

Response

The vault member

user_idinteger required

GC AI user ID of the member. This is the same identifier GET /me reports for the calling user, so a caller can pick their own row out of the list.

emailstring nullable required

Member email address, or null when the account has none on file.

namestring nullable required

Member display name, preferring the name they chose for themselves. Null when the account has no name on file.

role'owner' | 'editor' | 'viewer' | 'null' nullable required

The member's role in this vault: owner (manage members and settings), editor (add documents and edit extracted data), or viewer (read and annotate). Null on the rare stored value GC AI cannot read as a role. Such a grant carries no permissions at all, so remove it and add the person again.

added_atstring nullable required

ISO 8601 timestamp when the member was added, or null for grants written before GC AI recorded that.

Changes

No recorded changes to this operation across all 1 revision of this API.