> ## Documentation Index
> Fetch the complete documentation index at: https://docs.printools.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Vendors

> Suppliers you raise purchase orders on.

Use the operations below to work with vendors. Each link opens an interactive reference page generated from the published OpenAPI specification.

## Operations

| Operation                                                                                           | Method and path                              | Required scopes                       |
| --------------------------------------------------------------------------------------------------- | -------------------------------------------- | ------------------------------------- |
| [Every purchase order raised on a vendor](/api/reference/get_v1_vendors_vendorId_purchase_orders)   | `GET /v1/vendors/{vendorId}/purchase-orders` | `purchaseorders.read`, `vendors.read` |
| [List vendors](/api/reference/get_v1_vendors)                                                       | `GET /v1/vendors`                            | `vendors.read`                        |
| [Create a vendor](/api/reference/post_v1_vendors)                                                   | `POST /v1/vendors`                           | `vendors.write`                       |
| [One vendor with addresses and contacts](/api/reference/get_v1_vendors_vendorId)                    | `GET /v1/vendors/{vendorId}`                 | `vendors.read`                        |
| [Update a vendor](/api/reference/patch_v1_vendors_vendorId)                                         | `PATCH /v1/vendors/{vendorId}`               | `vendors.write`                       |
| [Archive a vendor](/api/reference/post_v1_vendors_vendorId_archive)                                 | `POST /v1/vendors/{vendorId}/archive`        | `vendors.write`                       |
| [Restore an archived vendor](/api/reference/post_v1_vendors_vendorId_unarchive)                     | `POST /v1/vendors/{vendorId}/unarchive`      | `vendors.write`                       |
| [Add an address to a vendor](/api/reference/post_v1_vendors_vendorId_addresses)                     | `POST /v1/vendors/{vendorId}/addresses`      | `vendors.write`                       |
| [Update a vendor address](/api/reference/patch_v1_vendor_addresses_addressId)                       | `PATCH /v1/vendor-addresses/{addressId}`     | `vendors.write`                       |
| [Delete a vendor address](/api/reference/delete_v1_vendor_addresses_addressId)                      | `DELETE /v1/vendor-addresses/{addressId}`    | `vendors.write`                       |
| [Add a contact to a vendor](/api/reference/post_v1_vendors_vendorId_contacts)                       | `POST /v1/vendors/{vendorId}/contacts`       | `vendors.write`                       |
| [Update a vendor contact](/api/reference/patch_v1_vendor_contacts_contactId)                        | `PATCH /v1/vendor-contacts/{contactId}`      | `vendors.write`                       |
| [Delete a vendor contact](/api/reference/delete_v1_vendor_contacts_contactId)                       | `DELETE /v1/vendor-contacts/{contactId}`     | `vendors.write`                       |
| [Activate or deactivate every vendor matching a target](/api/reference/post_v1_vendors_bulk_active) | `POST /v1/vendors/bulk/active`               | `vendors.write`                       |

See [Authentication](/api/authentication) before your first call. For write retries, see [Writing safely](/api/idempotency).
