# Update a W-2

PUT## /api/v8/partner/w2s/:document_id

Veryfi's Update a Document by ID endpoint allows you to change a Document that Veryfi's Machine Learning models have already processed. This feature will enable users to update Documents previously processed by Veryfi to ensure data extraction accuracy. Updating a Document is especially useful for correcting mistakes and updating information over time. By changing a processed Document, Veryfi's Machine Learning models can re-learn the updated information, allowing them to stay accurate and up-to-date.

## Request

### Path Parameters

**document_id**int64required

The unique identifier of the document.

### Query Parameters

**external_id**string

## Responses

- 200
- 400
- 404
- 429
- 499
- 503
- 504
- default

A processed W-2 response.

- application/json

- Schema
- Example (from schema)

**Schema**

- W2ResponseDetailed
- Array [
- MOD1
- MOD2
- ]
- Array [
- MOD1
- MOD2
- ]
- Array [
- MOD1
- MOD2
- ]
- Array [
- MOD1
- MOD2
- ]
- Array [
- MOD1
- MOD2
- ]
- Array [
- MOD1
- MOD2
- ]
- Array [
- MOD1
- MOD2
- ]
- Array [
- MOD1
- MOD2
- ]
- Array [
- MOD1
- MOD2
- ]
- Array [
- MOD1
- MOD2
- ]
- Array [
- MOD1
- MOD2
- ]
- Array [
- MOD1
- MOD2
- ]
- Array [
- MOD1
- MOD2
- ]
- Array [
- MOD1
- MOD2
- ]
- Array [
- MOD1
- MOD2
- ]
- Array [
- MOD1
- MOD2
- ]
- Array [
- MOD1
- MOD2
- ]
- Array [
- MOD1
- MOD2
- ]
- Array [
- MOD1
- MOD2
- ]
- Array [
- MOD1
- MOD2
- ]
- Array [
- MOD1
- MOD2
- ]
- Array [
- MOD1
- MOD2
- ]
- Array [
- MOD1
- MOD2
- ]
- Array [
- MOD1
- MOD2
- ]
- Array [
- MOD1
- MOD2
- ]
- Array [
- MOD1
- MOD2
- ]
- Array [
- MOD1
- MOD2
- ]
- Array [
- MOD1
- MOD2
- ]
- Array [
- MOD1
- MOD2
- ]
- Array [
- MOD1
- MOD2
- ]
- Array [
- MOD1
- MOD2
- ]
- Array [
- MOD1
- MOD2
- ]
- Array [
- MOD1
- MOD2
- ]
- Array [
- MOD1
- MOD2
- ]
- Array [
- MOD1
- MOD2
- ]
- Array [
- MOD1
- MOD2
- ]
- Array [
- Array [
- MOD1
- MOD2
- ]
- Array [
- MOD1
- MOD2
- ]
- Array [
- MOD1
- MOD2
- ]
- Array [
- MOD1
- MOD2
- ]
- Array [
- MOD1
- MOD2
- ]
- Array [
- MOD1
- MOD2
- ]
- Array [
- MOD1
- MOD2
- ]
- ]
- Array [
- Array [
- MOD1
- MOD2
- ]
- Array [
- MOD1
- MOD2
- ]
- ]

**pdf_url**uri

**Possible values:** `non-empty`

and `<= 2083 characters`

A signed URL to access the auto-generated PDF created from the submitted document. This URL expires 15 minutes after the response object is returned and is resigned during every GET request.

**id**integerrequired

The unique number created to identify the document.

**external_id**string

**Possible values:** `non-empty`

A custom identification value. Use this if you would like to assign your own ID to documents. This parameter is useful when mapping this document to a service or resource outside Veryfi.

**created_date**date-timerequired

**updated_date**date-timerequired

**img_thumbnail_url**uri

**Possible values:** `non-empty`

and `<= 2083 characters`

A signed URL to access the auto-generated thumbnail created for the submitted document. This URL expires 15 minutes after the response object is returned and is resigned during every GET request.

**advance_eic_payment** objectrequired

The total amount of any Earned Income Credit (EIC) payment found in Box 9 of the W-2.

**bounding_region**number[]

**Possible values:** `>= 8`

, `<= 8`

`An array containing (x,y) coordinates in the format `

[x1,y1,x2,y2,x3,y3,x4,y4]` for skewed images and handwritten fields. The bounding region is more precise than bounding box, otherwise it's the same.

**bounding_box** object[]

**Possible values:** `>= 5`

, `<= 5`

An array containing relative coordinates in the format `[page_number,x1,y1,x2,y2]`

for the extracted field from `img_url`

before any rotation.

number

integer

**ocr_score**number

**Possible values:** `<= 1`

The score which shows how confident the model in recognizing `value`

symbols. See confidence scores explained for more information.

**score**number

**Possible values:** `<= 1`

The score shows how confident the model is that the predicted `value`

belongs to the field. See confidence scores explained for more information.

**rotation**integer

**Possible values:** [`0`

, `90`

, `180`

, `270`

]

The angle of rotation of the document in degrees.

**value**numberrequired

**employee_ssn** objectrequired

The Social Security Number (SSN) found in Box A of the W-2.

**bounding_region**number[]

**Possible values:** `>= 8`

, `<= 8`

`An array containing (x,y) coordinates in the format `

[x1,y1,x2,y2,x3,y3,x4,y4]` for skewed images and handwritten fields. The bounding region is more precise than bounding box, otherwise it's the same.

**bounding_box** object[]

**Possible values:** `>= 5`

, `<= 5`

An array containing relative coordinates in the format `[page_number,x1,y1,x2,y2]`

for the extracted field from `img_url`

before any rotation.

number

integer

**ocr_score**number

**Possible values:** `<= 1`

The score which shows how confident the model in recognizing `value`

symbols. See confidence scores explained for more information.

**score**number

**Possible values:** `<= 1`

The score shows how confident the model is that the predicted `value`

belongs to the field. See confidence scores explained for more information.

**rotation**integer

**Possible values:** [`0`

, `90`

, `180`

, `270`

]

The angle of rotation of the document in degrees.

**value**stringrequired

**Possible values:** `non-empty`

The extracted value.

**ein** objectrequired

The Employer Identification Number (EIN) found in Box B of the W-2.

**bounding_region**number[]

**Possible values:** `>= 8`

, `<= 8`

