---
title: "Send SAFEs for signature"
method: POST
path: "/safes/send"
tags: ["safe"]
---

# Send SAFEs for signature

`POST /safes/send`

## Request

- Base URL: `https://localhost:4410/api/v1`
- URL: `https://localhost:4410/api/v1/safes/send`
- Auth: HTTP bearer

Sends each SAFE in its own envelope through Sign: the investor signs first, then the company's signatory. An agent's batch waits for one approval, with each SAFE an item the person can untick, and nothing is emailed before. A SAFE whose facts are open, or that changed after the request, is refused.

## Request body

- object
  - `safes` object[], required
    - `safe_id` string, required
    - `version_id` string, required
  - `message` string

## Response `200`

The result.

- object
  - `safes` object[], required
    - `id` string, required
    - `round_id` string, required
    - `investor_id` string, required
    - `investor` string, required
    - `status` 'draft' | 'sent' | 'executed', required
    - `channel` 'generated' | 'counsel' | 'external' | 'imported', required
    - `form` 'cap' | 'discount' | 'mfn', required
    - `form_title` string, required
    - `amount` object, required
      - `cents` integer, required
      - `text` string, required
    - `amount_words` string, required
    - `cap` object, nullable, required
      - `cents` integer, required
      - `text` string, required
    - `discount_percent` number, nullable, required
    - `side_letter` boolean, required
    - `exemption` '506b' | '506c' | 'reg_s', required
    - `date_of_safe` string, date, required
    - `document_id` string, nullable, required
    - `version_id` string, nullable, required
    - `verbatim` object, nullable, required
      - `form` string, required
      - `version` string, required
      - `sha256` string, required
      - `canonical` boolean, required
      - `rendered` boolean, required
      - `failure` object, nullable, required
        - `where` string, required
        - `expected` string, required
        - `found` string, required
    - `highlights` object[], required
      - `page` integer, required
      - `x` number, required
      - `y` number, required
      - `width` number, required
      - `height` number, required
    - `envelope_id` string, nullable, required
    - `executed_at` string, date-time, nullable, required
    - `outside` string, nullable, required
    - `investor_signers` object[], required
      - `name` string, required
      - `email` string, required
      - `title` string, nullable, required
    - `sent_on` string, date, nullable, required
    - `imported` object, nullable, required
      - `source` 'yc_form' | 'docusign' | 'entered' | 'table' | 'ocf', required
      - `file` object, nullable, required
        - `name` string, required
        - `sha256` string, required
      - `table` object, nullable, required
        - `name` string, required
        - `sha256` string, required
        - `row` integer, required
      - `certificate` object, nullable, required
        - `name` string, required
        - `sha256` string, required
        - `envelope_id` string, nullable, required
        - `completed_at` string, date-time, nullable, required
      - `differences` integer, required
      - `read_by_ai` object, nullable, required
        - `model` string, required
    - `counsel_comparison` object, nullable, required
      - `form` string, required
      - `version` string, required
      - `matched` integer, required
      - `total` integer, required
      - `first_missing` string, nullable, required
    - `provenance` object[], required
      - `template_key` string, required
      - `title` string, required
      - `publisher` string, required
      - `source_url` string, required
      - `license` string, required
      - `source_version` string, required
      - `packaging_revision` integer, required
      - `source_sha256` string, required
      - `modifications` string, required
    - `notices` string[], required
    - `user_guide` string, required

## Other responses

- `202`: Called by an agent or an API key, so the call did not run. A person approves it at approval_url; then GET the Location.
- `default`: An RFC 9457 problem.

---

[API](https://skmtc.dev/binderwork/apis/binderwork-api.md) · [All operations](https://skmtc.dev/binderwork/apis/binderwork-api/llms.txt) · [OpenAPI document](https://skmtc.dev/binderwork/apis/binderwork-api/revisions/f8fab0ebee53?raw)
