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

# Create item

> Create an invoice item

```jsonc Body raw (json) wrap expandable theme={null}
{
  "name",// required | max:400 | unique for the company
  "default_taxable",// required | boolean
  "default_description",// optional | string | max:5000
  "type",// required | string | acceptable_values: service,product,reece-item,
  "sku",// nullable | string | max:255 | unique item sku for the company
  "default_unit_price",// optional | numeric
  "default_unit_cost",// optional | numeric
  "default_quantity",// required | numeric | value example 10.25
  "track_inventory",// optional | boolean
  "is_active",// optional | boolean
  "xero_sales_account",// nullable | optional | integer
  "xero_tax_account",// nullable | optional | integer
  "tax_rate",// optional | string | max:255 | value example "10"
  "vendor_id",// nullable | integer | existing vendor id
  "vendor_type",// nullable | string |acceptable_values: integrated,third_party
  "vendor_name",// nullable | string
  "supplier_item_id",// nullable | string | required, if vendor_type is integrated
  "is_automatic_replenishment_by_purchase_order_enabled",// nullable | boolean
  "auto_reorder_level",// optional | integer | required, if is_automatic_replenishment_by_purchase_order_enabled is true
  "replenishment_level",// nullable | required, if is_automatic_replenishment_by_purchase_order_enabled is true | description: must be greater then auto reorder level
  "minimum_order_quantity",//numeric | nullable
  "price_update_method",// optional | string | acceptable_values: set_price_manually,automatic_markup,use_cmp_pricing
  "automatic_markup_percentage",// nullable | string | required, if price_update_method is automatic_markup
  "inventory_mode",// optional | string | acceptable_values: default,serialized_inventory
  "qbo_sales_tax_code_id",// nullable | optional | integer | existing Quickbooks Tax Code Id
  "qbo_purchase_tax_code_id",// nullable | optional | integer | existing Quickbooks Tax Code Id
  "qbo_income_account_id",// nullable | optional | integer | existing Quickbooks Account Id
  "qbo_expense_account_id",// nullable | optional | integer | existing Quickbooks Account Id
  "qbo_asset_account_id",// nullable | optional | integer | existing Quickbooks Account Id
  "qbo_id",// nullable | optional | integer
  "quantity_available",// optional | numeric
  "unit_measure",// optional | string
  "external_id",// nullable | optional | integer
  "external_type",// nullable | optional | string
  "external_sync_status",// nullable | optional | string
  "upc",// nullable | optional | string
  "unit_cost_per_unit_measure",// optional | numeric
  "unit_price_per_unit_measure",// optional | numeric
  "minimum_dimensional_size",// optional | numeric
  "maximum_dimensional_size",// optional | numeric
  "is_round_up_to_even_dimensional_size",// optional | boolean
  "is_labor_item",// optional | boolean
  "inventory_hub_items": [//nullable | array
    {
      "inventory_hub_id",// required | existing inventory hub id
      "is_automatic_replenishment_by_purchase_order_enabled",// required | boolean
      "auto_reorder_level",// required | integer | description: should be greater or equal to 0
      "replenishment_level",// required | integer | description: should be greater or equal to 0
      "quantity_available"// required | numeric
    },
    {
      "inventory_hub_id",// required | existing inventory hub id
      "is_automatic_replenishment_by_purchase_order_enabled",// required | boolean
      "auto_reorder_level",// required | integer | description: should be greater or equal to 0
      "replenishment_level",// required | integer | description: should be greater or equal to 0
      "quantity_available"// required | numeric
    }
  ],
  "item_links": [// optional | array
    {
      "item_id",// nullable | integer | existing item id
      "name",// required | string | max:255
      "url"// required | string | max:255
    },
    {
      "item_id",// nullable | integer | existing item id
      "name",// required | string | max:255
      "url"// required | string | max:255
    }
  ],
  "serialized_inventories": [// nullable | optional | array
    {
      "serial_number",// required | max:255 | unique for the comapny serialized inventories
      "reference_number",// optional | string | max:255
      "asset_template_id",// nullable | integer | existing asset id
      "invoice_id",// required | integer | existing invoice id
      "hub_id",// required | integer | existing inventory hub id
      "id_number",// nullable | string
      "default_unit_cost"// optional | string | max:255
    },
    {
      "serial_number",// required | max:255 | unique for the comapny serialized inventories
      "reference_number",// optional | string | max:255
      "asset_template_id",// nullable | integer | existing asset id
      "invoice_id",// required | integer | existing invoice id
      "hub_id",// required | integer | existing inventory hub id
      "id_number",// nullable | string
      "default_unit_cost"// optional | string | max:255
    }
  ],
  "item_price_tiers": [// nullable | optional | array
    {
      "tier_id",// required | integer | existing Price Tier Id
      "adjustment_property",// required | string | acceptable values: unit_cost, unit_price, list_price
      "adjustment_value"// optional | numeric
    },
    {
      "tier_id",// required | integer | existing Price Tier Id
      "adjustment_property",// required | string | acceptable values: unit_cost, unit_price, list_price
      "adjustment_value"// optional | numeric
    }
  ],
  "customfields": [ // nullable | optional | array | description: array of custom fleds
    {
        "id", // optional | nullable | required if field_instance_id is not set | integer | custom field id
        "field_instance_id", // optional | nullable | required if id is not set | integer | custom field instance id
        "value" // required | string | custom value
    },
    {
        "id", // optional | nullable | required if field_instance_id is not set | integer | custom field id
        "field_instance_id", // optional | nullable | required if id is not set | integer | custom field instance id
        "value" // required | string | custom value
    }
  ],
  "tags"// nullable | optional | array | array of tag ids
}
```


