---
title: "Add Safe Owner"
method: POST
path: "/api/v1/owners"
tags: ["Safe Management"]
---

# Add Safe Owner

`POST /api/v1/owners`

Adds a new owner to the user's Safe account.

The signature should be generated by signing the transaction data obtained from
the `/api/v1/owners/add/transaction-data` endpoint.

The operation is processed through a delay relay mechanism that executes after 3 minutes.

## Request body

- object
  - `newOwner` string, required — The address to add as a new Safe owner.
  - `signature` string, required — The wallet signature authorizing this operation.
  - `message` object, required — The message object containing transaction data and salt.
    - `salt` string, required — The salt value used in the EIP-712 typed data.
    - `data` string, required — The encoded transaction data from the typed data message.
  - `smartWalletAddress` string — Optional. If using a smart account, the address of the smart wallet to use for the operation.

## Response `200`

Successfully submitted the add owner request.

- object
  - `data` DelayTransaction, required
    - `id` string — Unique identifier for the delayed transaction.
    - `safeAddress` string — The Safe contract address associated with the transaction.
    - `transactionData` string — Data payload of the transaction.
    - `enqueueTaskId` string — Identifier of the task that enqueued this transaction.
    - `dispatchTaskId` string, nullable — Identifier of the task responsible for dispatching this transaction.
    - `readyAt` string, date-time, nullable — Timestamp indicating when the transaction is ready for processing.
    - `operationType` 'CALL' | 'DELEGATECALL' — Type of operation being performed.
    - `userId` string — Identifier of the user associated with the transaction.
    - `status` 'QUEUING' | 'WAITING' | 'EXECUTING' | 'EXECUTED' | 'FAILED' — Current status of the transaction.
    - `createdAt` string, date-time — Timestamp of when the transaction was created.

## Other responses

- `401` — Unauthorized - invalid or missing authentication token.
- `404` — Safe account not found for the user.
- `422` — Unprocessable Entity - validation errors in request body.
- `500` — Internal server error.

---

[API](https://skmtc.net/gnosispay/apis/gnosispay-api.md) · [All operations](https://skmtc.net/gnosispay/apis/gnosispay-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/gnosispay/gnosispay-api/revisions/e0a09962c187/schema)
