Skip to main content

Recipients API

Base URL: https://api.torvussecurity.com/v1

Manage vault recipients who will receive access when the vault releases.


List Recipients

GET /vaults/{vault_id}/recipients

Get all recipients for a vault.

Example Request

curl -X GET https://api.torvussecurity.com/v1/vaults/vault_abc123/recipients \
-H "Authorization: Bearer your_api_key"

Success Response (200 OK)

{
"data": [
{
"id": "recipient_xyz789",
"email": "john@example.com",
"name": "John Doe",
"status": "verified",
"added_at": "2025-10-01T10:00:00Z",
"verified_at": "2025-10-01T10:30:00Z",
"access_granted": false,
"vault_id": "vault_abc123"
},
{
"id": "recipient_abc456",
"email": "jane@example.com",
"name": "Jane Smith",
"status": "pending",
"added_at": "2025-10-05T14:00:00Z",
"verified_at": null,
"access_granted": false,
"vault_id": "vault_abc123"
}
],
"pagination": {
"total": 2
}
}

Add Recipient

POST /vaults/{vault_id}/recipients

Add a new recipient to a vault.

Request Body

{
"email": "recipient@example.com",
"name": "Recipient Name",
"send_notification": true
}

Parameters:

FieldTypeRequiredDescription
emailstringYesRecipient email address
namestringNoRecipient name
send_notificationbooleanNoSend verification email (default: true)

Example Request

curl -X POST https://api.torvussecurity.com/v1/vaults/vault_abc123/recipients \
-H "Authorization: Bearer your_api_key" \
-H "Content-Type: application/json" \
-d '{
"email": "newrecipient@example.com",
"name": "New Recipient",
"send_notification": true
}'

Success Response (201 Created)

{
"id": "recipient_new123",
"email": "newrecipient@example.com",
"name": "New Recipient",
"status": "pending",
"added_at": "2025-10-08T15:30:00Z",
"verified_at": null,
"access_granted": false,
"vault_id": "vault_abc123",
"verification_sent": true
}

Error Responses

Status CodeErrorDescription
400Bad RequestInvalid email address
401UnauthorizedMissing or invalid API key
402Payment RequiredRecipient limit reached
403ForbiddenNo permission to add recipients
409ConflictRecipient already exists
422Unprocessable EntityVault already released

Get Recipient

GET /recipients/{recipient_id}

Get recipient details.

Example Request

curl -X GET https://api.torvussecurity.com/v1/recipients/recipient_xyz789 \
-H "Authorization: Bearer your_api_key"

Success Response (200 OK)

{
"id": "recipient_xyz789",
"email": "john@example.com",
"name": "John Doe",
"status": "verified",
"added_at": "2025-10-01T10:00:00Z",
"verified_at": "2025-10-01T10:30:00Z",
"access_granted": false,
"last_access": null,
"vault_id": "vault_abc123",
"metadata": {
"ip_address": "192.168.1.1",
"user_agent": "Mozilla/5.0..."
}
}

Update Recipient

PATCH /recipients/{recipient_id}

Update recipient information.

Request Body

{
"name": "Updated Name"
}

Success Response (200 OK)

{
"id": "recipient_xyz789",
"email": "john@example.com",
"name": "Updated Name",
"status": "verified",
"updated_at": "2025-10-08T16:00:00Z"
}

Remove Recipient

DELETE /recipients/{recipient_id}

Remove a recipient from the vault.

Example Request

curl -X DELETE https://api.torvussecurity.com/v1/recipients/recipient_xyz789 \
-H "Authorization: Bearer your_api_key"

Success Response (204 No Content)

No response body.


Resend Verification

POST /recipients/{recipient_id}/resend-verification

Resend verification email to unverified recipient.

Example Request

curl -X POST https://api.torvussecurity.com/v1/recipients/recipient_abc456/resend-verification \
-H "Authorization: Bearer your_api_key"

Success Response (200 OK)

{
"id": "recipient_abc456",
"email": "jane@example.com",
"verification_sent": true,
"sent_at": "2025-10-08T16:15:00Z"
}

Rate Limits

EndpointRate Limit
GET /vaults/{id}/recipients100/minute
POST /vaults/{id}/recipients20/minute
DELETE /recipients/{id}20/minute

Last Updated: October 8, 2025