---
title: "Changes to Uploads a vendor document"
method: POST
path: "/api/v1/vendors/{id}/upload"
---

# Changes to Uploads a vendor document

`POST /api/v1/vendors/{id}/upload`

> Every recorded change to this operation, newest first.

## Timeline

Changed in 11 of 90 revisions.

- **2026-04-20** `69a36036d334`: 2 info
- **2025-11-22** `00ad5cc89fad`: 4 info
- **2024-06-06** `8e82a2bd77e0`: 2 breaking, 35 info
- **2024-06-05** `e61df65649e2`: 2 breaking, 35 warning
- **2024-03-07** `71171a40d629`: 6 breaking, 42 info
- **2024-02-18** `88bbc1f38ff7`: 6 breaking, 43 warning
- **2024-02-10** `4ad0fff44c6c`: 5 info
- **2024-01-24** `9dab078a46b5`: 1 info
- **2024-01-20** `70cd94370516`: 1 breaking
- **2023-11-23** `0fe5c7156b3f`: 2 warning, 7 info
- **2023-11-23** `704e6113e7db`: 1 info

## Changes

- **2026-04-20** `69a36036d334`: 2 info
  - added the optional property `contacts/items/can_sign` to the response with the `200` status
  - added the optional property `contacts/items/cc_only` to the response with the `200` status
- **2025-11-22** `00ad5cc89fad`: 4 info
  - added the optional property `contacts/items/send_email` to the response with the `200` status
  - added the optional property `is_tax_exempt` to the response with the `200` status
  - added the optional property `public_notes` to the response with the `200` status
  - added the optional property `routing_id` to the response with the `200` status
- **2024-06-06** `8e82a2bd77e0`: 2 breaking, 35 info
  - the response's body type changed from no type to `object` for status `200`
  - the response's body type changed from no type to `object` for status `default`
  - added the optional property `address1` to the response with the `200` status
  - added the optional property `address2` to the response with the `200` status
  - added the optional property `assigned_user_id` to the response with the `200` status
  - added the optional property `city` to the response with the `200` status
  - added the optional property `classification` to the response with the `200` status
  - added the optional property `code` to the response with the `default` status
  - added the optional property `contacts` to the response with the `200` status
  - added the optional property `country_id` to the response with the `200` status
  - added the optional property `created_at` to the response with the `200` status
  - added the optional property `currency_id` to the response with the `200` status
  - added the optional property `custom_value1` to the response with the `200` status
  - added the optional property `custom_value2` to the response with the `200` status
  - added the optional property `custom_value3` to the response with the `200` status
  - added the optional property `custom_value4` to the response with the `200` status
  - added the optional property `display_name` to the response with the `200` status
  - added the optional property `id` to the response with the `200` status
  - added the optional property `id_number` to the response with the `200` status
  - added the optional property `industry_id` to the response with the `200` status
  - added the optional property `is_deleted` to the response with the `200` status
  - added the optional property `language_id` to the response with the `200` status
  - added the optional property `last_login` to the response with the `200` status
  - added the optional property `message` to the response with the `default` status
  - added the optional property `name` to the response with the `200` status
  - added the optional property `number` to the response with the `200` status
  - added the optional property `phone` to the response with the `200` status
  - added the optional property `postal_code` to the response with the `200` status
  - added the optional property `private_notes` to the response with the `200` status
  - added the optional property `size_id` to the response with the `200` status
  - added the optional property `state` to the response with the `200` status
  - added the optional property `transaction_name` to the response with the `200` status
  - added the optional property `updated_at` to the response with the `200` status
  - added the optional property `user_id` to the response with the `200` status
  - added the optional property `vat_number` to the response with the `200` status
  - added the optional property `vendor_hash` to the response with the `200` status
  - added the optional property `website` to the response with the `200` status
