Register a signer on a Safe
Register an additional address as a signer on this Safe smart wallet. The address is recorded straight away and the addition is then carried out on chain, so this returns before the signer can actually sign.
Follow the signer-status link and read signer_status until it settles: active means the address is now an owner of the Safe, failed means the addition will not happen and signer_error_code says why. Anything else means it is still running.
This must be the account’s primary Safe — registering a signer on any other Safe the account holds is refused. The Safe must already be deployed and must require a single signature. An address that is already one of the account’s own wallets is refused, and an address that is already a signer here is re-registered rather than duplicated. Registering the same address twice while the first attempt is still running does not start a second one.
Authorizations
Personal access token issued to the Sumvin CLI. Send it in the x-sumvin-pat header to authenticate as the owning user.
Headers
Tenant org ID for multi-tenant auth
Controls how timestamp fields are serialized in JSON response bodies.
Default (header omitted or any other value): epoch milliseconds as integers.
iso8601: UTC ISO 8601 strings of the form YYYY-MM-DDTHH:MM:SSZ.
Example: with X-Timestamp-Format: iso8601, the field value 1704067200000 becomes "2024-01-01T00:00:00Z".
Affected fields (recursively, in dicts and arrays): any field whose name ends in _at, plus the literal field names timestamp, period_start, and period_end. All other fields are passed through unchanged.
Only iso8601 is recognized. Any other value (or omitting the header) yields the default epoch-ms representation; the server does not reject unknown values, so this is documented as an example rather than an enum to keep generated clients permissive.
"iso8601"
Path Parameters
Body
Request payload for registering an additional signer on a Safe.
Address to register as a signer on the Safe. Must be an address the caller controls the key for — it is not verified here, and it will be able to authorise actions on the Safe once registered. Accepted in either checksummed or lowercase form.
42^0x[0-9a-fA-F]{40}$"0x742d35Cc6634C0532925a3b844Bc9e7595f2bD78"
Response
Registration recorded and the owner addition queued. Follow the signer-status link for the outcome.
An accepted request to register an additional signer on a Safe.
Returned before the owner addition has been attempted on chain, so the only
settled fact here is that the registration was recorded. id is the wallet
resource the registered address now has — reading it back is how a client
learns whether the addition landed.
HAL-style hypermedia links for navigation.
Public identifier of the registered address's wallet record. Read it at GET /v0/wallets/{id} to follow the registration.
The address being registered, in lowercase.
Chain the Safe is deployed on.
State of the registration at the moment it was accepted. Always pending here; the settled value appears on the wallet resource.
pending, active, failed