`An array containing (x,y) coordinates in the format `

[x1,y1,x2,y2,x3,y3,x4,y4]` for skewed images and handwritten fields. The bounding region is more precise than bounding box, otherwise it's the same.

**bounding_box** object[]

**Possible values:** `>= 5`

, `<= 5`

An array containing relative coordinates in the format `[page_number,x1,y1,x2,y2]`

for the extracted field from `img_url`

before any rotation.

number

integer

**ocr_score**number

**Possible values:** `<= 1`

The score which shows how confident the model in recognizing `value`

symbols. See confidence scores explained for more information.

**score**number

**Possible values:** `<= 1`

The score shows how confident the model is that the predicted `value`

belongs to the field. See confidence scores explained for more information.

**rotation**integer

**Possible values:** [`0`

, `90`

, `180`

, `270`

]

The angle of rotation of the document in degrees.

**value**stringrequired

**Possible values:** `non-empty`

The extracted value.

**employer_name** objectrequired

The employer name found in Box C of the W-2.

**bounding_region**number[]

**Possible values:** `>= 8`

, `<= 8`

`An array containing (x,y) coordinates in the format `

[x1,y1,x2,y2,x3,y3,x4,y4]` for skewed images and handwritten fields. The bounding region is more precise than bounding box, otherwise it's the same.

**bounding_box** object[]

**Possible values:** `>= 5`

, `<= 5`

`[page_number,x1,y1,x2,y2]`

for the extracted field from `img_url`

before any rotation.

number

integer

**ocr_score**number

**Possible values:** `<= 1`

`value`

symbols. See confidence scores explained for more information.

**score**number

**Possible values:** `<= 1`

`value`

belongs to the field. See confidence scores explained for more information.

**rotation**integer

**Possible values:** [`0`

, `90`

, `180`

, `270`

]

The angle of rotation of the document in degrees.

**value**stringrequired

**Possible values:** `non-empty`

The extracted value.

**employer_address** objectrequired

The employer address found in Box C of the W-2.

**bounding_region**number[]

**Possible values:** `>= 8`

, `<= 8`

`An array containing (x,y) coordinates in the format `

[x1,y1,x2,y2,x3,y3,x4,y4]` for skewed images and handwritten fields. The bounding region is more precise than bounding box, otherwise it's the same.

**bounding_box** object[]

**Possible values:** `>= 5`

, `<= 5`

`[page_number,x1,y1,x2,y2]`

for the extracted field from `img_url`

before any rotation.

number

integer

**ocr_score**number

**Possible values:** `<= 1`

`value`

symbols. See confidence scores explained for more information.

**score**number

**Possible values:** `<= 1`

`value`

belongs to the field. See confidence scores explained for more information.

**rotation**integer

**Possible values:** [`0`

, `90`

, `180`

, `270`

]

The angle of rotation of the document in degrees.

**value**stringrequired

**Possible values:** `non-empty`

The extracted value.

**control_number** objectrequired

The control number found in Box D of the W-2.

**bounding_region**number[]

**Possible values:** `>= 8`

, `<= 8`

`An array containing (x,y) coordinates in the format `

[x1,y1,x2,y2,x3,y3,x4,y4]` for skewed images and handwritten fields. The bounding region is more precise than bounding box, otherwise it's the same.

**bounding_box** object[]

**Possible values:** `>= 5`

, `<= 5`

`[page_number,x1,y1,x2,y2]`

for the extracted field from `img_url`

before any rotation.

number

integer

**ocr_score**number

**Possible values:** `<= 1`

`value`

symbols. See confidence scores explained for more information.

**score**number

**Possible values:** `<= 1`

`value`

belongs to the field. See confidence scores explained for more information.

**rotation**integer

**Possible values:** [`0`

, `90`

, `180`

, `270`

]

The angle of rotation of the document in degrees.

**value**stringrequired

**Possible values:** `non-empty`

The extracted value.

**employee_name** objectrequired

The full name of the employee found in Box E of the W-2.

**bounding_region**number[]

**Possible values:** `>= 8`

, `<= 8`

`An array containing (x,y) coordinates in the format `

[x1,y1,x2,y2,x3,y3,x4,y4]` for skewed images and handwritten fields. The bounding region is more precise than bounding box, otherwise it's the same.

**bounding_box** object[]

**Possible values:** `>= 5`

, `<= 5`

`[page_number,x1,y1,x2,y2]`

for the extracted field from `img_url`

before any rotation.

number

integer

**ocr_score**number

**Possible values:** `<= 1`

`value`

symbols. See confidence scores explained for more information.

**score**number

**Possible values:** `<= 1`

`value`

belongs to the field. See confidence scores explained for more information.

**rotation**integer

**Possible values:** [`0`

, `90`

, `180`

, `270`

]

The angle of rotation of the document in degrees.

**value**stringrequired

**Possible values:** `non-empty`

The extracted value.

**employee_address** objectrequired

The address of the employee found in Box F of the W-2.

**bounding_region**number[]

**Possible values:** `>= 8`

, `<= 8`

`An array containing (x,y) coordinates in the format `

[x1,y1,x2,y2,x3,y3,x4,y4]` for skewed images and handwritten fields. The bounding region is more precise than bounding box, otherwise it's the same.

**bounding_box** object[]

**Possible values:** `>= 5`

, `<= 5`

`[page_number,x1,y1,x2,y2]`

for the extracted field from `img_url`

before any rotation.

number

integer

**ocr_score**number

**Possible values:** `<= 1`

`value`

symbols. See confidence scores explained for more information.

**score**number

**Possible values:** `<= 1`

`value`

belongs to the field. See confidence scores explained for more information.

**rotation**integer

**Possible values:** [`0`

, `90`

, `180`

, `270`

]

The angle of rotation of the document in degrees.

**value**stringrequired

**Possible values:** `non-empty`

The extracted value.

**wages_other_comps** objectrequired

The total taxable income paid found in Box 1 of the W-2.

**bounding_region**number[]

**Possible values:** `>= 8`

, `<= 8`

`An array containing (x,y) coordinates in the format `