- **2024-06-05** `e61df65649e2`: 2 breaking, 35 warning
  - the response's body type changed from `object` to no type for status `200`
  - the response's body type changed from `object` to no type for status `default`
  - removed the optional property `address1` from the response with the `200` status
  - removed the optional property `address2` from the response with the `200` status
  - removed the optional property `assigned_user_id` from the response with the `200` status
  - removed the optional property `city` from the response with the `200` status
  - removed the optional property `classification` from the response with the `200` status
  - removed the optional property `code` from the response with the `default` status
  - removed the optional property `contacts` from the response with the `200` status
  - removed the optional property `country_id` from the response with the `200` status
  - removed the optional property `created_at` from the response with the `200` status
  - removed the optional property `currency_id` from the response with the `200` status
  - removed the optional property `custom_value1` from the response with the `200` status
  - removed the optional property `custom_value2` from the response with the `200` status
  - removed the optional property `custom_value3` from the response with the `200` status
  - removed the optional property `custom_value4` from the response with the `200` status
  - removed the optional property `display_name` from the response with the `200` status
  - removed the optional property `id` from the response with the `200` status
  - removed the optional property `id_number` from the response with the `200` status
  - removed the optional property `industry_id` from the response with the `200` status
  - removed the optional property `is_deleted` from the response with the `200` status
  - removed the optional property `language_id` from the response with the `200` status
  - removed the optional property `last_login` from the response with the `200` status
  - removed the optional property `message` from the response with the `default` status
  - removed the optional property `name` from the response with the `200` status
  - removed the optional property `number` from the response with the `200` status
  - removed the optional property `phone` from the response with the `200` status
  - removed the optional property `postal_code` from the response with the `200` status
  - removed the optional property `private_notes` from the response with the `200` status
  - removed the optional property `size_id` from the response with the `200` status
  - removed the optional property `state` from the response with the `200` status
  - removed the optional property `transaction_name` from the response with the `200` status
  - removed the optional property `updated_at` from the response with the `200` status
  - removed the optional property `user_id` from the response with the `200` status
  - removed the optional property `vat_number` from the response with the `200` status
  - removed the optional property `vendor_hash` from the response with the `200` status
  - removed the optional property `website` from the response with the `200` status
- **2024-03-07** `71171a40d629`: 6 breaking, 42 info
  - the response's body type changed from no type to `object` for status `200`
  - the response's body type changed from no type to `object` for status `401`
  - the response's body type changed from no type to `object` for status `403`
  - the response's body type changed from no type to `object` for status `422`
  - the response's body type changed from no type to `object` for status `429`
  - the response's body type changed from no type to `object` for status `default`
  - added the optional property `address1` to the response with the `200` status
  - added the optional property `address2` to the response with the `200` status
  - added the optional property `assigned_user_id` to the response with the `200` status
  - added the optional property `city` to the response with the `200` status
  - added the optional property `classification` to the response with the `200` status
  - added the optional property `code` to the response with the `default` status
  - added the optional property `contacts` to the response with the `200` status
  - added the optional property `country_id` to the response with the `200` status
  - added the optional property `created_at` to the response with the `200` status
  - added the optional property `currency_id` to the response with the `200` status
  - added the optional property `custom_value1` to the response with the `200` status
  - added the optional property `custom_value2` to the response with the `200` status
  - added the optional property `custom_value3` to the response with the `200` status
  - added the optional property `custom_value4` to the response with the `200` status
  - added the optional property `display_name` to the response with the `200` status
  - added the optional property `errors` to the response with the `403` status
  - added the optional property `errors` to the response with the `422` status
  - added the optional property `errors` to the response with the `429` status
  - added the optional property `id` to the response with the `200` status
  - added the optional property `id_number` to the response with the `200` status
  - added the optional property `industry_id` to the response with the `200` status
  - added the optional property `is_deleted` to the response with the `200` status
  - added the optional property `language_id` to the response with the `200` status
  - added the optional property `last_login` to the response with the `200` status
  - added the optional property `message` to the response with the `401` status
  - added the optional property `message` to the response with the `403` status
  - added the optional property `message` to the response with the `422` status
  - added the optional property `message` to the response with the `429` status
  - added the optional property `message` to the response with the `default` status
  - added the optional property `name` to the response with the `200` status
  - added the optional property `number` to the response with the `200` status
  - added the optional property `phone` to the response with the `200` status
  - added the optional property `postal_code` to the response with the `200` status
  - added the optional property `private_notes` to the response with the `200` status
  - …8 more
