---
title: "POST /inventory"
method: POST
path: "/inventory"
tags: ["Inventory"]
---

# POST /inventory

`POST /inventory`

## Request

- Base URL: `https://api.railz.ai`
- URL: `https://api.railz.ai/inventory`
- Auth: HTTP bearer

Posts an individual inventory item for a business.

## Request body

- PushInventoryV1Dto
  - `connection` PushConnection, required
    - `businessName` string, required: Unique business name identifier.
    - `serviceName` 'freshbooks' | 'quickbooks' | 'quickbooksDesktop' | 'xero' | 'oracleNetsuite' | 'sageBusinessCloud' | 'sageIntacct' | 'dynamicsBusinessCentral' | 'dynamics365Finance' | 'wave' | 'shopify' | 'square' | 'plaid' | 'myob' | 'zohoBooks' | 'byod', required: Name of accounting platform service.
  - `data` PushInventoryV1, required
    - `code` string
    - `type` 'inventory' | 'nonInventory' | 'service'
    - `name` string
    - `quantityOnHand` number, float
    - `subsidiaryRefs` string[]
    - `invoiceItem` InventoryBillInvoiceLineItems
      - `description` string
      - `unitPrice` number, float
      - `accountRef` string
      - `taxRateRef` string
    - `billItem` InventoryBillInvoiceLineItems
      - `description` string
      - `unitPrice` number, float
      - `accountRef` string
      - `taxRateRef` string
    - `isBillItem` boolean
    - `isInvoiceItem` boolean

## Response `200`

- PushInventoryV1ResponseDto
  - `pushCommunicationId` string, required
  - `requestedOn` string, date-time, required
  - `status` 'success' | 'failed' | 'pending', required
  - `businessName` string, required
  - `serviceName` 'freshbooks' | 'quickbooks' | 'quickbooksDesktop' | 'xero' | 'oracleNetsuite' | 'sageBusinessCloud' | 'sageIntacct' | 'dynamicsBusinessCentral' | 'dynamics365Finance' | 'wave' | 'myob' | 'zohoBooks' | 'byod', required
  - `data` PushInventoryV1, required
    - `code` string
    - `type` 'inventory' | 'nonInventory' | 'service'
    - `name` string
    - `quantityOnHand` number, float
    - `subsidiaryRefs` string[]
    - `invoiceItem` InventoryBillInvoiceLineItems
      - `description` string
      - `unitPrice` number, float
      - `accountRef` string
      - `taxRateRef` string
    - `billItem` InventoryBillInvoiceLineItems
      - `description` string
      - `unitPrice` number, float
      - `accountRef` string
      - `taxRateRef` string
    - `isBillItem` boolean
    - `isInvoiceItem` boolean

## 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-08-10** `5cdfae3fa1fa`: 1 breaking, 13 warning, 11 info
  - the `businessName` response's property format changed from `uuid` to no format for status `200`
  - added the new `byod` enum value to the `serviceName` response property for the response status `200`
  - added the new `dynamics365Finance` enum value to the `serviceName` response property for the response status `200`
  - added the new `dynamicsBusinessCentral` enum value to the `serviceName` response property for the response status `200`
  - …21 more

[Operation history](https://skmtc.dev/railz/apis/fis-accounting-data-as-a-service-api/changes/inventory/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)
