---
title: "Attach a signature"
method: POST
path: "/invoices/{id}/signature"
tags: ["Invoices"]
---

# Attach a signature

`POST /invoices/{id}/signature`

## Request

- Base URL: `https://api.shopvox.com/v1`
- URL: `https://api.shopvox.com/v1/invoices/{id}/signature`
- Auth: API key in query parameter `account_id` and API key in query parameter `authToken`
- TypeScript: <https://skmtc.dev/shopvox/apis/shopvox-public-api/docs/invoices/:id/signature/post.ts> (a function with typed inputs; its response is checked against the schema)

**Plan: Paid API.**

## Request body `multipart/form-data`

- SignatureUpload
  - `name` string, required: Signer name.
  - `location` string
  - `file` string, binary, required: Signature image.

## Response `200`

Signed.

- Invoice: Single invoice with line items and signatures.
  - `id` string, uuid
  - `tags` NamedRef[]: Active tags of the record.
    - `id` string, uuid
    - `name` string
  - `name` string
  - `title` string
  - `txnNumber` string
  - `txnDate` string, date, nullable
  - `dueDate` string, date, nullable
  - `shippingDate` string, date, nullable
  - `createdAt` string, date-time
  - `updatedAt` string, date-time
  - `workflowState` string, nullable
  - `totalPriceWithTaxInDollars` number, nullable: Account currency.
  - `balanceInDollars` number, nullable: Account currency.
  - `totalPaymentsInDollars` number, nullable: Account currency.
  - `customerPoNumber` string, nullable
  - `customerPoDate` string, date, nullable
  - `changed` 'Yes' | 'No'
  - `accountingSyncDate` 'Yes' | 'No'
  - `lastNote` string, nullable
  - `pm` Party: A person reference (sales rep, PM, designer) with initials.
    - `id` string, uuid
    - `name` string, nullable
    - `initials` string, nullable
  - `projectManager` Party: A person reference (sales rep, PM, designer) with initials.
    - `id` string, uuid
    - `name` string, nullable
    - `initials` string, nullable
  - `designer` Party: A person reference (sales rep, PM, designer) with initials.
    - `id` string, uuid
    - `name` string, nullable
    - `initials` string, nullable
  - `primaryContact` ContactRef: Contact reference returned by some transactions (name, phone, id - no initials).
    - `id` string, uuid
    - `name` string, nullable
    - `phoneWithExt` string, nullable
  - `primarySalesRep` Party: A person reference (sales rep, PM, designer) with initials.
    - `id` string, uuid
    - `name` string, nullable
    - `initials` string, nullable
  - `company` NamedRef: Lightweight reference to a related record.
    - `id` string, uuid
    - `name` string
  - `divisionId` string, uuid, nullable
  - `division` object: Full division record (all columns), present only when the invoice has a division.
  - `lineItems` InvoiceLineItem[]
    - `id` string, uuid
    - `position` integer
    - `name` string, nullable
    - `description` string, nullable
    - `fullDescription` string, nullable
    - `quantity` number, nullable
    - `volumeDiscountPercent` number, nullable
    - `volumeDiscountInDollars` number, nullable
    - `rangeDiscountPercent` number, nullable
    - `rangeDiscountInDollars` number, nullable
    - `costInDollars` number, nullable: Account currency.
    - `suggestedPriceInDollars` number, nullable: Account currency.
    - `priceInDollars` number, nullable: Account currency.
    - `totalCostInDollars` number, nullable: Account currency.
    - `totalPriceInDollars` number, nullable: Account currency.
    - `totalTaxInDollars` number, nullable: Account currency.
    - `workflowState` string, nullable
    - `productId` string, uuid, nullable
    - `productType` string, nullable
    - `productName` string, nullable
    - `saleType` string, nullable
    - `taxable` boolean
    - `taxName` string, nullable
    - `taxRate` number, nullable
    - `priceOverride` boolean, nullable
    - `incomeCoaAccountId` string, uuid, nullable
    - `incomeAccountName` string, nullable
    - `cogCoaAccountId` string, uuid, nullable
    - `cogAccountName` string, nullable
    - `cogAccountNumber` string, nullable
    - `parentLineItemId` string, uuid, nullable
  - `signatures` Signature[]
    - `name` string
    - `location` string, nullable
    - `signatureUrl` string, nullable
    - `createdAt` string, date-time

## Other responses

- `422`: Unprocessable entity - field errors keyed by attribute.

## Changes

- **2026-11-10** `eb2f6524de94`: 1 info
  - added the optional property `tags` to the response with the `200` status

[Operation history](https://skmtc.dev/shopvox/apis/shopvox-public-api/changes/invoices/:id/signature/post.md)

---

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