---
title: "Create or update multiple accounting vendors"
method: POST
path: "/vendors/bulk"
tags: ["vendors"]
---

# Create or update multiple accounting vendors

`POST /vendors/bulk`

Allows for the creation or updating of multiple vendors in a single request. Maximum 100 vendors per request.

## Headers

- `Authorization` string, required
- `X-Api-Key` string, required
- `X-API-Version` string
- `Idempotency-Key` string

## Request body

- object
  - `ottimate_company_id` integer, required
  - `vendors` VendorsBulkPostRequestBodyContentApplicationJsonSchemaVendorsItems[]
    - `erp_vendor_name` string — Vendor name
    - `erp_vendor_id` string, required — Unique vendor ID in ERP system
    - `email` string — (Optional) Vendor email
    - `phone` string — (Optional) Vendor phone number
    - `net_terms` string — (Optional) Payment terms
    - `payment_method` 'credit_card' | 'ach' | 'check' | 'wire_transfer' | 'unknown' — (Optional) Vendor payment method
    - `address_line_1` string — (Optional) Vendor address line 1
    - `address_line_2` string — (Optional) Vendor address line 2
    - `city` string — (Optional) Vendor city
    - `state` string — (Optional) Vendor state
    - `zipcode` string — (Optional) Vendor zipcode

## Response `201`

Successfully created or updated

- VendorsPostVendorsBulkResponse201
  - `version` string
  - `success_count` integer
  - `created_count` integer
  - `updated_count` integer
  - `error_count` integer
  - `created` VendorsBulkPostResponsesContentApplicationJsonSchemaCreatedItems[]
    - `id` integer
    - `ottimate_company_id` integer
    - `erp_vendor_id` string, nullable
    - `erp_vendor_name` string, nullable
    - `email` string, nullable
    - `phone` string, nullable
    - `net_terms` string, nullable
    - `payment_method` 'credit_card' | 'ach' | 'check' | 'wire_transfer' | 'unknown'
    - `address_line_1` string, nullable
    - `address_line_2` string, nullable
    - `city` string, nullable
    - `state` string, nullable
    - `zipcode` string, nullable
  - `updated` VendorsBulkPostResponsesContentApplicationJsonSchemaUpdatedItems[]
    - `id` integer
    - `ottimate_company_id` integer
    - `erp_vendor_id` string, nullable
    - `erp_vendor_name` string, nullable
    - `email` string, nullable
    - `phone` string, nullable
    - `net_terms` string, nullable
    - `payment_method` 'credit_card' | 'ach' | 'check' | 'wire_transfer' | 'unknown'
    - `address_line_1` string, nullable
    - `address_line_2` string, nullable
    - `city` string, nullable
    - `state` string, nullable
    - `zipcode` string, nullable
  - `errors` VendorsBulkPostResponsesContentApplicationJsonSchemaErrorsItems[]
    - `index` integer
    - `erp_vendor_id` string, nullable
    - `error` string
    - `type` string

## Other responses

- `400` — Bad request - Invalid parameters or request format

---

[API](https://skmtc.net/ottimate/apis/api-reference.md) · [All operations](https://skmtc.net/ottimate/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/ottimate/api-reference/versions/3b3756010473/schema)
