Call these from an API user with shares or organisation (and signatures for envelopes). Recipients never present this token. If they did, they would be you.
Download limits belong to the organisation
GET /v1/organisations/share-policy · PUT /v1/organisations/share-policy
If you omit max_downloads on a new share, Casewelt uses the organisation default (one, unless you raised it). You cannot exceed the organisation ceiling. Codes you may see: share_policy_invalid, max_downloads_exceeds_org_policy.
POST Create an external share
/v1/shares
shares
The response includes a public URL for the recipient door, and the one-time code. By default the code is not in the same email as the link. otp_required and watermark are required for external shares; omitting them fails closed. List with GET /v1/shares?file_id=.
{
"workspace_id": "…",
"file_id": "…",
"version_id": "…",
"notify_email": "jordan@example.com",
"otp_required": true,
"watermark_required": true,
"ttl_amount": 14,
"ttl_unit": "day",
"max_downloads": 1,
"note": "Board pack — version you approved.",
"include_otp_in_email": false,
"scheduled_send_at": null
}
{
"share_id": "…",
"public_url": "https://share.casewelt.com/…",
"otp": "482913",
"otp_delivered": false,
"send_status": "sent",
"expires_at": "2026-09-20T00:00:00Z"
}
POST Revoke
/v1/shares/{id}/revoke
Ends the share and any viewer sessions already open. A later open is refused and recorded. You do not rotate staff passwords to achieve this.
{ "status": "share_revoked", "share_id": "…", "viewer_sessions_revoked": 2 }
Internal shares
GET /v1/internal-shares · POST /v1/internal-shares
A colleague or a group, still inside the organisation. No public door, no watermark for staff. Authorisation is still checked. List colleagues for a workspace with GET /v1/internal-shares/colleagues?workspace_id=.
POST Signature envelope
/v1/signature-envelopes
signatures
{
"workspace_id": "…",
"file_id": "…",
"version_id": "…",
"signers": [
{ "email": "counsel@example.com", "name": "Jordan A." }
]
}
List with GET /v1/signature-envelopes. Read one for status, certificate, final document and evidence. Standard versus qualified is an entitlement on the organisation, not a flag you invent. When the allowance is used up, create fails with a usage error rather than sending a half-ceremony.
When create is refused
| Code | Meaning |
policy_denied | This file must not leave. The caller is still authenticated. |
otp_required_for_external_share | The product will not emit an unmarked public copy. |
watermark_required_for_external_share | Same: public copy must be marked. |
external_share_disabled | Organisation policy has closed that door. |
deny | This principal may not share this file. |