[x1,y1,x2,y2,x3,y3,x4,y4]` for skewed images and handwritten fields. The bounding region is more precise than bounding box, otherwise it's the same.

**bounding_box** object[]

**Possible values:** `>= 5`

, `<= 5`

`[page_number,x1,y1,x2,y2]`

for the extracted field from `img_url`

before any rotation.

number

integer

**ocr_score**number

**Possible values:** `<= 1`

`value`

symbols. See confidence scores explained for more information.

**score**number

**Possible values:** `<= 1`

`value`

belongs to the field. See confidence scores explained for more information.

**rotation**integer

**Possible values:** [`0`

, `90`

, `180`

, `270`

]

The angle of rotation of the document in degrees.

**value**numberrequired

**federal_income_tax** objectrequired

The total amount of federal income tax withheld found in Box of the W-2.

**bounding_region**number[]

**Possible values:** `>= 8`

, `<= 8`

`An array containing (x,y) coordinates in the format `

[x1,y1,x2,y2,x3,y3,x4,y4]` for skewed images and handwritten fields. The bounding region is more precise than bounding box, otherwise it's the same.

**bounding_box** object[]

**Possible values:** `>= 5`

, `<= 5`

`[page_number,x1,y1,x2,y2]`

for the extracted field from `img_url`

before any rotation.

number

integer

**ocr_score**number

**Possible values:** `<= 1`

`value`

symbols. See confidence scores explained for more information.

**score**number

**Possible values:** `<= 1`

`value`

belongs to the field. See confidence scores explained for more information.

**rotation**integer

**Possible values:** [`0`

, `90`

, `180`

, `270`

]

The angle of rotation of the document in degrees.

**value**numberrequired

**ss_wages** objectrequired

The total wages subject to social security tax found in Box 3 of the W-2.

**bounding_region**number[]

**Possible values:** `>= 8`

, `<= 8`

`An array containing (x,y) coordinates in the format `

[x1,y1,x2,y2,x3,y3,x4,y4]` for skewed images and handwritten fields. The bounding region is more precise than bounding box, otherwise it's the same.

**bounding_box** object[]

**Possible values:** `>= 5`

, `<= 5`

`[page_number,x1,y1,x2,y2]`

for the extracted field from `img_url`

before any rotation.

number

integer

**ocr_score**number

**Possible values:** `<= 1`

`value`

symbols. See confidence scores explained for more information.

**score**number

**Possible values:** `<= 1`

`value`

belongs to the field. See confidence scores explained for more information.

**rotation**integer

**Possible values:** [`0`

, `90`

, `180`

, `270`

]

The angle of rotation of the document in degrees.

**value**numberrequired

**ss_tax** objectrequired

The amount of social security tax withheld found in Box 4 of the W-2.

**bounding_region**number[]

**Possible values:** `>= 8`

, `<= 8`

`An array containing (x,y) coordinates in the format `

[x1,y1,x2,y2,x3,y3,x4,y4]` for skewed images and handwritten fields. The bounding region is more precise than bounding box, otherwise it's the same.

**bounding_box** object[]

**Possible values:** `>= 5`

, `<= 5`

`[page_number,x1,y1,x2,y2]`

for the extracted field from `img_url`

before any rotation.

number

integer

**ocr_score**number

**Possible values:** `<= 1`

`value`

symbols. See confidence scores explained for more information.

**score**number

**Possible values:** `<= 1`

`value`

belongs to the field. See confidence scores explained for more information.

**rotation**integer

**Possible values:** [`0`

, `90`

, `180`

, `270`

]

The angle of rotation of the document in degrees.

**value**numberrequired

**medicare_wages** objectrequired

The total wages, tips and other compensation that are subject to Medicare taxes found in Box 5 of the W-2.

**bounding_region**number[]

**Possible values:** `>= 8`

, `<= 8`

`An array containing (x,y) coordinates in the format `

[x1,y1,x2,y2,x3,y3,x4,y4]` for skewed images and handwritten fields. The bounding region is more precise than bounding box, otherwise it's the same.

**bounding_box** object[]

**Possible values:** `>= 5`

, `<= 5`

`[page_number,x1,y1,x2,y2]`

for the extracted field from `img_url`

before any rotation.

number

integer

**ocr_score**number

**Possible values:** `<= 1`

`value`

symbols. See confidence scores explained for more information.

**score**number

**Possible values:** `<= 1`

`value`

belongs to the field. See confidence scores explained for more information.

**rotation**integer

**Possible values:** [`0`

, `90`

, `180`

, `270`

]

The angle of rotation of the document in degrees.

**value**numberrequired

**medicare_tax** objectrequired

The amount of Medicare tax withheld from your Medicare taxable wages, tips and other compensation found in Box 6 of the W-2.

**bounding_region**number[]

**Possible values:** `>= 8`

, `<= 8`

`An array containing (x,y) coordinates in the format `

[x1,y1,x2,y2,x3,y3,x4,y4]` for skewed images and handwritten fields. The bounding region is more precise than bounding box, otherwise it's the same.

**bounding_box** object[]

**Possible values:** `>= 5`

, `<= 5`

`[page_number,x1,y1,x2,y2]`

for the extracted field from `img_url`

before any rotation.

number

integer

**ocr_score**number

**Possible values:** `<= 1`

`value`

symbols. See confidence scores explained for more information.

**score**number

**Possible values:** `<= 1`

`value`

belongs to the field. See confidence scores explained for more information.

**rotation**integer

**Possible values:** [`0`

, `90`

, `180`

, `270`

]

The angle of rotation of the document in degrees.

**value**numberrequired

**ss_tips** objectrequired

The amount of earned money through tips found in Box 7 of the W-2.

**bounding_region**number[]

**Possible values:** `>= 8`

, `<= 8`

`An array containing (x,y) coordinates in the format `

[x1,y1,x2,y2,x3,y3,x4,y4]` for skewed images and handwritten fields. The bounding region is more precise than bounding box, otherwise it's the same.

**bounding_box** object[]

**Possible values:** `>= 5`

, `<= 5`

`[page_number,x1,y1,x2,y2]`

for the extracted field from `img_url`

before any rotation.

number

integer

**ocr_score**number

**Possible values:** `<= 1`

`value`

symbols. See confidence scores explained for more information.

**score**number

**Possible values:** `<= 1`

`value`

belongs to the field. See confidence scores explained for more information.

**rotation**integer

**Possible values:** [`0`

, `90`

, `180`

, `270`

]

The angle of rotation of the document in degrees.

**value**numberrequired

**allocated_tips** objectrequired

The amount the employer allocated to tips found in Box 8 of the W-2.

**bounding_region**number[]

**Possible values:** `>= 8`

, `<= 8`

`An array containing (x,y) coordinates in the format `

[x1,y1,x2,y2,x3,y3,x4,y4]` for skewed images and handwritten fields. The bounding region is more precise than bounding box, otherwise it's the same.