## OpenAPI

````yaml post /items
openapi: 3.0.0
info:
  title: FieldPulse API
  description: >-
    REST API for the FieldPulse field service management platform.


    **Authentication:** All requests require an `x-api-key` header. Contact
    support@fieldpulse.com to obtain your API key.


    **Important:** The API Playground below makes live requests against your
    production data. Use caution when testing write operations (POST, PUT,
    DELETE).
  version: 1.0.0
servers:
  - url: https://ywe3crmpll.execute-api.us-east-2.amazonaws.com/stage
    description: Production
security:
  - apiKeyAuth: []
tags:
  - name: Assets
    description: Endpoints related to assets
  - name: Assets Category
    description: Endpoints related to assets category
  - name: Comments
    description: Endpoints related to comments
  - name: Company Profile
    description: Endpoints related to contracts
  - name: Contracts
    description: Endpoints related to contracts
  - name: Customers
    description: Endpoints related to customers
  - name: Custom Fields
    description: Endpoints related to custom fields
  - name: Estimates
    description: Endpoints related to estimates
  - name: Invoices
  - name: Items
  - name: Jobs
  - name: Lead Source
  - name: Locations
  - name: Material Lists
  - name: Payments
  - name: Pipeline Status
  - name: Projects
  - name: Purchase Orders
  - name: Subtasks
  - name: Tags
  - name: Teams
  - name: Timesheets
  - name: Users
  - name: Vendors
  - name: Version
