---
title: "Sign a company form"
method: PUT
path: "/v1/forms/{form_id}/sign"
tags: ["Company Forms"]
---

# Sign a company form

`PUT /v1/forms/{form_id}/sign`

Sign a company form. Company forms must be signed by the company signatory.

scope: `company_forms:sign`

## Path parameters

- `form_id` string, required

## Headers

- `X-Gusto-API-Version` '2026-06-15'
- `x-gusto-client-ip` string

## Request body

- object
  - `signature_text` string, required — The signature
  - `agree` boolean, required — Whether you agree to sign electronically
  - `signed_by_ip_address` string — The IP address of the signatory who signed the form. Both IPv4 AND IPv6 are supported. You must provide the IP address with either this parameter OR you can leave out this parameter and set the IP address in the request header using the `x-gusto-client-ip` header instead.

## Response `200`

Success

- Form
  - `uuid` string, required — The UUID of the form
  - `employee_uuid` string — The UUID of the employee to which the form belongs, if applicable.
  - `name` string — The type identifier of the form
  - `title` string — The title of the form
  - `description` string — The description of the form
  - `draft` boolean — If the form is in a draft state. E.g. End of year tax forms may be provided in a draft state prior to being finalized.
  - `year` integer, nullable — The year of this form. For some forms, e.g. tax forms, this is the year which the form represents. A W2 for January - December 2022 would be delivered in January 2023 and have a year value of 2022. This value is nullable and will not be present on all forms.
  - `quarter` integer, nullable — The quarter of this form. For some forms, e.g. tax forms, this is the calendar quarter which this form represents. An Employer's Quarterly Federal Tax Return (Form 941) for April, May, June 2022 would have a quarter value of 2 (and a year value of 2022). This value is nullable and will not be present on all forms.
  - `requires_signing` boolean — A boolean flag that indicates whether the form needs signing or not. Note that this value will change after the form is signed.
  - `document_content_type` string, nullable — The content type of the associated document. Most forms are PDFs with a content type of `application/pdf`. Some tax file packages will be zip files (containing PDFs) with a content type of `application/zip`. This attribute will be `null` when the document has not been prepared.

## Other responses

- `404` — Not Found The requested resource does not exist. Make sure the provided UUID is valid.
- `422` — Unprocessable Entity This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details.

---

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