- **2024-02-18** `88bbc1f38ff7`: 6 breaking, 43 warning
  - the response's body type changed from `object` to no type for status `200`
  - the response's body type changed from `object` to no type for status `401`
  - the response's body type changed from `object` to no type for status `403`
  - the response's body type changed from `object` to no type for status `422`
  - the response's body type changed from `object` to no type for status `429`
  - the response's body type changed from `object` to no type for status `default`
  - removed the optional property `address1` from the response with the `200` status
  - removed the optional property `address2` from the response with the `200` status
  - removed the optional property `assigned_user_id` from the response with the `200` status
  - removed the optional property `city` from the response with the `200` status
  - removed the optional property `classification` from the response with the `200` status
  - removed the optional property `code` from the response with the `default` status
  - removed the optional property `company_id` from the response with the `200` status
  - removed the optional property `contacts` from the response with the `200` status
  - removed the optional property `country_id` from the response with the `200` status
  - removed the optional property `created_at` from the response with the `200` status
  - removed the optional property `currency_id` from the response with the `200` status
  - removed the optional property `custom_value1` from the response with the `200` status
  - removed the optional property `custom_value2` from the response with the `200` status
  - removed the optional property `custom_value3` from the response with the `200` status
  - removed the optional property `custom_value4` from the response with the `200` status
  - removed the optional property `display_name` from the response with the `200` status
  - removed the optional property `errors` from the response with the `403` status
  - removed the optional property `errors` from the response with the `422` status
  - removed the optional property `errors` from the response with the `429` status
  - removed the optional property `id` from the response with the `200` status
  - removed the optional property `id_number` from the response with the `200` status
  - removed the optional property `industry_id` from the response with the `200` status
  - removed the optional property `is_deleted` from the response with the `200` status
  - removed the optional property `language_id` from the response with the `200` status
  - removed the optional property `last_login` from the response with the `200` status
  - removed the optional property `message` from the response with the `401` status
  - removed the optional property `message` from the response with the `403` status
  - removed the optional property `message` from the response with the `422` status
  - removed the optional property `message` from the response with the `429` status
  - removed the optional property `message` from the response with the `default` status
  - removed the optional property `name` from the response with the `200` status
  - removed the optional property `number` from the response with the `200` status
  - removed the optional property `phone` from the response with the `200` status
  - removed the optional property `postal_code` from the response with the `200` status
  - …9 more
- **2024-02-10** `4ad0fff44c6c`: 5 info
  - added the media type `application/json` for the response with the status `401`
  - added the media type `application/json` for the response with the status `403`
  - added the media type `application/json` for the response with the status `422`
  - added the media type `application/json` for the response with the status `429`
  - added the media type `application/json` for the response with the status `default`
- **2024-01-24** `9dab078a46b5`: 1 info
  - endpoint added
- **2024-01-20** `70cd94370516`: 1 breaking
  - api path removed without deprecation
- **2023-11-23** `0fe5c7156b3f`: 2 warning, 7 info
  - removed the optional property `client_id` from the response with the `200` status
  - removed the optional property `settings` from the response with the `200` status
  - added the optional property `contacts/items/confirmation_code` to the response with the `200` status
  - added the optional property `contacts/items/contact_key` to the response with the `200` status
  - added the optional property `contacts/items/email_verified_at` to the response with the `200` status
  - added the optional property `contacts/items/password` to the response with the `200` status
  - the response optional property `contacts/items/company_id` became read-only for the status `200`
  - the response optional property `contacts/items/user_id` became read-only for the status `200`
  - the response optional property `contacts/items/vendor_id` became read-only for the status `200`
- **2023-11-23** `704e6113e7db`: 1 info
  - endpoint added

---

[Operation](https://skmtc.dev/invoiceninja/apis/invoice-ninja-api-reference/docs/api/v1/vendors/:id/upload/post.md) - [API](https://skmtc.dev/invoiceninja/apis/invoice-ninja-api-reference.md) - [Page](https://skmtc.dev/invoiceninja/apis/invoice-ninja-api-reference/changes/api/v1/vendors/:id/upload/post)