**bounding_box** object[]

**Possible values:** `>= 5`

, `<= 5`

`[page_number,x1,y1,x2,y2]`

for the extracted field from `img_url`

before any rotation.

number

integer

**ocr_score**number

**Possible values:** `<= 1`

`value`

symbols. See confidence scores explained for more information.

**score**number

**Possible values:** `<= 1`

`value`

belongs to the field. See confidence scores explained for more information.

**rotation**integer

**Possible values:** [`0`

, `90`

, `180`

, `270`

]

The angle of rotation of the document in degrees.

**value**numberrequired

**dependent_care_benefits** objectrequired

The amount the employer provided or paid for dependent care benefits found in Box 10 of the W-2.

**bounding_region**number[]

**Possible values:** `>= 8`

, `<= 8`

`An array containing (x,y) coordinates in the format `

[x1,y1,x2,y2,x3,y3,x4,y4]` for skewed images and handwritten fields. The bounding region is more precise than bounding box, otherwise it's the same.

**bounding_box** object[]

**Possible values:** `>= 5`

, `<= 5`

`[page_number,x1,y1,x2,y2]`

for the extracted field from `img_url`

before any rotation.

number

integer

**ocr_score**number

**Possible values:** `<= 1`

`value`

symbols. See confidence scores explained for more information.

**score**number

**Possible values:** `<= 1`

`value`

belongs to the field. See confidence scores explained for more information.

**rotation**integer

**Possible values:** [`0`

, `90`

, `180`

, `270`

]

The angle of rotation of the document in degrees.

**value**numberrequired

**non_qualified_plans** objectrequired

The amount of retirement savings the employer sponsored and is tax deferred found in Box 11 of the W-2.

**bounding_region**number[]

**Possible values:** `>= 8`

, `<= 8`

`An array containing (x,y) coordinates in the format `

[x1,y1,x2,y2,x3,y3,x4,y4]` for skewed images and handwritten fields. The bounding region is more precise than bounding box, otherwise it's the same.

**bounding_box** object[]

**Possible values:** `>= 5`

, `<= 5`

`[page_number,x1,y1,x2,y2]`

for the extracted field from `img_url`

before any rotation.

number

integer

**ocr_score**number

**Possible values:** `<= 1`

`value`

symbols. See confidence scores explained for more information.

**score**number

**Possible values:** `<= 1`

`value`

belongs to the field. See confidence scores explained for more information.

**rotation**integer

**Possible values:** [`0`

, `90`

, `180`

, `270`

]

The angle of rotation of the document in degrees.

**value**numberrequired

**state** objectrequired

The two-letter code representing the state found in Box 15 of the W-2. For example, California would be `CA`

.

**bounding_region**number[]

**Possible values:** `>= 8`

, `<= 8`

`An array containing (x,y) coordinates in the format `

[x1,y1,x2,y2,x3,y3,x4,y4]` for skewed images and handwritten fields. The bounding region is more precise than bounding box, otherwise it's the same.

**bounding_box** object[]

**Possible values:** `>= 5`

, `<= 5`

`[page_number,x1,y1,x2,y2]`

for the extracted field from `img_url`

before any rotation.

number

integer

**ocr_score**number

**Possible values:** `<= 1`

`value`

symbols. See confidence scores explained for more information.

**score**number

**Possible values:** `<= 1`

`value`

belongs to the field. See confidence scores explained for more information.

**rotation**integer

**Possible values:** [`0`

, `90`

, `180`

, `270`

]

The angle of rotation of the document in degrees.

**value**stringrequired

**Possible values:** `non-empty`

The extracted value.

**employer_state_id** objectrequired

The employer identification number found in Box 15 of the W-2.

**bounding_region**number[]

**Possible values:** `>= 8`

, `<= 8`

`An array containing (x,y) coordinates in the format `

[x1,y1,x2,y2,x3,y3,x4,y4]` for skewed images and handwritten fields. The bounding region is more precise than bounding box, otherwise it's the same.

**bounding_box** object[]

**Possible values:** `>= 5`

, `<= 5`

`[page_number,x1,y1,x2,y2]`

for the extracted field from `img_url`

before any rotation.

number

integer

**ocr_score**number

**Possible values:** `<= 1`

`value`

symbols. See confidence scores explained for more information.

**score**number

**Possible values:** `<= 1`

`value`

belongs to the field. See confidence scores explained for more information.

**rotation**integer

**Possible values:** [`0`

, `90`

, `180`

, `270`

]

The angle of rotation of the document in degrees.

**value**stringrequired

**Possible values:** `non-empty`

The extracted value.

**state_wages_tips** objectrequired

The employer identification number found in Box 15 of the W-2.

**bounding_region**number[]

**Possible values:** `>= 8`

, `<= 8`

`An array containing (x,y) coordinates in the format `

[x1,y1,x2,y2,x3,y3,x4,y4]` for skewed images and handwritten fields. The bounding region is more precise than bounding box, otherwise it's the same.

**bounding_box** object[]

**Possible values:** `>= 5`

, `<= 5`

`[page_number,x1,y1,x2,y2]`

for the extracted field from `img_url`

before any rotation.

number

integer

**ocr_score**number

**Possible values:** `<= 1`

`value`

symbols. See confidence scores explained for more information.

**score**number

**Possible values:** `<= 1`

`value`

belongs to the field. See confidence scores explained for more information.

**rotation**integer

**Possible values:** [`0`

, `90`

, `180`

, `270`

]

The angle of rotation of the document in degrees.

**value**numberrequired

**state_income_tax** objectrequired

The total state income taxes that were withheld found in Box 17 of the W-2.

**bounding_region**number[]

**Possible values:** `>= 8`

, `<= 8`

`An array containing (x,y) coordinates in the format `

[x1,y1,x2,y2,x3,y3,x4,y4]` for skewed images and handwritten fields. The bounding region is more precise than bounding box, otherwise it's the same.

**bounding_box** object[]

**Possible values:** `>= 5`

, `<= 5`

`[page_number,x1,y1,x2,y2]`

for the extracted field from `img_url`

before any rotation.

number

integer

