---
title: "Create a Vendor"
method: POST
path: "/v2/accounting/vendors"
tags: ["VendorControllerV2", "Vendors"]
---

# Create a Vendor

`POST /v2/accounting/vendors`

## Request

- Base URL: `https://api.railz.ai`
- URL: `https://api.railz.ai/v2/accounting/vendors`
- Auth: HTTP bearer

**Supported for:**

`freshbooks` `quickbooks` `xero` `oracleNetsuite` `sageBusinessCloud` `sageIntacct` `dynamicsBusinessCentral` `myob` `zohoBooks`

## Request body

- PushVendorV2Dto
  - `connectionUuid` string, required: Unique connection identifier.
  - `data` PushVendorV2, required
    - `contactFirstName` string
    - `contactLastName` string
    - `emailAddress` string
    - `phone` string
    - `website` string, uri
    - `isPerson` boolean
    - `vendorName` string
    - `contactName` string
    - `parentRef` ParentRefDto
      - `id` string, required
    - `currency` string
    - `paymentMethodRef` PaymentMethodRefDto
      - `id` string
      - `name` string
      - `type` 'unknown' | 'cash' | 'check' | 'creditCard' | 'debitCard' | 'bankTransfer' | 'giftCard' | 'other'
    - `billingAddress` BillingAddressDto
      - `line1` string
      - `line2` string
      - `city` string
      - `region` string: Region within a country. For example, state name for USA, province name for Canada.
      - `country` string: Country name as 3 ISO alpha-3 characters.
      - `postalCode` string: Postal code. For example, zip code for USA and Canada.
    - `shippingAddress` ShippingAddressDto
      - `line1` string
      - `line2` string
      - `city` string
      - `region` string: Region within a country. For example, state name for USA, province name for Canada.
      - `country` string: Country name as 3 ISO alpha-3 characters.
      - `postalCode` string: Postal code. For example, zip code for USA and Canada.
    - `subsidiaryRefs` SubsidiaryRefDto[]
      - `id` string, required
    - `contacts` PushCustomerVendorContactV2[]
      - `name` string
      - `email` string
      - `phone` string
      - `address` CustomerVendorPushAddressV2
        - `line1` string
        - `line2` string
        - `city` string
        - `region` string
        - `country` string
        - `postalCode` string
        - `type` 'billing' | 'shipping' | 'other'
    - `taxNumber` string
    - `passThrough` object

## Response `200`

- PushVendorV2ResponseDto
  - `connectionUuid` string, required
  - `businessName` string, required
  - `serviceName` 'freshbooks' | 'quickbooks' | 'quickbooksDesktop' | 'xero' | 'oracleNetsuite' | 'sageBusinessCloud' | 'sageIntacct' | 'dynamicsBusinessCentral' | 'dynamics365Finance' | 'wave' | 'myob' | 'zohoBooks' | 'byod', required
  - `pushCommunicationId` string, required
  - `requestedOn` string, date-time, required
  - `status` 'success' | 'failed' | 'pending', required
  - `data` PushVendorV2, required
    - `contactFirstName` string
    - `contactLastName` string
    - `emailAddress` string
    - `phone` string
    - `website` string, uri
    - `isPerson` boolean
    - `vendorName` string
    - `contactName` string
    - `parentRef` ParentRefDto
      - `id` string, required
    - `currency` string
    - `paymentMethodRef` PaymentMethodRefDto
      - `id` string
      - `name` string
      - `type` 'unknown' | 'cash' | 'check' | 'creditCard' | 'debitCard' | 'bankTransfer' | 'giftCard' | 'other'
    - `billingAddress` BillingAddressDto
      - `line1` string
      - `line2` string
      - `city` string
      - `region` string: Region within a country. For example, state name for USA, province name for Canada.
      - `country` string: Country name as 3 ISO alpha-3 characters.
      - `postalCode` string: Postal code. For example, zip code for USA and Canada.
    - `shippingAddress` ShippingAddressDto
      - `line1` string
      - `line2` string
      - `city` string
      - `region` string: Region within a country. For example, state name for USA, province name for Canada.
      - `country` string: Country name as 3 ISO alpha-3 characters.
      - `postalCode` string: Postal code. For example, zip code for USA and Canada.
    - `subsidiaryRefs` SubsidiaryRefDto[]
      - `id` string, required
    - `contacts` PushCustomerVendorContactV2[]
      - `name` string
      - `email` string
      - `phone` string
      - `address` CustomerVendorPushAddressV2
        - `line1` string
        - `line2` string
        - `city` string
        - `region` string
        - `country` string
        - `postalCode` string
        - `type` 'billing' | 'shipping' | 'other'
    - `taxNumber` string
    - `passThrough` object

## Other responses

- `400`: Bad Request Error - Thrown if fields sent via query does not follow specifications
- `401`: Unauthorized - Not logged in or log in expired
- `403`: Forbidden - Not enough permission
- `500`: Server Error

## Changes

- **2026-09-03** `1383b9a47ac9`: 1 info
  - api tag `VendorControllerV2` added
- **2026-08-10** `5cdfae3fa1fa`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/railz/apis/fis-accounting-data-as-a-service-api/changes/v2/accounting/vendors/post.md)

---

[API](https://skmtc.dev/railz/apis/fis-accounting-data-as-a-service-api.md) - [All operations](https://skmtc.dev/railz/apis/fis-accounting-data-as-a-service-api/llms.txt) - [OpenAPI document](https://skmtc.dev/railz/apis/fis-accounting-data-as-a-service-api/revisions/1383b9a47ac9?raw)
