caps.manager.signings, caps.manager.flows, etc.) and your location scope (which locations your manager employee memberships grant access to). Admin users bypass the location scope check and instead receive global access, capped at 500 rows per list response.
Check caps.manager or caps.admin in your session payload before calling these routes. The relevant tiers are documented on each endpoint below.
Organizations
List organizations
Returns all organizations in your scope. Managers see only organizations they have been granted access to through their role memberships. Admins see all organizations globally, capped at 500 rows.This endpoint is at
/v1/signing/organizations (not under /v1/signing/manager/). It uses the same session RBAC as other manager endpoints but is also accessible to admins.Response
Array of organization records in your scope.
Either
"managed" (manager, scoped to your employee memberships) or "global" (admin, all organizations).Error responses
| Status | Condition |
|---|---|
403 | No manager or admin row is linked to your Clerk user ID (caps.canListOrganizations is false). |
Companies
List companies
Returns companies visible to you, optionally filtered by organization. Managers see only companies belonging to their accessible organizations. Admins see all companies (capped at 500).This endpoint is at
/v1/signing/companies (not under /v1/signing/manager/).Numeric organization ID to filter by. If you are a manager and specify an organization you do not have access to, the request returns
403.Response
Array of company records.
"managed" or "global".Error responses
| Status | Condition |
|---|---|
400 | organizationId is not a valid numeric string. |
403 | No manager/admin identity, or the specified organizationId is outside your scope. |
Get one company
Returns a single company record. The company must be within your accessible scope.signings, templates, or flows at "read" or above, or admin.
Numeric company ID.
Response
The company record for the requested company.Error responses
| Status | Condition |
|---|---|
400 | companyId is not a valid numeric string. |
403 | Insufficient module access, or the company is outside your scope. |
404 | Company not found. |
Locations
List locations
Returns locations under your accessible companies, optionally filtered by company. Admins receive all locations globally (capped at 500). Results are ordered by name ascending.signings, templates, or flows at "read" or above, or admin.
Numeric company ID to filter by. Managers specifying a company outside their scope receive
403.Response
Array of location records.
"managed" or "global".Error responses
| Status | Condition |
|---|---|
400 | companyId is not a valid numeric string. |
403 | Insufficient module access, or the specified companyId is outside your scope. |
Get one location
Returns a single location record. The location’s parent company must be within your scope.signings, templates, or flows at "read" or above, or admin.
Numeric location ID.
Response
The location record for the requested location.Error responses
| Status | Condition |
|---|---|
400 | locationId is not a valid numeric string. |
403 | Insufficient module access, or the location’s company is outside your scope. |
404 | Location not found. |
Signing packages
List signing packages
Returns signing packages for the locations in your scope, ordered byupdatedAt descending. Managers can optionally filter to one location. Admins receive packages globally (capped at 500).
signings at "read" or above, or admin.
Numeric location ID to filter by. Managers specifying a location outside their scope receive
403.Response
Array of signing package records.
"managed" or "global".Error responses
| Status | Condition |
|---|---|
400 | locationId is not a valid numeric string. |
403 | signings tier is "none", or the specified locationId is outside your scope. |
Get one signing package
Returns a single signing package record. The package’s location must be in your scope.signings at "read" or above, or admin.
Numeric signing package ID.
Response
The signing package record for the requested package.Error responses
| Status | Condition |
|---|---|
400 | signingId is not a valid numeric string. |
403 | Insufficient tier, or the package’s location is outside your scope. |
404 | Signing package not found. |
List documents in a package
Returns all documents in the package, ordered byposition ascending then id ascending, capped at 500.
signings at "read" or above, or admin.
Numeric signing package ID.
Response
Array of document records for this package.
Error responses
| Status | Condition |
|---|---|
400 | Invalid signingId. |
403 | Insufficient tier, or the package’s location is outside your scope. |
404 | Signing package not found. |
List signers in a package
Returns the roster of signer records for the package, ordered by signer number ascending, capped at 200.signings at "read" or above, or admin.
Numeric signing package ID.
Response
Array of signer records for this package.
Error responses
| Status | Condition |
|---|---|
400 | Invalid signingId. |
403 | Insufficient tier, or the package’s location is outside your scope. |
404 | Signing package not found. |
Create a signing package
Creates a new signing package indraft status at the specified location. The package has no documents or signers attached at creation time; those are added through subsequent operations.
signings at "write" or above, or admin.
Numeric ID of the location where this package is being created. You must have access to this location.
Numeric ID of the signing flow to associate with this package. The flow must belong to the same location as
locationId—a mismatch returns 400.A free-text note for this package. Maximum 4000 characters. Leading and trailing whitespace is trimmed before storage.
Response
The newly created signing package record withstatus: "draft".
Error responses
| Status | Condition |
|---|---|
400 | Invalid body (see message), or flowId does not belong to the same location as locationId. |
403 | Insufficient tier, or the specified locationId is outside your scope. |
404 | flowId does not exist. |
Cancel a signing package
Sets the package’sstatus to "cancelled" and optionally records a cancellation reason. The package’s location must be in your scope.
signings at "write" or above, or admin.
Numeric signing package ID.
Human-readable reason for cancellation. Maximum 2000 characters. Stored in the
message field on the signing row. If omitted, the existing message value is preserved, or "Cancelled by manager." is set as a default.Response
The updated signing package record with
status: "cancelled".Error responses
| Status | Condition |
|---|---|
400 | Invalid signingId or malformed request body. |
403 | Insufficient tier, or the package’s location is outside your scope. |
404 | Signing package not found. |
409 | The package is already cancelled. |
Resend signing notifications
Triggers re-delivery of signer notifications for this package. The package’s location must be in your scope.signings at "write" or above, or admin.
Numeric signing package ID.
Response
true when the resend job was successfully enqueued.The result returned by the integration queue after enqueuing the job.
Error responses
| Status | Condition |
|---|---|
400 | Invalid signingId. |
403 | Insufficient tier, or the package’s location is outside your scope. |
404 | Signing package not found. |