**ocr_score**number

**Possible values:** `<= 1`

`value`

symbols. See confidence scores explained for more information.

**score**number

**Possible values:** `<= 1`

`value`

belongs to the field. See confidence scores explained for more information.

**rotation**integer

**Possible values:** [`0`

, `90`

, `180`

, `270`

]

The angle of rotation of the document in degrees.

**value**numberrequired

**local_wages_tips** objectrequired

The total local taxable gross pay found in Box 18 of the W-2.

**bounding_region**number[]

**Possible values:** `>= 8`

, `<= 8`

`An array containing (x,y) coordinates in the format `

[x1,y1,x2,y2,x3,y3,x4,y4]` for skewed images and handwritten fields. The bounding region is more precise than bounding box, otherwise it's the same.

**bounding_box** object[]

**Possible values:** `>= 5`

, `<= 5`

`[page_number,x1,y1,x2,y2]`

for the extracted field from `img_url`

before any rotation.

number

integer

**ocr_score**number

**Possible values:** `<= 1`

`value`

symbols. See confidence scores explained for more information.

**score**number

**Possible values:** `<= 1`

`value`

belongs to the field. See confidence scores explained for more information.

**rotation**integer

**Possible values:** [`0`

, `90`

, `180`

, `270`

]

The angle of rotation of the document in degrees.

**value**numberrequired

**local_income_tax** objectrequired

The total local income tax withheld found in Box 19 of the W-2.

**bounding_region**number[]

**Possible values:** `>= 8`

, `<= 8`

`An array containing (x,y) coordinates in the format `

[x1,y1,x2,y2,x3,y3,x4,y4]` for skewed images and handwritten fields. The bounding region is more precise than bounding box, otherwise it's the same.

**bounding_box** object[]

**Possible values:** `>= 5`

, `<= 5`

`[page_number,x1,y1,x2,y2]`

for the extracted field from `img_url`

before any rotation.

number

integer

**ocr_score**number

**Possible values:** `<= 1`

`value`

symbols. See confidence scores explained for more information.

**score**number

**Possible values:** `<= 1`

`value`

belongs to the field. See confidence scores explained for more information.

**rotation**integer

**Possible values:** [`0`

, `90`

, `180`

, `270`

]

The angle of rotation of the document in degrees.

**value**numberrequired

**locality_name** objectrequired

The locality name found in Box 20 of the W-2.

**bounding_region**number[]

**Possible values:** `>= 8`

, `<= 8`

`An array containing (x,y) coordinates in the format `

[x1,y1,x2,y2,x3,y3,x4,y4]` for skewed images and handwritten fields. The bounding region is more precise than bounding box, otherwise it's the same.

**bounding_box** object[]

**Possible values:** `>= 5`

, `<= 5`

`[page_number,x1,y1,x2,y2]`

for the extracted field from `img_url`

before any rotation.

number

integer

**ocr_score**number

**Possible values:** `<= 1`

`value`

symbols. See confidence scores explained for more information.

**score**number

**Possible values:** `<= 1`

`value`

belongs to the field. See confidence scores explained for more information.

**rotation**integer

**Possible values:** [`0`

, `90`

, `180`

, `270`

]

The angle of rotation of the document in degrees.

**value**stringrequired

**Possible values:** `non-empty`

The extracted value.

**field_12a_col1** objectrequired

The name of another type of compensation or reduction to taxable income found in Box 12 of the W-2. For example, health savings account contributions, group life insurance, 403(b) contributions, and more.

**bounding_region**number[]

**Possible values:** `>= 8`

, `<= 8`

`An array containing (x,y) coordinates in the format `

[x1,y1,x2,y2,x3,y3,x4,y4]` for skewed images and handwritten fields. The bounding region is more precise than bounding box, otherwise it's the same.

**bounding_box** object[]

**Possible values:** `>= 5`

, `<= 5`

`[page_number,x1,y1,x2,y2]`

for the extracted field from `img_url`

before any rotation.

number

integer

**ocr_score**number

**Possible values:** `<= 1`

`value`

symbols. See confidence scores explained for more information.

**score**number

**Possible values:** `<= 1`

`value`

belongs to the field. See confidence scores explained for more information.

**rotation**integer

**Possible values:** [`0`

, `90`

, `180`

, `270`

]

The angle of rotation of the document in degrees.

**value**stringrequired

**Possible values:** `non-empty`

The extracted value.

**field_12a_col2** objectrequired

The amount for other types of compensations or reduction to taxable income found in Box 12 of the W-2.

**bounding_region**number[]

**Possible values:** `>= 8`

, `<= 8`

`An array containing (x,y) coordinates in the format `

[x1,y1,x2,y2,x3,y3,x4,y4]` for skewed images and handwritten fields. The bounding region is more precise than bounding box, otherwise it's the same.

**bounding_box** object[]

**Possible values:** `>= 5`

, `<= 5`

`[page_number,x1,y1,x2,y2]`

for the extracted field from `img_url`

before any rotation.

number

integer

**ocr_score**number

**Possible values:** `<= 1`

`value`

symbols. See confidence scores explained for more information.

**score**number

**Possible values:** `<= 1`

`value`

belongs to the field. See confidence scores explained for more information.

**rotation**integer

**Possible values:** [`0`

, `90`

, `180`

, `270`

]

The angle of rotation of the document in degrees.

**value**numberrequired

**field_12b_col1** objectrequired

The name of another type of compensation or reduction to taxable income found in Box 12 of the W-2. For example, health savings account contributions, group life insurance, 403(b) contributions, and more.

**bounding_region**number[]

**Possible values:** `>= 8`

, `<= 8`

`An array containing (x,y) coordinates in the format `

[x1,y1,x2,y2,x3,y3,x4,y4]` for skewed images and handwritten fields. The bounding region is more precise than bounding box, otherwise it's the same.

**bounding_box** object[]

**Possible values:** `>= 5`

, `<= 5`

`[page_number,x1,y1,x2,y2]`

for the extracted field from `img_url`

before any rotation.

number

integer

**ocr_score**number

**Possible values:** `<= 1`

`value`

symbols. See confidence scores explained for more information.

**score**number

**Possible values:** `<= 1`

`value`

belongs to the field. See confidence scores explained for more information.

**rotation**integer

**Possible values:** [`0`

, `90`

, `180`

, `270`

]

The angle of rotation of the document in degrees.