paths:
  /items:
    post:
      tags:
        - Items
      summary: Create item
      description: Create an invoice item
      operationId: postItems
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  maxLength: 400
                  description: Unique for the company.
                default_taxable:
                  type: boolean
                default_description:
                  type: string
                  maxLength: 5000
                type:
                  type: string
                  enum:
                    - service
                    - product
                    - reece-item
                sku:
                  type: string
                  nullable: true
                  maxLength: 255
                  description: Unique item sku for the company.
                default_unit_price:
                  type: number
                default_unit_cost:
                  type: number
                default_quantity:
                  type: number
                track_inventory:
                  type: boolean
                is_active:
                  type: boolean
                xero_sales_account:
                  type: integer
                  nullable: true
                xero_tax_account:
                  type: integer
                  nullable: true
                tax_rate:
                  type: string
                  maxLength: 255
                vendor_id:
                  type: integer
                  nullable: true
                  description: Existing vendor id.
                vendor_type:
                  type: string
                  nullable: true
                  enum:
                    - integrated
                    - third_party
                vendor_name:
                  type: string
                  nullable: true
                supplier_item_id:
                  type: string
                  nullable: true
                  description: Required if vendor_type is integrated.
                is_automatic_replenishment_by_purchase_order_enabled:
                  type: boolean
                  nullable: true
                auto_reorder_level:
                  type: integer
                  description: >-
                    Required if
                    is_automatic_replenishment_by_purchase_order_enabled is
                    true.
                replenishment_level:
                  type: string
                  nullable: true
                  description: >-
                    Must be greater then auto reorder level. Required if
                    is_automatic_replenishment_by_purchase_order_enabled is
                    true.
                minimum_order_quantity:
                  type: number
                  nullable: true
                price_update_method:
                  type: string
                  enum:
                    - set_price_manually
                    - automatic_markup
                    - use_cmp_pricing
                automatic_markup_percentage:
                  type: string
                  nullable: true
                  description: Required if price_update_method is automatic_markup.
                inventory_mode:
                  type: string
                  enum:
                    - default
                    - serialized_inventory
                qbo_sales_tax_code_id:
                  type: integer
                  nullable: true
                  description: Existing Quickbooks Tax Code Id.
                qbo_purchase_tax_code_id:
                  type: integer
                  nullable: true
                  description: Existing Quickbooks Tax Code Id.
                qbo_income_account_id:
                  type: integer
                  nullable: true
                  description: Existing Quickbooks Account Id.
                qbo_expense_account_id:
                  type: integer
                  nullable: true
                  description: Existing Quickbooks Account Id.
                qbo_asset_account_id:
                  type: integer
                  nullable: true
                  description: Existing Quickbooks Account Id.
                qbo_id:
                  type: integer
                  nullable: true
                quantity_available:
                  type: number
                unit_measure:
                  type: string
                external_id:
                  type: integer
                  nullable: true
                external_type:
                  type: string
                  nullable: true
                external_sync_status:
                  type: string
                  nullable: true
                upc:
                  type: string
                  nullable: true
                unit_cost_per_unit_measure:
                  type: number
                unit_price_per_unit_measure:
                  type: number
                minimum_dimensional_size:
                  type: number
                maximum_dimensional_size:
                  type: number
                is_round_up_to_even_dimensional_size:
                  type: boolean
                is_labor_item:
                  type: boolean
                inventory_hub_items:
                  type: array
                  items:
                    type: object
                    properties:
                      inventory_hub_id:
                        type: string
                        description: Existing inventory hub id.
                      is_automatic_replenishment_by_purchase_order_enabled:
                        type: boolean
                      auto_reorder_level:
                        type: integer
                        description: Should be greater or equal to 0.
                      replenishment_level:
                        type: integer
                        description: Should be greater or equal to 0.
                      quantity_available:
                        type: number
                    required:
                      - inventory_hub_id
                      - is_automatic_replenishment_by_purchase_order_enabled
                      - auto_reorder_level
                      - replenishment_level
                      - quantity_available
                  nullable: true
                item_links:
                  type: array
                  items:
                    type: object
                    properties:
                      item_id:
                        type: integer
                        nullable: true
                        description: Existing item id.
                      name:
                        type: string
                        maxLength: 255
                      url:
                        type: string
                        maxLength: 255
                    required:
                      - name
                      - url
                serialized_inventories:
                  type: array
                  items:
                    type: object
                    properties:
                      serial_number:
                        type: string
                        maxLength: 255
                        description: Unique for the company serialized inventories.
                      reference_number:
                        type: string
                        maxLength: 255
                      asset_template_id:
                        type: integer
                        nullable: true
                        description: Existing asset id.
                      invoice_id:
                        type: integer
                        description: Existing invoice id.
                      hub_id:
                        type: integer
                        description: Existing inventory hub id.
                      id_number:
                        type: string
                        nullable: true
                      default_unit_cost:
                        type: string
                        maxLength: 255
                    required:
                      - serial_number
                      - invoice_id
                      - hub_id
                  nullable: true
                item_price_tiers:
                  type: array
                  items:
                    type: object
                    properties:
                      tier_id:
                        type: integer
                        description: Existing Price Tier Id.
                      adjustment_property:
                        type: string
                        enum:
                          - unit_cost
                          - unit_price
                          - list_price
                      adjustment_value:
                        type: number
                    required:
                      - tier_id
                      - adjustment_property
                  nullable: true
                customfields:
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: integer
                        nullable: true
                        description: >-
                          Required if field_instance_id is not set. Custom field
                          id.
                      field_instance_id:
                        type: integer
                        nullable: true
                        description: Required if id is not set. Custom field instance id.
                      value:
                        type: string
                        description: Custom value.
                    required:
                      - value
                  nullable: true
                  description: Array of custom fields.
                tags:
                  type: array
                  items:
                    type: integer
                  nullable: true
                  description: Array of tag ids.
              required:
                - name
                - default_taxable
                - type
                - default_quantity
            example:
              name: some string
              default_taxable: true
              default_description: some string
              type: service
              sku: some string
              default_unit_price: 1
              default_unit_cost: 1
              default_quantity: 10.25
              track_inventory: true
              is_active: true
              xero_sales_account: 1
              xero_tax_account: 1
              tax_rate: '10'
              vendor_id: 1
              vendor_type: integrated
              vendor_name: some string
              supplier_item_id: some string
              is_automatic_replenishment_by_purchase_order_enabled: true
              auto_reorder_level: 1
              replenishment_level: some string
              minimum_order_quantity: 1
              price_update_method: set_price_manually
              automatic_markup_percentage: some string
              inventory_mode: default
              qbo_sales_tax_code_id: 1
              qbo_purchase_tax_code_id: 1
              qbo_income_account_id: 1
              qbo_expense_account_id: 1
              qbo_asset_account_id: 1
              qbo_id: 1
              quantity_available: 1
              unit_measure: some string
              external_id: 1
              external_type: some string
              external_sync_status: some string
              upc: some string
              unit_cost_per_unit_measure: 1
              unit_price_per_unit_measure: 1
              minimum_dimensional_size: 1
              maximum_dimensional_size: 1
              is_round_up_to_even_dimensional_size: true
              is_labor_item: true
              inventory_hub_items:
                - inventory_hub_id: some string
                  is_automatic_replenishment_by_purchase_order_enabled: true
                  auto_reorder_level: 1
                  replenishment_level: 1
                  quantity_available: 1
                - inventory_hub_id: some string
                  is_automatic_replenishment_by_purchase_order_enabled: true
                  auto_reorder_level: 1
                  replenishment_level: 1
                  quantity_available: 1
              item_links:
                - item_id: 1
                  name: some string
                  url: some string
                - item_id: 1
                  name: some string
                  url: some string
              serialized_inventories:
                - serial_number: some string
                  reference_number: some string
                  asset_template_id: 1
                  invoice_id: 1
                  hub_id: 1
                  id_number: some string
                  default_unit_cost: some string
                - serial_number: some string
                  reference_number: some string
                  asset_template_id: 1
                  invoice_id: 1
                  hub_id: 1
                  id_number: some string
                  default_unit_cost: some string
              item_price_tiers:
                - tier_id: 1
                  adjustment_property: unit_cost
                  adjustment_value: 1
                - tier_id: 1
                  adjustment_property: unit_cost
                  adjustment_value: 1
              customfields:
                - id: 1
                  field_instance_id: 1
                  value: some string
                - id: 1
                  field_instance_id: 1
                  value: some string
              tags:
                - 1
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: boolean
                    description: false when the request succeeds.
                    example: false
                  response:
                    type: object
                    description: The created record.
        '400':
          description: Bad Request
          content:
            application/json:
              example:
                error: true
                errors:
                  - error message
                  - error message
        '401':
          description: Unauthorized
          content:
            application/json:
              example:
                message: Unauthorized
        '404':
          description: Not Found
          content:
            application/json:
              example:
                message: Request URL not found
components:
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key

````

## Related topics

- [How to Create Item Usage Reports](/reporting/raw-data/item-usage-reports.md)
- [How to Create Invoice Item Reports](/reporting/raw-data/invoice-item-reports.md)
- [How to Create Inventory Reports](/reporting/raw-data/inventory-reports.md)
- [How to Create Serialized Inventory Reports](/reporting/raw-data/serialized-inventory-reports.md)
- [How to Create Inventory Count Reports](/reporting/raw-data/inventory-count-reports.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.