**value**stringrequired

**Possible values:** `non-empty`

The extracted value.

**field_12b_col2** objectrequired

The amount for other types of compensations or reduction to taxable income found in Box 12 of the W-2.

**bounding_region**number[]

**Possible values:** `>= 8`

, `<= 8`

`An array containing (x,y) coordinates in the format `

[x1,y1,x2,y2,x3,y3,x4,y4]` for skewed images and handwritten fields. The bounding region is more precise than bounding box, otherwise it's the same.

**bounding_box** object[]

**Possible values:** `>= 5`

, `<= 5`

`[page_number,x1,y1,x2,y2]`

for the extracted field from `img_url`

before any rotation.

number

integer

**ocr_score**number

**Possible values:** `<= 1`

`value`

symbols. See confidence scores explained for more information.

**score**number

**Possible values:** `<= 1`

`value`

belongs to the field. See confidence scores explained for more information.

**rotation**integer

**Possible values:** [`0`

, `90`

, `180`

, `270`

]

The angle of rotation of the document in degrees.

**value**numberrequired

**field_12c_col1** objectrequired

The name of another type of compensation or reduction to taxable income found in Box 12 of the W-2. For example, health savings account contributions, group life insurance, 403(b) contributions, and more.

**bounding_region**number[]

**Possible values:** `>= 8`

, `<= 8`

`An array containing (x,y) coordinates in the format `

[x1,y1,x2,y2,x3,y3,x4,y4]` for skewed images and handwritten fields. The bounding region is more precise than bounding box, otherwise it's the same.

**bounding_box** object[]

**Possible values:** `>= 5`

, `<= 5`

`[page_number,x1,y1,x2,y2]`

for the extracted field from `img_url`

before any rotation.

number

integer

**ocr_score**number

**Possible values:** `<= 1`

`value`

symbols. See confidence scores explained for more information.

**score**number

**Possible values:** `<= 1`

`value`

belongs to the field. See confidence scores explained for more information.

**rotation**integer

**Possible values:** [`0`

, `90`

, `180`

, `270`

]

The angle of rotation of the document in degrees.

**value**stringrequired

**Possible values:** `non-empty`

The extracted value.

**field_12c_col2** objectrequired

The amount for other types of compensations or reduction to taxable income found in Box 12 of the W-2.

**bounding_region**number[]

**Possible values:** `>= 8`

, `<= 8`

`An array containing (x,y) coordinates in the format `

[x1,y1,x2,y2,x3,y3,x4,y4]` for skewed images and handwritten fields. The bounding region is more precise than bounding box, otherwise it's the same.

**bounding_box** object[]

**Possible values:** `>= 5`

, `<= 5`

`[page_number,x1,y1,x2,y2]`

for the extracted field from `img_url`

before any rotation.

number

integer

**ocr_score**number

**Possible values:** `<= 1`

`value`

symbols. See confidence scores explained for more information.

**score**number

**Possible values:** `<= 1`

`value`

belongs to the field. See confidence scores explained for more information.

**rotation**integer

**Possible values:** [`0`

, `90`

, `180`

, `270`

]

The angle of rotation of the document in degrees.

**value**numberrequired

**field_12d_col1** objectrequired

**bounding_region**number[]

**Possible values:** `>= 8`

, `<= 8`

`An array containing (x,y) coordinates in the format `

[x1,y1,x2,y2,x3,y3,x4,y4]` for skewed images and handwritten fields. The bounding region is more precise than bounding box, otherwise it's the same.

**bounding_box** object[]

**Possible values:** `>= 5`

, `<= 5`

`[page_number,x1,y1,x2,y2]`

for the extracted field from `img_url`

before any rotation.

number

integer

**ocr_score**number

**Possible values:** `<= 1`

`value`

symbols. See confidence scores explained for more information.

**score**number

**Possible values:** `<= 1`

`value`

belongs to the field. See confidence scores explained for more information.

**rotation**integer

**Possible values:** [`0`

, `90`

, `180`

, `270`

]

The angle of rotation of the document in degrees.

**value**stringrequired

**Possible values:** `non-empty`

The extracted value.

**field_12d_col2** objectrequired

**bounding_region**number[]

**Possible values:** `>= 8`

, `<= 8`

`An array containing (x,y) coordinates in the format `

[x1,y1,x2,y2,x3,y3,x4,y4]` for skewed images and handwritten fields. The bounding region is more precise than bounding box, otherwise it's the same.

**bounding_box** object[]

**Possible values:** `>= 5`

, `<= 5`

`[page_number,x1,y1,x2,y2]`

for the extracted field from `img_url`

before any rotation.

number

integer

**ocr_score**number

**Possible values:** `<= 1`

`value`

symbols. See confidence scores explained for more information.

**score**number

**Possible values:** `<= 1`

`value`

belongs to the field. See confidence scores explained for more information.

**rotation**integer

**Possible values:** [`0`

, `90`

, `180`

, `270`

]

The angle of rotation of the document in degrees.

**value**numberrequired

**is_13a** objectrequired

A checkbox field representing if the individual worked as a statutory employee found in Box 13 of the W-2.

**bounding_region**number[]

**Possible values:** `>= 8`

, `<= 8`

`An array containing (x,y) coordinates in the format `

[x1,y1,x2,y2,x3,y3,x4,y4]` for skewed images and handwritten fields. The bounding region is more precise than bounding box, otherwise it's the same.

**bounding_box** object[]

**Possible values:** `>= 5`

, `<= 5`

`[page_number,x1,y1,x2,y2]`

for the extracted field from `img_url`

before any rotation.

number

integer

**ocr_score**number

**Possible values:** `<= 1`

`value`

symbols. See confidence scores explained for more information.

**score**number

**Possible values:** `<= 1`

`value`

belongs to the field. See confidence scores explained for more information.

**rotation**integer

**Possible values:** [`0`

, `90`

, `180`

, `270`

]

The angle of rotation of the document in degrees.

**value**booleanrequired

**is_13b** objectrequired

A checkbox field representing if the individual participated in an employer sponsored retirement plan found in Box 13 of the W-2.

**bounding_region**number[]

**Possible values:** `>= 8`

, `<= 8`

`An array containing (x,y) coordinates in the format `

[x1,y1,x2,y2,x3,y3,x4,y4]` for skewed images and handwritten fields. The bounding region is more precise than bounding box, otherwise it's the same.

**bounding_box** object[]

**Possible values:** `>= 5`

, `<= 5`

`[page_number,x1,y1,x2,y2]`

for the extracted field from `img_url`

before any rotation.

number

integer

**ocr_score**number

**Possible values:** `<= 1`

`value`

symbols. See confidence scores explained for more information.

**score**number

**Possible values:** `<= 1`

`value`

belongs to the field. See confidence scores explained for more information.

**rotation**integer

**Possible values:** [`0`

, `90`

, `180`

, `270`

]

The angle of rotation of the document in degrees.

**value**booleanrequired

**is_13c** objectrequired

A checkbox field representing if the individual received sick pay through a third party source found in Box 13 of the W-2.

**bounding_region**number[]

**Possible values:** `>= 8`

, `<= 8`

`An array containing (x,y) coordinates in the format `

[x1,y1,x2,y2,x3,y3,x4,y4]` for skewed images and handwritten fields. The bounding region is more precise than bounding box, otherwise it's the same.

**bounding_box** object[]

**Possible values:** `>= 5`

, `<= 5`

`[page_number,x1,y1,x2,y2]`

for the extracted field from `img_url`

before any rotation.

number

integer

**ocr_score**number

**Possible values:** `<= 1`

`value`

symbols. See confidence scores explained for more information.

**score**number

**Possible values:** `<= 1`

`value`

belongs to the field. See confidence scores explained for more information.

**rotation**integer

**Possible values:** [`0`

, `90`

, `180`

, `270`

]

The angle of rotation of the document in degrees.

**value**booleanrequired

**states** object[]required

A collection of objects that represent state employer id, wages, tips, and more found in Box 15 - 20 of the W-2.

**state** objectrequired

The two-letter code representing the state found in Box 15 of the W-2. For example, California would be `CA`

.

**bounding_region**number[]

**Possible values:** `>= 8`

, `<= 8`

`An array containing (x,y) coordinates in the format `

[x1,y1,x2,y2,x3,y3,x4,y4]` for skewed images and handwritten fields. The bounding region is more precise than bounding box, otherwise it's the same.

**bounding_box** object[]

**Possible values:** `>= 5`

, `<= 5`

`[page_number,x1,y1,x2,y2]`

for the extracted field from `img_url`

before any rotation.

number

integer

**ocr_score**number

**Possible values:** `<= 1`

`value`

symbols. See confidence scores explained for more information.

**score**number

**Possible values:** `<= 1`

`value`

belongs to the field. See confidence scores explained for more information.

**rotation**integer

**Possible values:** [`0`

, `90`

, `180`

, `270`

]

The angle of rotation of the document in degrees.

**value**stringrequired

**Possible values:** `non-empty`

The extracted value.

**employer_state_id** objectrequired

The employer identification number found in Box 15 of the W-2.

**bounding_region**number[]

**Possible values:** `>= 8`

, `<= 8`

`An array containing (x,y) coordinates in the format `

[x1,y1,x2,y2,x3,y3,x4,y4]` for skewed images and handwritten fields. The bounding region is more precise than bounding box, otherwise it's the same.

**bounding_box** object[]

**Possible values:** `>= 5`

, `<= 5`

`[page_number,x1,y1,x2,y2]`

for the extracted field from `img_url`

before any rotation.

number

integer

**ocr_score**number

**Possible values:** `<= 1`

`value`

symbols. See confidence scores explained for more information.

**score**number

**Possible values:** `<= 1`

`value`

belongs to the field. See confidence scores explained for more information.

**rotation**integer

**Possible values:** [`0`

, `90`

, `180`

, `270`

]

The angle of rotation of the document in degrees.

**value**stringrequired

**Possible values:** `non-empty`

The extracted value.

**state_wages_tips** objectrequired

The total state taxable gross pay found in Box 16 of the W-2.

**bounding_region**number[]

**Possible values:** `>= 8`

, `<= 8`

`An array containing (x,y) coordinates in the format `

[x1,y1,x2,y2,x3,y3,x4,y4]` for skewed images and handwritten fields. The bounding region is more precise than bounding box, otherwise it's the same.

**bounding_box** object[]

**Possible values:** `>= 5`

, `<= 5`

`[page_number,x1,y1,x2,y2]`

for the extracted field from `img_url`

before any rotation.

number

integer

**ocr_score**number

**Possible values:** `<= 1`

`value`

symbols. See confidence scores explained for more information.

**score**number

**Possible values:** `<= 1`

`value`

belongs to the field. See confidence scores explained for more information.

**rotation**integer

**Possible values:** [`0`

, `90`

, `180`

, `270`

]

The angle of rotation of the document in degrees.

**value**numberrequired

**state_income_tax** objectrequired

The total state income taxes that were withheld found in Box 17 of the W-2.

**bounding_region**number[]

**Possible values:** `>= 8`

, `<= 8`

`An array containing (x,y) coordinates in the format `

[x1,y1,x2,y2,x3,y3,x4,y4]` for skewed images and handwritten fields. The bounding region is more precise than bounding box, otherwise it's the same.

**bounding_box** object[]

**Possible values:** `>= 5`

, `<= 5`

`[page_number,x1,y1,x2,y2]`

for the extracted field from `img_url`

before any rotation.

number

integer

**ocr_score**number

**Possible values:** `<= 1`

`value`

symbols. See confidence scores explained for more information.

**score**number

**Possible values:** `<= 1`

`value`

belongs to the field. See confidence scores explained for more information.

**rotation**integer

**Possible values:** [`0`

, `90`

, `180`

, `270`

]

The angle of rotation of the document in degrees.

**value**numberrequired

**local_wages_tips** objectrequired

The total state taxable gross pay found in Box 16 of the W-2.

**bounding_region**number[]

**Possible values:** `>= 8`

, `<= 8`

`An array containing (x,y) coordinates in the format `

[x1,y1,x2,y2,x3,y3,x4,y4]` for skewed images and handwritten fields. The bounding region is more precise than bounding box, otherwise it's the same.

**bounding_box** object[]

**Possible values:** `>= 5`

, `<= 5`

`[page_number,x1,y1,x2,y2]`

for the extracted field from `img_url`

before any rotation.

number

integer

**ocr_score**number

**Possible values:** `<= 1`

`value`

symbols. See confidence scores explained for more information.

**score**number

**Possible values:** `<= 1`

`value`

belongs to the field. See confidence scores explained for more information.

**rotation**integer

**Possible values:** [`0`

, `90`

, `180`

, `270`

]

The angle of rotation of the document in degrees.

**value**numberrequired

**local_income_tax** object

The total local income tax withheld found in Box 19 of the W-2.

**bounding_region**number[]

**Possible values:** `>= 8`

, `<= 8`

`An array containing (x,y) coordinates in the format `

[x1,y1,x2,y2,x3,y3,x4,y4]` for skewed images and handwritten fields. The bounding region is more precise than bounding box, otherwise it's the same.

**bounding_box** object[]

**Possible values:** `>= 5`

, `<= 5`

`[page_number,x1,y1,x2,y2]`

for the extracted field from `img_url`

before any rotation.

number

integer

**ocr_score**number

**Possible values:** `<= 1`

`value`

symbols. See confidence scores explained for more information.

**score**number

**Possible values:** `<= 1`

`value`

belongs to the field. See confidence scores explained for more information.

**rotation**integer

**Possible values:** [`0`

, `90`

, `180`

, `270`

]

The angle of rotation of the document in degrees.

**value**numberrequired

**locality_name** objectrequired

The locality name found in Box 20 of the W-2.

**bounding_region**number[]

**Possible values:** `>= 8`

, `<= 8`

`An array containing (x,y) coordinates in the format `

[x1,y1,x2,y2,x3,y3,x4,y4]` for skewed images and handwritten fields. The bounding region is more precise than bounding box, otherwise it's the same.

**bounding_box** object[]

**Possible values:** `>= 5`

, `<= 5`

`[page_number,x1,y1,x2,y2]`

for the extracted field from `img_url`

before any rotation.

number

integer

**ocr_score**number

**Possible values:** `<= 1`

`value`

symbols. See confidence scores explained for more information.

**score**number

**Possible values:** `<= 1`

`value`

belongs to the field. See confidence scores explained for more information.

**rotation**integer

**Possible values:** [`0`

, `90`

, `180`

, `270`

]

The angle of rotation of the document in degrees.

**value**stringrequired

**Possible values:** `non-empty`

The extracted value.

**field_14_other** object[]required

An object representing any other tax information that doesn't fit into other W-2 Boxes. For example, this field can be auto allowance, social club membership, travel reimbursement, and more.

**column_1** objectrequired

This field is used for any other tax information that doesn't fit into other W-2 Boxes. For example, this field can be auto allowance, social club membership, travel reimbursement, and more.

**bounding_region**number[]

**Possible values:** `>= 8`

, `<= 8`

`An array containing (x,y) coordinates in the format `

[x1,y1,x2,y2,x3,y3,x4,y4]` for skewed images and handwritten fields. The bounding region is more precise than bounding box, otherwise it's the same.

**bounding_box** object[]

**Possible values:** `>= 5`

, `<= 5`

`[page_number,x1,y1,x2,y2]`

for the extracted field from `img_url`

before any rotation.

number

integer

**ocr_score**number

**Possible values:** `<= 1`

`value`

symbols. See confidence scores explained for more information.

**score**number

**Possible values:** `<= 1`

`value`

belongs to the field. See confidence scores explained for more information.

**rotation**integer

**Possible values:** [`0`

, `90`

, `180`

, `270`

]

The angle of rotation of the document in degrees.

**value**stringrequired

**Possible values:** `non-empty`

The extracted value.

**column_2** object

The value for the additional tax information.

**bounding_region**number[]

**Possible values:** `>= 8`

, `<= 8`

`An array containing (x,y) coordinates in the format `

[x1,y1,x2,y2,x3,y3,x4,y4]` for skewed images and handwritten fields. The bounding region is more precise than bounding box, otherwise it's the same.

**bounding_box** object[]

**Possible values:** `>= 5`

, `<= 5`

`[page_number,x1,y1,x2,y2]`

for the extracted field from `img_url`

before any rotation.

number

integer

**ocr_score**number

**Possible values:** `<= 1`

`value`

symbols. See confidence scores explained for more information.

**score**number

**Possible values:** `<= 1`

`value`

belongs to the field. See confidence scores explained for more information.

**rotation**integer

**Possible values:** [`0`

, `90`

, `180`

, `270`

]

The angle of rotation of the document in degrees.

**value**numberrequired

`{}`

User error

- application/json

- Schema
- Example (from schema)

**Schema**

- MALFORMED_PARAMETERS

**status**string

**Default value:** `fail`

**error**string

**Default value:** `Malformed parameters`

**details**undefined[]

**Default value:** `[object Object]`

`{}`

Not found

- application/json

- Schema
- Example (from schema)

**Schema**

- NOT_FOUND
- DOCUMENT_NOT_FOUND

**status**string

**Default value:** `fail`

**error**string

**Default value:** `Not found.`

**status**string

**Default value:** `fail`

**error**string

**Default value:** `Document Not Found`

`{}`

Rate limit

- application/json

- Schema
- Example (from schema)

**Schema**

- YOU_HAVE_BEEN_RATE_LIMITED

**status**string

**Default value:** `fail`

**error**string

**Default value:** `You have been rate limited`

**details**undefined[]

**Default value:** `[object Object]`

`{}`

User error

- application/json

- Schema
- Example (from schema)

**Schema**

- CLIENT_CLOSED_REQUEST_OR_LOST_CONNECTION

**status**string

**Default value:** `fail`

**error**string

**Default value:** `Client closed request or lost connection`

`{}`

Service is temporaly unavailable

- application/json

- Schema
- Example (from schema)

**Schema**

- SERVICE_IS_TEMPORALY_UNAVAILABLE_PLEASE_TRY_AGAIN_LATER

**status**string

**Default value:** `fail`

**error**string

**Default value:** `Service is temporaly unavailable. Please try again later`

`{}`

Gateway timeout. Returned if request takes more than 150 seconds. The request might finish successfully later.

- application/json

- Schema
- Example (from schema)

**Schema**

- GATEWAY_TIMEOUT

**status**string

**Default value:** `fail`

**error**string

**Default value:** `Gateway timeout`

`{}`

OperationStatus

- application/json

- Schema
- Example (from schema)

**Schema**

**status**string

**Default value:** `fail`

**error**stringrequired

**details**object[]

`{`

"status": "fail",

"error": "string",

"details": [

{}

]

}