Menu Feeds

2 endpoints
GET /api/v3/menu_feeds/{menu_feed_id}/options

Show a Menu Feed Configuration

Parameters

Name Type In Required Description
menu_feed_id integer path Yes Feed Key

Example

curl -X GET "https://app.posabit.com/api/v3/menu_feeds/{menu_feed_id}/options" \
  -H "Authorization: Basic BASE64(INTEGRATOR_TOKEN:VENUE_TOKEN)" \
  -H "Accept: application/json"

Responses

Status Description
200 Success
400 Bad Request
422 Invalid parameters
500 Internal Server Error
GET /api/v3/menu_feeds/{id}

Show a Menu Feed

Parameters

Name Type In Required Description
id integer path Yes Feed Key

Example

curl -X GET "https://app.posabit.com/api/v3/menu_feeds/{id}" \
  -H "Authorization: Basic BASE64(INTEGRATOR_TOKEN:VENUE_TOKEN)" \
  -H "Accept: application/json"

Responses

Status Description
200 Success
400 Bad Request
422 Invalid parameters
500 Internal Server Error

Incoming Orders

3 endpoints
The Online Orders page is where you can view and manage all of your incoming online orders. This page is designed to give you a better overview of all of your incoming orders in one place. You can easily see important information such as the order source, order status, and order details. Additionally, you can filter and sort through your orders to find exactly what you're looking for.
GET /api/v3/incoming_orders

List the venue's current incoming orders

Lists incoming orders that are still "api visible" (delivered/cancelled are excluded), newest first, paginated at 100 records per page. Supports ransack filters under q[...]: customer_id_eq, id_eq, telephone_eq (digits only, no formatting), email_eq, reference_no_eq, first_name_eq, last_name_eq, updated_at_gt, updated_at_lt, and s (sort). Response envelope: { status, code, total_records, page, per_page, incoming_orders: [ { incoming_order: {...}, order_items: [...] } ] }. Each incoming_order matches IncomingOrderResponse.

Parameters

Name Type In Required Description
page integer query No Page number (100 records per page)

Example

curl -X GET "https://app.posabit.com/api/v3/incoming_orders" \
  -H "Authorization: Basic BASE64(INTEGRATOR_TOKEN:VENUE_TOKEN)" \
  -H "Accept: application/json"

Responses

Status Description
200 Success
400 Bad Request
422 Invalid parameters
500 Internal Server Error

Response Fields

Field Type Required Description
reference_no string No
customer_type string No Default: recreational
terminal_id integer No
customer_id integer No
local_order_id string No
driver_id integer No
vehicle_id integer No
aasm_state string No Default: pending
pos_status string No
source string(30) No Default: online_store
first_name string No
last_name string No
telephone string No
email string No
processed_by string No
saved_order_data text No
created_at datetime Yes
updated_at datetime Yes
processed_at datetime No
order_type string No Default: pickup
requested_payment_method string No
address string No Default:
city string No Default:
state_abbrev string No Default:
zipcode string No Default:
country string No Default: US
lat float No
lng float No
notes text No
internal_notes text No
departured_at datetime No
delivered_at datetime No
requested_date date No
requested_window_start_time string(100) No
requested_window_end_time string(100) No
planned_route text No
delivery_status string No
sts_error text No
total integer No
tip_amount integer No Default: 0
tip_type string No
created_by string No
status_callback text No
payment_prepaid boolean No Default: false
payment_source string(80) No
payment_reference_id string(80) No
payment_amount integer No
proc_time integer No Default: 0
reason string No
payment_verified boolean No Default: false
curbside boolean No Default: false
third_party_request_id integer No
api_id string(64) No
cancellation_notes text No
external_error text No
payment_auth_id string No
refresh_token string No
token_expires_at datetime No
tip_calculated integer No Default: 0
processing_fee integer No Default: 0
ip string No
oauth_token text No
otp string No
client_type string(20) No
fulfillment_method string(20) No
fulfillment_sub_type string(30) No
integrator_id integer No
api_version string(10) No
POST /api/v3/incoming_orders

Create an incoming order

Creates an incoming (online / third-party) order for the authenticated venue. The request body must be wrapped under the "incoming_order" key and matches IncomingOrderInput. Server-side behavior: * "total" and item "price" amounts are sent in dollars and stored as integer cents. * order_type "curbside_pickup" is rewritten to "pickup" with curbside = true. * "integrator_id" and "api_version" are derived from the API credentials and cannot be set by the client. * "requested_window_start_time" / "_end_time" may be a plain string or an object { hour, minute, ampm }. On success responds 200 with IncomingOrderResponse; on validation failure responds 422 with { errors: [ "...", ... ] }.

Parameters

Name Type In Required Description
body IncomingOrderInput body Yes Order payload, wrapped under the "incoming_order" key

Example

curl -X POST "https://app.posabit.com/api/v3/incoming_orders" \
  -H "Authorization: Basic BASE64(INTEGRATOR_TOKEN:VENUE_TOKEN)" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
  "incoming_order": {
    "order_type": "pickup",
    "first_name": "John",
    "last_name": "Doe",
    "email": "test@posabit.com",
    "telephone": "5551112222",
    "address": "",
    "city": "",
    "state_abbrev": "",
    "zipcode": "",
    "reference_no": "12345-86-123",
    "notes": "Gets free lighter",
    "requested_payment_method": "cash",
    "source": "online_store",
    "order_items_attributes": [
      {
        "product_parent_id": "Treehawk Farms - Wifi OG Pre-Roll 2pk (1g)",
        "product_id": 808542,
        "quantity": 2
      }
    ]
  }
}'

Request Body

{
  "incoming_order": {
    "order_type": "pickup",
    "first_name": "John",
    "last_name": "Doe",
    "email": "test@posabit.com",
    "telephone": "5551112222",
    "address": "",
    "city": "",
    "state_abbrev": "",
    "zipcode": "",
    "reference_no": "12345-86-123",
    "notes": "Gets free lighter",
    "requested_payment_method": "cash",
    "source": "online_store",
    "order_items_attributes": [
      {
        "product_parent_id": "Treehawk Farms - Wifi OG Pre-Roll 2pk (1g)",
        "product_id": 808542,
        "quantity": 2
      }
    ]
  }
}

Responses

Status Description
200 Success
400 Bad Request
422 Invalid parameters
500 Internal Server Error

Response Fields

Field Type Required Description
reference_no string No External order number; must be unique per venue
first_name string Yes Customer first name (required unless a POS source)
last_name string Yes Customer last name (required unless a POS source)
email string No Customer email
telephone string No Customer phone (digits only)
customer_id integer No Existing POSaBIT customer id
total float No Order total in dollars (stored as integer cents)
order_type string No Order type
client_type string No Originating client
fulfillment_method string No Fulfillment method
fulfillment_sub_type string No Fulfillment sub type
curbside boolean No DEPRECATED: use fulfillment_sub_type "curbside" instead. Curbside pickup flag.
source string No DEPRECATED: use client_type / fulfillment_method instead. Order source channel (defaults to online_store).
requested_date string No Requested date (YYYY-MM-DD)
requested_payment_method string No Requested payment method
requested_window_start_time string No Requested window start; string or { hour, minute, ampm }
requested_window_end_time string No Requested window end; string or { hour, minute, ampm }
notes string No Order notes (emoji are tokenized server-side)
customer_notes string No Customer-facing notes
address string No Delivery address
city string No Delivery city
state_abbrev string No State abbreviation
zipcode string No ZIP code (max 6 characters)
payment_prepaid boolean No Whether payment was prepaid
payment_source string No Payment source
payment_reference_id string No Payment reference id (unique per venue + payment_source when payment is verified)
payment_amount integer No Payment amount in cents
status_callback string No Status callback URL/token
processed_by string No Who processed the order
delivered_at string No Delivered timestamp (ISO 8601)
order_items_attributes array (IncomingOrderItemInput) No Line items

Response Example

{
  "code": 1,
  "incoming_order": {
    "id": 19800,
    "aasm_state": "pending",
    "reference_no": "12345-86-123",
    "first_name": "John",
    "last_name": "Doe",
    "source": "online_store",
    "order_type": "pickup",
    "notes": "Gets free lighter",
    "delivered_at": null,
    "requested_date": null,
    "requested_window_start_time": {},
    "requested_window_end_time": {},
    "requested_payment_method": "cash",
    "payment_verified": false,
    "curbside": false,
    "created_at": "2024-10-03T19:12:19.000Z",
    "updated_at": "2024-10-03T19:12:19.000Z"
  },
  "order_items": [
    {
      "item_id": 32744,
      "product_id": 808542,
      "sku_id": 115866,
      "manifest_item_id": null,
      "product_name": "Treehawk Farms - Wifi OG Pre-Roll 2pk (1g)",
      "product_brand": "Treehawk Farms",
      "product_strain": "Wifi OG",
      "weight": null,
      "quantity": 2,
      "unit_quantity": "2.0",
      "price": 1000,
      "discount": null,
      "tax": null,
      "tier_weight_id": null,
      "coupons": [],
      "taxes": [],
      "created_at": "2024-10-03T19:12:19.000Z",
      "updated_at": "2024-10-03T19:12:19.000Z"
    }
  ]
}
GET /api/v3/incoming_orders/{id}

Find an incoming order by reference number or id

Looks the order up by reference_no first, then by numeric id. Response: { code, incoming_order: {...}, order_items: [...] }.

Parameters

Name Type In Required Description
id string path Yes Reference number or numeric id

Example

curl -X GET "https://app.posabit.com/api/v3/incoming_orders/{id}" \
  -H "Authorization: Basic BASE64(INTEGRATOR_TOKEN:VENUE_TOKEN)" \
  -H "Accept: application/json"

Responses

Status Description
200 Success
404 Requested reference number or id not found
422 Invalid parameters
500 Internal Server Error

Response Fields

Field Type Required Description
reference_no string No
customer_type string No Default: recreational
terminal_id integer No
customer_id integer No
local_order_id string No
driver_id integer No
vehicle_id integer No
aasm_state string No Default: pending
pos_status string No
source string(30) No Default: online_store
first_name string No
last_name string No
telephone string No
email string No
processed_by string No
saved_order_data text No
created_at datetime Yes
updated_at datetime Yes
processed_at datetime No
order_type string No Default: pickup
requested_payment_method string No
address string No Default:
city string No Default:
state_abbrev string No Default:
zipcode string No Default:
country string No Default: US
lat float No
lng float No
notes text No
internal_notes text No
departured_at datetime No
delivered_at datetime No
requested_date date No
requested_window_start_time string(100) No
requested_window_end_time string(100) No
planned_route text No
delivery_status string No
sts_error text No
total integer No
tip_amount integer No Default: 0
tip_type string No
created_by string No
status_callback text No
payment_prepaid boolean No Default: false
payment_source string(80) No
payment_reference_id string(80) No
payment_amount integer No
proc_time integer No Default: 0
reason string No
payment_verified boolean No Default: false
curbside boolean No Default: false
third_party_request_id integer No
api_id string(64) No
cancellation_notes text No
external_error text No
payment_auth_id string No
refresh_token string No
token_expires_at datetime No
tip_calculated integer No Default: 0
processing_fee integer No Default: 0
ip string No
oauth_token text No
otp string No
client_type string(20) No
fulfillment_method string(20) No
fulfillment_sub_type string(30) No
integrator_id integer No
api_version string(10) No

Response Example

{
  "code": 1,
  "incoming_order": {
    "id": 19798,
    "aasm_state": "processing",
    "reference_no": "3221-1727814981-bb1314bf",
    "first_name": "A",
    "last_name": "A",
    "source": "posabit_v2",
    "order_type": "pickup",
    "notes": null,
    "delivered_at": null,
    "requested_date": null,
    "requested_window_start_time": {},
    "requested_window_end_time": {},
    "requested_payment_method": "cash",
    "payment_verified": false,
    "curbside": false,
    "created_at": "2024-10-01T20:39:23.000Z",
    "updated_at": "2024-10-01T20:41:19.000Z"
  },
  "order_items": [
    {
      "item_id": 32713,
      "product_id": 800583,
      "sku_id": 107907,
      "manifest_item_id": null,
      "product_name": "'oh' McDonald Farms - Nuken (1g)",
      "product_brand": "'oh' McDonald Farms",
      "product_strain": "Nuken",
      "weight": "1.1g",
      "quantity": 1,
      "unit_quantity": "1.1",
      "price": 1500,
      "discount": 0,
      "tax": 473,
      "tier_weight_id": null,
      "coupons": [],
      "taxes": [],
      "created_at": "2024-10-01T20:36:21.000Z",
      "updated_at": "2024-10-01T20:36:21.000Z"
    }
  ]
}

Models

IncomingOrderInput

Request body for creating an incoming order (wrapped under the "incoming_order" key).

Property Type Required Description
reference_no string No External order number; must be unique per venue
first_name string Yes Customer first name (required unless a POS source)
last_name string Yes Customer last name (required unless a POS source)
email string No Customer email
telephone string No Customer phone (digits only)
customer_id integer No Existing POSaBIT customer id
total float No Order total in dollars (stored as integer cents)
order_type string No Order type
Allowed values: pickup, in_store, delivery, saved_order, kiosk, curbside_pickup
client_type string No Originating client
Allowed values: web, app, kiosk, pos
fulfillment_method string No Fulfillment method
Allowed values: pickup, delivery, in_store
fulfillment_sub_type string No Fulfillment sub type
Allowed values: drive_thru, curbside, in_store
curbside boolean No DEPRECATED: use fulfillment_sub_type "curbside" instead. Curbside pickup flag.
source string No DEPRECATED: use client_type / fulfillment_method instead. Order source channel (defaults to online_store).
requested_date string No Requested date (YYYY-MM-DD)
requested_payment_method string No Requested payment method
requested_window_start_time string No Requested window start; string or { hour, minute, ampm }
requested_window_end_time string No Requested window end; string or { hour, minute, ampm }
notes string No Order notes (emoji are tokenized server-side)
customer_notes string No Customer-facing notes
address string No Delivery address
city string No Delivery city
state_abbrev string No State abbreviation
zipcode string No ZIP code (max 6 characters)
payment_prepaid boolean No Whether payment was prepaid
payment_source string No Payment source
payment_reference_id string No Payment reference id (unique per venue + payment_source when payment is verified)
payment_amount integer No Payment amount in cents
status_callback string No Status callback URL/token
processed_by string No Who processed the order
delivered_at string No Delivered timestamp (ISO 8601)
order_items_attributes array (IncomingOrderItemInput) No Line items
IncomingOrderItemInput

A line item within an incoming order (order_items_attributes).

Property Type Required Description
id integer No Existing line-item id (for updates)
product_id integer No POSaBIT product id
product_name string Yes Product name
product_brand string No Product brand
product_strain string No Product strain
quantity integer Yes Quantity (greater than 0 and less than 100)
price integer No Unit price in cents (often derived from the product)
weight string No Weight
tier_weight_id integer No Tier weight id
order_item_coupons_attributes array (OrderItemCouponInput) No Coupons applied to the item
order_item_taxes_attributes array (OrderItemTaxInput) No Taxes applied to the item
OrderItemCouponInput

A coupon applied to a line item (order_item_coupons_attributes). Entries with a blank pos_coupon_id are rejected.

Property Type Required Description
pos_coupon_id integer Yes POS coupon id
order_item_id integer No Order item id
ref_name string No Reference name
ref_number string No Reference number
amount integer No Discount amount in cents
OrderItemTaxInput

A tax applied to a line item (order_item_taxes_attributes).

Property Type Required Description
tax_id integer No Tax id
order_item_id integer No Order item id
amount integer No Tax amount in cents
IncomingOrderResponse

Incoming order as returned by the API. show/create return { code, incoming_order: {...}, order_items: [...] }; index nests the same pair per element under incoming_orders[]. The order_items array is a sibling of incoming_order, not nested inside it.

Property Type Required Description
id integer No Order id
aasm_state string No Workflow state (pending, processing, completed, en_route, delivered, cancelled, ...)
reference_no string No External order number
first_name string No Customer first name
last_name string No Customer last name
source string No DEPRECATED: superseded by client_type / fulfillment_method. Order source channel.
order_type string No Order type
client_type string No Originating client
fulfillment_method string No Fulfillment method
fulfillment_sub_type string No Fulfillment sub type
integrator_id integer No Integrator id (server-derived)
api_version string No API version that created the order
address string No Delivery address
city string No Delivery city
state_abbrev string No State abbreviation
zipcode string No ZIP code
notes string No Order notes
delivered_at string No Delivered timestamp
requested_date string No Requested date
requested_window_start_time string No Requested window start
requested_window_end_time string No Requested window end
requested_payment_method string No Requested payment method
payment_verified boolean No Whether payment is verified
curbside boolean No DEPRECATED: superseded by fulfillment_sub_type. Curbside flag.
created_at string No Created timestamp
updated_at string No Updated timestamp
order_items array (IncomingOrderItemResponse) No Line items (returned as a sibling array)
IncomingOrderItemResponse

A line item in an incoming order response.

Property Type Required Description
item_id integer No Line item id
product_id integer No Product id
sku_id integer No Inventory SKU id
manifest_item_id integer No Manifest item id
product_name string No Product name
product_brand string No Product brand
product_strain string No Product strain
weight string No Weight
quantity integer No Quantity
unit_quantity float No Unit quantity
price integer No Unit price in cents
discount integer No Discount in cents
tax integer No Tax in cents
tier_weight_id integer No Tier weight id
coupons array No Applied coupons
taxes array No Applied taxes
created_at string No Created timestamp
updated_at string No Updated timestamp

Incoming Quotes

6 endpoints
PUT /api/v3/incoming_quotes/{id}/items

Replace an incoming quote's line items

Replaces all line items on the quote and recalculates totals. Body is wrapped under the "quote" key and contains an "items" array (QuoteItemsInput). Each item's unit + unit_type are combined into a weight (e.g. "3.5g"). Responds with QuoteResponse.

Parameters

Name Type In Required Description
id string path Yes Quote reference number
body QuoteItemsInput body Yes Items payload, wrapped under the "quote" key

Example

curl -X PUT "https://app.posabit.com/api/v3/incoming_quotes/{id}/items" \
  -H "Authorization: Basic BASE64(INTEGRATOR_TOKEN:VENUE_TOKEN)" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{...}'

Responses

Status Description
200 Success
400 Bad Request
422 Invalid parameters

Response Fields

Field Type Required Description
items array (QuoteItemInput) Yes Replacement line items
POST /api/v3/incoming_quotes/{id}/ach_payment_auth

Authorize an ACH (PosaBIT Pay) payment for a quote

Requests a Hypur / PosaBIT Pay payment authorization for the quote. Body is wrapped under the "payment" key (QuotePaymentAuthInput).

Parameters

Name Type In Required Description
id string path Yes Quote reference number
body QuotePaymentAuthInput body Yes Payment authorization payload, wrapped under the "payment" key

Example

curl -X POST "https://app.posabit.com/api/v3/incoming_quotes/{id}/ach_payment_auth" \
  -H "Authorization: Basic BASE64(INTEGRATOR_TOKEN:VENUE_TOKEN)" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{...}'

Responses

Status Description
200 Success
400 Bad Request
422 Invalid parameters

Response Fields

Field Type Required Description
pac string No Hypur PAC (personal access code)
code string No Authorization code
redirect_uri string No Redirect URI
PUT /api/v3/incoming_quotes/{id}/finalize

Finalize an incoming quote (submits an order)

Converts the quote into an Incoming::Order. For PosaBIT Pay quotes this also captures the previously authorized ACH payment. Responds with QuoteResponse, whose incoming_order_id is populated on success.

Parameters

Name Type In Required Description
id string path Yes Quote reference number

Example

curl -X PUT "https://app.posabit.com/api/v3/incoming_quotes/{id}/finalize" \
  -H "Authorization: Basic BASE64(INTEGRATOR_TOKEN:VENUE_TOKEN)" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{...}'

Responses

Status Description
200 Success
400 Bad Request
422 Invalid parameters
POST /api/v3/incoming_quotes

Create an incoming quote

Creates a price quote (cart pre-calculation) for the authenticated venue. The request body must be wrapped under the "quote" key and matches QuoteInput, with nested fulfillment / customer / payment objects and an items array. Server-side behavior: * reference_no is generated when blank; ip, integrator_id and api_version are derived from the request/credentials and cannot be set by the client. * customer.customer_id, when present, links an existing customer. * monetary amounts (tip_amount, processing_fee, item price/discount, totals) are in integer cents. * totals and taxes are (re)calculated server-side after save. Responds 200 with { code, quote: {...} } (QuoteResponse); on validation failure responds 422 with { errors: [ "...", ... ] }.

Parameters

Name Type In Required Description
body QuoteInput body Yes Quote payload, wrapped under the "quote" key

Example

curl -X POST "https://app.posabit.com/api/v3/incoming_quotes" \
  -H "Authorization: Basic BASE64(INTEGRATOR_TOKEN:VENUE_TOKEN)" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
  "quote": {
    "incoming_order_id": null,
    "venue_id": 3221,
    "fulfillment": {
      "source": "posabit_v2",
      "order_type": "pickup",
      "requested_date": null,
      "requested_window_start_time": null,
      "requested_window_end_time": null,
      "tip_amount": 0,
      "tip_type": null,
      "processing_fee": 300,
      "tip_calculated": 0,
      "delivery_address": {
        "address": "",
        "city": "",
        "state_abbrev": "",
        "zipcode": ""
      }
    },
    "customer": {
      "first_name": "Jane",
      "last_name": "Doe",
      "email": "test@posabit.com",
      "telephone": "5551112222",
      "customer_type": "recreational"
    },
    "payment": {
      "requested_payment_method": "cash"
    },
    "items": [
      {
        "sku_id": 107907,
        "quantity": 1,
        "product_id": 800583,
        "name": "'oh' McDonald Farms - Nuken (1g)",
        "unit_type": "g",
        "unit": "1.1",
        "variant_id": "k107907",
        "quantity_on_hand": 30,
        "test_results": {
          "thc": {
            "current": 4.2,
            "low": 4.2,
            "high": 4.2,
            "unit_type": "%"
          },
          "cbd": {
            "current": 10,
            "low": 10,
            "high": 10,
            "unit_type": "%"
          },
          "thca": null,
          "cbda": null,
          "total_thc": {
            "current": 4.2,
            "low": 4.2,
            "high": 4.2,
            "unit_type": "%"
          },
          "total_cbd": null,
          "thcv": null,
          "cbdv": null,
          "cbc": null,
          "cbca": null,
          "cbcv": null,
          "cbn": null,
          "cbg": null,
          "cbga": null,
          "cbgv": null
        },
        "terpene_results": [],
        "product_image": {
          "is_product_specific_image": true,
          "lg": "https://pbit-staging.s3.amazonaws.com/images/image/210/large_image.jpg",
          "md": "https://pbit-staging.s3.amazonaws.com/images/image/210/medium_image.jpg"
        },
        "discount": 0,
        "price": 1500,
        "discount_ids": []
      }
    ]
  }
}'

Request Body

{
  "quote": {
    "incoming_order_id": null,
    "venue_id": 3221,
    "fulfillment": {
      "source": "posabit_v2",
      "order_type": "pickup",
      "requested_date": null,
      "requested_window_start_time": null,
      "requested_window_end_time": null,
      "tip_amount": 0,
      "tip_type": null,
      "processing_fee": 300,
      "tip_calculated": 0,
      "delivery_address": {
        "address": "",
        "city": "",
        "state_abbrev": "",
        "zipcode": ""
      }
    },
    "customer": {
      "first_name": "Jane",
      "last_name": "Doe",
      "email": "test@posabit.com",
      "telephone": "5551112222",
      "customer_type": "recreational"
    },
    "payment": {
      "requested_payment_method": "cash"
    },
    "items": [
      {
        "sku_id": 107907,
        "quantity": 1,
        "product_id": 800583,
        "name": "'oh' McDonald Farms - Nuken (1g)",
        "unit_type": "g",
        "unit": "1.1",
        "variant_id": "k107907",
        "quantity_on_hand": 30,
        "test_results": {
          "thc": {
            "current": 4.2,
            "low": 4.2,
            "high": 4.2,
            "unit_type": "%"
          },
          "cbd": {
            "current": 10,
            "low": 10,
            "high": 10,
            "unit_type": "%"
          },
          "thca": null,
          "cbda": null,
          "total_thc": {
            "current": 4.2,
            "low": 4.2,
            "high": 4.2,
            "unit_type": "%"
          },
          "total_cbd": null,
          "thcv": null,
          "cbdv": null,
          "cbc": null,
          "cbca": null,
          "cbcv": null,
          "cbn": null,
          "cbg": null,
          "cbga": null,
          "cbgv": null
        },
        "terpene_results": [],
        "product_image": {
          "is_product_specific_image": true,
          "lg": "https://pbit-staging.s3.amazonaws.com/images/image/210/large_image.jpg",
          "md": "https://pbit-staging.s3.amazonaws.com/images/image/210/medium_image.jpg"
        },
        "discount": 0,
        "price": 1500,
        "discount_ids": []
      }
    ]
  }
}

Responses

Status Description
200 Success
400 Bad Request
422 Invalid parameters
500 Internal Server Error

Response Fields

Field Type Required Description
reference_no string No Quote reference number (generated when blank)
fulfillment QuoteFulfillmentInput No Fulfillment details
customer QuoteCustomerInput No Customer details
payment QuotePaymentInput No Payment details
items array (QuoteItemInput) No Line items

Response Example

{
  "code": 1,
  "quote": {
    "reference_no": "3221-1727982977-3f59c5f1",
    "incoming_order_id": null,
    "venue_id": 3221,
    "fulfillment": {
      "source": "posabit_v2",
      "order_type": "pickup",
      "requested_date": null,
      "requested_window_start_time": null,
      "requested_window_end_time": null,
      "tip_amount": 0,
      "tip_type": null,
      "processing_fee": 300,
      "tip_calculated": 0,
      "delivery_address": {
        "address": "",
        "city": "",
        "state_abbrev": "",
        "zipcode": ""
      }
    },
    "customer": {
      "first_name": "Jane",
      "last_name": "Doe",
      "email": "test@posabit.com",
      "telephone": "5551112222",
      "customer_type": "recreational"
    },
    "payment": {
      "requested_payment_method": "cash"
    },
    "items": [
      {
        "sku_id": 107907,
        "quantity": 1,
        "product_id": 800583,
        "name": "'oh' McDonald Farms - Nuken (1g)",
        "unit_type": "g",
        "unit": "1.1",
        "variant_id": "k107907",
        "quantity_on_hand": 30,
        "test_results": {
          "thc": {
            "current": 4.2,
            "low": 4.2,
            "high": 4.2,
            "unit_type": "%"
          },
          "cbd": {
            "current": 10,
            "low": 10,
            "high": 10,
            "unit_type": "%"
          },
          "thca": null,
          "cbda": null,
          "total_thc": {
            "current": 4.2,
            "low": 4.2,
            "high": 4.2,
            "unit_type": "%"
          },
          "total_cbd": null,
          "thcv": null,
          "cbdv": null,
          "cbc": null,
          "cbca": null,
          "cbcv": null,
          "cbn": null,
          "cbg": null,
          "cbga": null,
          "cbgv": null
        },
        "terpene_results": [],
        "product_image": {
          "is_product_specific_image": true,
          "lg": "https://pbit-staging.s3.amazonaws.com/images/image/210/large_image.jpg",
          "md": "https://pbit-staging.s3.amazonaws.com/images/image/210/medium_image.jpg"
        },
        "discount": 0,
        "price": 1500,
        "discount_ids": []
      }
    ],
    "taxes": [
      {
        "tax_id": 4286,
        "name": "Bellingham, WA",
        "price_included": true,
        "amount": 93,
        "tax_rate": "9.0"
      },
      {
        "tax_id": 4285,
        "name": "Cannabis Tax",
        "price_included": true,
        "amount": 380,
        "tax_rate": "37.0"
      }
    ],
    "totals": {
      "discount_ids": [],
      "subtotal": 1500,
      "discount": 0,
      "tax": 473,
      "total": 1500
    },
    "limits": {
      "exceeded_limits": [],
      "sum_per_limit": {
        "recreational_flower": 1.1
      }
    }
  }
}
GET /api/v3/incoming_quotes/{id}

Find an incoming quote by reference number

Looks the quote up by reference_no. Responds with { code, quote: {...} } matching QuoteResponse, or { error: "Quote not found" } when missing.

Parameters

Name Type In Required Description
id string path Yes Quote reference number

Example

curl -X GET "https://app.posabit.com/api/v3/incoming_quotes/{id}" \
  -H "Authorization: Basic BASE64(INTEGRATOR_TOKEN:VENUE_TOKEN)" \
  -H "Accept: application/json"

Responses

Status Description
200 Success
404 Requested reference number or id not found
422 Invalid parameters
500 Internal Server Error

Response Fields

Field Type Required Description
customer_type string No Default: recreational
reference_no string No
subtotal integer No Default: 0
tax integer No Default: 0
discount integer No Default: 0
total integer No Default: 0
tip_amount integer No Default: 0
tip_type string No
created_at datetime Yes
updated_at datetime Yes
telephone string No
customer_id integer No
order_type string No Default: pickup
address string No Default:
city string No Default:
state_abbrev string No Default:
zipcode string No Default:
country string No Default: US
last_name string No
first_name string No
email string No
payment_source string No
requested_payment_method string No
source string No Default: posabit_v2
requested_date date No
requested_window_start_time time No
requested_window_end_time time No
auto_apply_coupons boolean No Default: false
payment_auth_id string No
refresh_token string No
token_expires_at datetime No
tip_calculated integer No Default: 0
processing_fee integer No Default: 0
payment_amount integer No Default: 0
notes text No
ip string No
oauth_token text No
otp string No
client_type string(20) No
fulfillment_method string(20) No
fulfillment_sub_type string(30) No
integrator_id integer No
api_version string(10) No

Response Example

{
  "code": 1,
  "quote": {
    "reference_no": "3221-1727814981-bb1314bf",
    "incoming_order_id": null,
    "venue_id": 3221,
    "fulfillment": {
      "source": "posabit_v2",
      "order_type": "pickup",
      "requested_date": null,
      "requested_window_start_time": null,
      "requested_window_end_time": null,
      "tip_amount": 0,
      "tip_type": null,
      "processing_fee": 300,
      "tip_calculated": 0,
      "delivery_address": {
        "address": "",
        "city": "",
        "state_abbrev": "",
        "zipcode": ""
      }
    },
    "customer": {
      "first_name": "Jane",
      "last_name": "Doe",
      "email": "test@posabit.com",
      "telephone": "5551111111",
      "customer_type": "recreational"
    },
    "payment": {
      "requested_payment_method": "cash"
    },
    "items": [
      {
        "sku_id": 107907,
        "quantity": 1,
        "product_id": 800583,
        "name": "'oh' McDonald Farms - Nuken (1g)",
        "unit_type": "g",
        "unit": "1.1",
        "variant_id": "k107907",
        "quantity_on_hand": 30,
        "test_results": {
          "thc": {
            "current": 4.2,
            "low": 4.2,
            "high": 4.2,
            "unit_type": "%"
          },
          "cbd": {
            "current": 10,
            "low": 10,
            "high": 10,
            "unit_type": "%"
          },
          "thca": null,
          "cbda": null,
          "total_thc": {
            "current": 4.2,
            "low": 4.2,
            "high": 4.2,
            "unit_type": "%"
          },
          "total_cbd": null,
          "thcv": null,
          "cbdv": null,
          "cbc": null,
          "cbca": null,
          "cbcv": null,
          "cbn": null,
          "cbg": null,
          "cbga": null,
          "cbgv": null
        },
        "terpene_results": [],
        "product_image": {
          "is_product_specific_image": true,
          "lg": "https://pbit-staging.s3.amazonaws.com/images/image/210/large_image.jpg",
          "md": "https://pbit-staging.s3.amazonaws.com/images/image/210/medium_image.jpg"
        },
        "discount": 0,
        "price": 1500,
        "discount_ids": []
      }
    ],
    "taxes": [],
    "totals": {
      "discount_ids": [],
      "subtotal": 1500,
      "discount": 0,
      "tax": 473,
      "total": 1500
    },
    "limits": {
      "exceeded_limits": [],
      "sum_per_limit": {
        "recreational_flower": 1.1
      }
    }
  }
}
PATCH /api/v3/incoming_quotes/{id}

Update an incoming quote

Updates the quote's fulfillment / customer / payment details and recalculates totals. Body is wrapped under the "quote" key (QuoteInput). Responds with QuoteResponse.

Parameters

Name Type In Required Description
id string path Yes Quote reference number
body QuoteInput body Yes Quote payload, wrapped under the "quote" key

Example

curl -X PATCH "https://app.posabit.com/api/v3/incoming_quotes/{id}" \
  -H "Authorization: Basic BASE64(INTEGRATOR_TOKEN:VENUE_TOKEN)" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{...}'

Responses

Status Description
200 Success
400 Bad Request
422 Invalid parameters

Response Fields

Field Type Required Description
reference_no string No Quote reference number (generated when blank)
fulfillment QuoteFulfillmentInput No Fulfillment details
customer QuoteCustomerInput No Customer details
payment QuotePaymentInput No Payment details
items array (QuoteItemInput) No Line items

Models

QuoteInput

Request body for creating/updating a quote (wrapped under the "quote" key).

Property Type Required Description
reference_no string No Quote reference number (generated when blank)
fulfillment QuoteFulfillmentInput No Fulfillment details
customer QuoteCustomerInput No Customer details
payment QuotePaymentInput No Payment details
items array (QuoteItemInput) No Line items
QuoteFulfillmentInput

Fulfillment block of a quote request.

Property Type Required Description
source string No DEPRECATED: use client_type / fulfillment_method instead. Order source channel.
order_type string No Order type (e.g. pickup, delivery, in_store, kiosk)
client_type string No Originating client
Allowed values: web, app, kiosk, pos
fulfillment_method string No Fulfillment method
Allowed values: pickup, delivery, in_store
fulfillment_sub_type string No Fulfillment sub type
Allowed values: drive_thru, curbside, in_store
requested_date string No Requested date (YYYY-MM-DD)
requested_window_start_time string No Requested pickup/delivery window start time
requested_window_end_time string No Requested pickup/delivery window end time
tip_amount integer No Tip amount in cents
tip_type string No Tip type
processing_fee integer No Processing fee in cents
delivery_address QuoteDeliveryAddressInput No Delivery address
QuoteDeliveryAddressInput

Delivery address within a quote's fulfillment block.

Property Type Required Description
address string No Street address
city string No City
state_abbrev string No State abbreviation
zipcode string No ZIP code
QuoteCustomerInput

Customer block of a quote request.

Property Type Required Description
customer_id integer No Existing POSaBIT customer id (links the quote to that customer)
first_name string No Customer first name
last_name string No Customer last name
email string No Customer email
telephone string No Customer phone
customer_type string No Customer type (e.g. recreational, medical)
QuotePaymentInput

Payment block of a quote request.

Property Type Required Description
requested_payment_method string No Requested payment method
QuoteItemInput

A line item in a quote request (under quote.items). Supply product_id or sku_id.

Property Type Required Description
product_id integer No POSaBIT product id
sku_id integer No Inventory SKU id (mapped to inventory_sku_id)
unit string No Unit amount, combined with unit_type into a weight (e.g. "3.5")
unit_type string No Unit type, e.g. "g"
quantity integer Yes Quantity (greater than 0)
QuoteItemsInput

Body for the items endpoint (wrapped under the "quote" key).

Property Type Required Description
items array (QuoteItemInput) Yes Replacement line items
QuotePaymentAuthInput

Body for ach_payment_auth (wrapped under the "payment" key).

Property Type Required Description
pac string No Hypur PAC (personal access code)
code string No Authorization code
redirect_uri string No Redirect URI
QuoteResponse

Quote as returned by the API. Every endpoint responds with { code, quote: {...} }; this model is the "quote" object.

Property Type Required Description
reference_no string No Quote reference number
incoming_order_id integer No Resulting order id (populated after finalize)
venue_id integer No Venue id
integrator_id integer No Integrator id (server-derived)
api_version string No API version that created the quote
fulfillment QuoteFulfillmentResponse No Fulfillment details
customer QuoteCustomerResponse No Customer details
payment QuotePaymentResponse No Payment details
items array (QuoteItemResponse) No Line items
taxes array (QuoteTaxResponse) No Tax summaries
totals QuoteTotalsResponse No Order totals
limits QuoteLimitsResponse No Purchase-limit evaluation
QuoteFulfillmentResponse

Fulfillment block of a quote response.

Property Type Required Description
source string No DEPRECATED: superseded by client_type / fulfillment_method. Order source channel.
order_type string No Order type
client_type string No Originating client
fulfillment_method string No Fulfillment method
fulfillment_sub_type string No Fulfillment sub type
requested_date string No Requested date
requested_window_start_time string No Requested window start time
requested_window_end_time string No Requested window end time
tip_amount integer No Tip amount in cents
tip_type string No Tip type
processing_fee integer No Processing fee in cents
tip_calculated integer No Calculated tip in cents
delivery_address QuoteDeliveryAddressResponse No Delivery address
QuoteDeliveryAddressResponse

Delivery address within a quote response.

Property Type Required Description
address string No Street address
city string No City
state_abbrev string No State abbreviation
zipcode string No ZIP code
QuoteCustomerResponse

Customer block of a quote response.

Property Type Required Description
first_name string No Customer first name
last_name string No Customer last name
email string No Customer email
telephone string No Customer phone
customer_type string No Customer type
QuotePaymentResponse

Payment block of a quote response.

Property Type Required Description
requested_payment_method string No Requested payment method
QuoteItemResponse

A line item in a quote response.

Property Type Required Description
sku_id integer No Inventory SKU id
product_id integer No Product id
variant_id integer No Variant id
name string No Product name
unit string No Unit amount
unit_type string No Unit type
quantity integer No Quantity
quantity_on_hand float No Quantity on hand
price integer No Price in cents
discount integer No Discount in cents
discount_ids array No Ids of applied discounts
product_image object No Product image URLs
QuoteTaxResponse

A tax summary line in a quote response.

Property Type Required Description
tax_id integer No Tax id
name string No Tax name
price_included boolean No Whether the tax is included in the price
amount integer No Tax amount in cents
tax_rate float No Tax rate
QuoteTotalsResponse

Totals block of a quote response (amounts in cents).

Property Type Required Description
discount_ids array No Ids of applied discounts
subtotal integer No Subtotal in cents
discount integer No Discount in cents
tax integer No Tax in cents
total integer No Total in cents
QuoteLimitsResponse

Purchase-limit evaluation for the quote.

Property Type Required Description
exceeded_limits array No Limits that were exceeded
sum_per_limit object No Summed quantity per limit category
exceeded_quantities array No Quantities that exceeded a limit

Info

1 endpoints
GET /api/v3/venue/info

Venue Info

Example

curl -X GET "https://app.posabit.com/api/v3/venue/info" \
  -H "Authorization: Basic BASE64(INTEGRATOR_TOKEN:VENUE_TOKEN)" \
  -H "Accept: application/json"

Responses

Status Description
200 Success
400 Bad Request
422 Invalid parameters
500 Internal Server Error

Coupons

4 endpoints
GET /api/v3/venue/coupons/{coupon_id}/coupon_customers

List customers with access to a customer specific coupon

Parameters

Name Type In Required Description
coupon_id integer path Yes Coupon ID
page integer query No Page Number
per_page integer query No Results per page (default 1000)

Example

curl -X GET "https://app.posabit.com/api/v3/venue/coupons/{coupon_id}/coupon_customers" \
  -H "Authorization: Basic BASE64(INTEGRATOR_TOKEN:VENUE_TOKEN)" \
  -H "Accept: application/json"

Responses

Status Description
200 Success
401 Unauthorized
404 Not Found
POST /api/v3/venue/coupons/{coupon_id}/coupon_customers

Give a customer access to a customer specific coupon

Post JSON in body {"coupon_customer": {"customer_id": 123, "notes": "Referral reward", "expires_at": "2026-12-31T23:59:59Z"}}

Parameters

Name Type In Required Description
coupon_id integer path Yes Coupon ID
body coupon_customer body Yes JSON formatted body

Example

curl -X POST "https://app.posabit.com/api/v3/venue/coupons/{coupon_id}/coupon_customers" \
  -H "Authorization: Basic BASE64(INTEGRATOR_TOKEN:VENUE_TOKEN)" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{...}'

Responses

Status Description
201 Success
401 Unauthorized
404 Not Found
422 Unprocessable Entity
PATCH /api/v3/venue/coupons/{coupon_id}/coupon_customers/{id}

Update a customer's access to a customer specific coupon

Patch JSON in body {"coupon_customer": {"active": false, "notes": "Updated note", "expires_at": "2026-12-31T23:59:59Z"}}

Parameters

Name Type In Required Description
coupon_id integer path Yes Coupon ID
id integer path Yes CouponCustomer ID
body coupon_customer body Yes JSON formatted body

Example

curl -X PATCH "https://app.posabit.com/api/v3/venue/coupons/{coupon_id}/coupon_customers/{id}" \
  -H "Authorization: Basic BASE64(INTEGRATOR_TOKEN:VENUE_TOKEN)" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{...}'

Responses

Status Description
200 Success
401 Unauthorized
404 Not Found
422 Unprocessable Entity
GET /api/v3/venue/coupons

Get all available coupons for a venue

Parameters

Name Type In Required Description
page integer query No Page Number
per_page integer query No Results per page (default 1000)

Example

curl -X GET "https://app.posabit.com/api/v3/venue/coupons" \
  -H "Authorization: Basic BASE64(INTEGRATOR_TOKEN:VENUE_TOKEN)" \
  -H "Accept: application/json"

Responses

Status Description
200 Success
401 Unauthorized

Customers

4 endpoints
POSaBIT offers custom profiles for each of your loyalty customers. With just the scan of the customer's ID, the point of sale pulls up the customer’s favorite types of products, displays their purchase history, shows their available loyalty points/rewards, and even has an area where you can easily make notes about the customer.
GET /api/v3/venue/customers

Get all customers for a venue

Parameters

Name Type In Required Description
page integer query No Page Number
per_page integer query No Results per page (default 1000)
q[updated_at_gt] datestring query No Filter results using ransack syntax (e.g. q[updated_at_gt]='2019-07-01' would return employees updated since 2019-07-01)
q[telephone_eq] string query No Filter results using ransack syntax (e.g. q[customer_telephone_eq]='8085550100' would return customers where telephone = 8085550100)

Example

curl -X GET "https://app.posabit.com/api/v3/venue/customers" \
  -H "Authorization: Basic BASE64(INTEGRATOR_TOKEN:VENUE_TOKEN)" \
  -H "Accept: application/json"

Responses

Status Description
200 Success (returns an array of customers)
401 Unauthorized

Response Fields

Field Type Required Description
customer_type string No Default: recreational
active boolean No Default: true
gender string(15) No
loyalty boolean No Default: false
loyalty_number string No
customer_level_id integer No
points integer Yes Default: 0
lifetime_points integer Yes Default: 0
birthday date No
first_name string No
full_name string No
id_number string No
id_expiration date No
id_type string No Default: drivers_license
profile_image string No
last_name string No
telephone string No
created_at datetime No
updated_at datetime No
zipcode string(10) No
address string No
city string No Default:
apns boolean No Default: false
referral_code string No Default:
state string No Default:
email string No
was_first_created_on_pos boolean No Default: false
country string(2) No Default: US
sms_opt_out boolean No Default: true
status string No
employee_hire_date date No
medical_card string No
medical_card_exp date No
caregiver_id string No
caregiver_id_exp date No
loyalty_member_since date No
sms_reachable boolean Yes Default: true
sms_sent_at datetime No
coupons_count integer Yes Default: 0
reviewed boolean No Default: false
terms_agreed boolean No Default: false
referral_source string No
ext_signature_src string No
certifying_provider string No
sms_opt_source string No
custom_allotment string No
medical_card_state string No
token string No
token_expires_at datetime No
medical_card_effective date No
core_token string No
one_time_pin string No
otp_expires_at datetime No
core_consumer_ref string No
last_online_login datetime No
online_account_created_at datetime No
sms_first_message_sent_at datetime No

Response Example

{
  "total_records": 34,
  "current_page": 1,
  "total_pages": 34,
  "per_page": 1,
  "customers": [
    {
      "customer": {
        "id": 279160,
        "first_name": "Jane",
        "last_name": "Doe",
        "birth_year": null,
        "gender": "female",
        "telephone": "5551111111",
        "email": "test@gmail.com",
        "active": true,
        "sms_opt_out": false,
        "sms_opt_in": true,
        "signature": "",
        "address": "",
        "zipcode": "98033",
        "city": "",
        "state": "WA",
        "birthday": null,
        "customer_type": "medical",
        "terms_agreed": false,
        "points": 105
      }
    }
  ]
}
POST /api/v3/venue/customers

Create a Customer

Post JSON in body {"customer": {"first_name": "John"...}}

Parameters

Name Type In Required Description
body customer body Yes JSON formatted body

Example

curl -X POST "https://app.posabit.com/api/v3/venue/customers" \
  -H "Authorization: Basic BASE64(INTEGRATOR_TOKEN:VENUE_TOKEN)" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
  "customer": {
    "first_name": "Test",
    "last_name": "User",
    "gender": "female",
    "telephone": "5551234567",
    "email": "test@posabit.com",
    "active": 1,
    "sms_opt_out": 1,
    "address": "123 water lane",
    "zipcode": "12345",
    "city": "Seattle",
    "state": "WA",
    "birthday": "01/01/1990",
    "terms_agreed": 1,
    "customer_type": "medical"
  }
}'

Request Body

{
  "customer": {
    "first_name": "Test",
    "last_name": "User",
    "gender": "female",
    "telephone": "5551234567",
    "email": "test@posabit.com",
    "active": 1,
    "sms_opt_out": 1,
    "address": "123 water lane",
    "zipcode": "12345",
    "city": "Seattle",
    "state": "WA",
    "birthday": "01/01/1990",
    "terms_agreed": 1,
    "customer_type": "medical"
  }
}

Responses

Status Description
200 Success
204 Record not found
400 Bad Request

Response Fields

Field Type Required Description
id integer Yes Customer Id (Read-only)
first_name string No First Name
last_name string No Last Name
birth_year string No Birth Year (Read-only)
gender string No Gender
telephone string No Telephone (Update not allowed)
email string No Email
active boolean No Active
sms_opt_out boolean No SMS Opt Out
sms_opt_in boolean No SMS Opt In (Read-only)
signature string No Signature (base64 encoded jpeg)
address string No Address
zipcode string No ZIP Code
city string No City
state string No State
birthday string No Birthday
customer_type string No Customer Type
terms_agreed boolean No Terms Agreed
points string No Points (Read-only)
points_adjustment string No Points (to add or subtract)

Response Example

{
  "customer": {
    "id": 279160,
    "first_name": "Jane",
    "last_name": "Doe",
    "birth_year": null,
    "gender": "female",
    "telephone": "5551111111",
    "email": "test@gmail.com",
    "active": true,
    "sms_opt_out": false,
    "sms_opt_in": true,
    "signature": "",
    "address": "",
    "zipcode": "98033",
    "city": "",
    "state": "WA",
    "birthday": null,
    "customer_type": "medical",
    "terms_agreed": false,
    "points": 105
  }
}
GET /api/v3/venue/customers/{id}

Read a customer

Parameters

Name Type In Required Description
id integer path Yes Customer ID

Example

curl -X GET "https://app.posabit.com/api/v3/venue/customers/{id}" \
  -H "Authorization: Basic BASE64(INTEGRATOR_TOKEN:VENUE_TOKEN)" \
  -H "Accept: application/json"

Responses

Status Description
200 Success
400 Bad Request
422 Invalid parameters
500 Internal Server Error

Response Fields

Field Type Required Description
customer_type string No Default: recreational
active boolean No Default: true
gender string(15) No
loyalty boolean No Default: false
loyalty_number string No
customer_level_id integer No
points integer Yes Default: 0
lifetime_points integer Yes Default: 0
birthday date No
first_name string No
full_name string No
id_number string No
id_expiration date No
id_type string No Default: drivers_license
profile_image string No
last_name string No
telephone string No
created_at datetime No
updated_at datetime No
zipcode string(10) No
address string No
city string No Default:
apns boolean No Default: false
referral_code string No Default:
state string No Default:
email string No
was_first_created_on_pos boolean No Default: false
country string(2) No Default: US
sms_opt_out boolean No Default: true
status string No
employee_hire_date date No
medical_card string No
medical_card_exp date No
caregiver_id string No
caregiver_id_exp date No
loyalty_member_since date No
sms_reachable boolean Yes Default: true
sms_sent_at datetime No
coupons_count integer Yes Default: 0
reviewed boolean No Default: false
terms_agreed boolean No Default: false
referral_source string No
ext_signature_src string No
certifying_provider string No
sms_opt_source string No
custom_allotment string No
medical_card_state string No
token string No
token_expires_at datetime No
medical_card_effective date No
core_token string No
one_time_pin string No
otp_expires_at datetime No
core_consumer_ref string No
last_online_login datetime No
online_account_created_at datetime No
sms_first_message_sent_at datetime No

Response Example

{
  "customer": {
    "id": 279160,
    "first_name": "Jane",
    "last_name": "Doe",
    "birth_year": null,
    "gender": "female",
    "telephone": "5551111111",
    "email": "test@gmail.com",
    "active": true,
    "sms_opt_out": false,
    "sms_opt_in": true,
    "signature": "",
    "address": "",
    "zipcode": "98033",
    "city": "",
    "state": "WA",
    "birthday": null,
    "customer_type": "medical",
    "terms_agreed": false,
    "points": 105
  }
}
PATCH /api/v3/venue/customers/{id}

Update a Customer

Patch JSON in body {"customer": {"first_name": "John"...}}

Parameters

Name Type In Required Description
id integer path Yes Customer ID
body customer body Yes JSON formatted body

Example

curl -X PATCH "https://app.posabit.com/api/v3/venue/customers/{id}" \
  -H "Authorization: Basic BASE64(INTEGRATOR_TOKEN:VENUE_TOKEN)" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{...}'

Responses

Status Description
200 Success
204 Record not found
400 Bad Request

Response Fields

Field Type Required Description
id integer Yes Customer Id (Read-only)
first_name string No First Name
last_name string No Last Name
birth_year string No Birth Year (Read-only)
gender string No Gender
telephone string No Telephone (Update not allowed)
email string No Email
active boolean No Active
sms_opt_out boolean No SMS Opt Out
sms_opt_in boolean No SMS Opt In (Read-only)
signature string No Signature (base64 encoded jpeg)
address string No Address
zipcode string No ZIP Code
city string No City
state string No State
birthday string No Birthday
customer_type string No Customer Type
terms_agreed boolean No Terms Agreed
points string No Points (Read-only)
points_adjustment string No Points (to add or subtract)

Models

customer

A Customer.

Property Type Required Description
id integer Yes Customer Id (Read-only)
first_name string No First Name
last_name string No Last Name
birth_year string No Birth Year (Read-only)
gender string No Gender
telephone string No Telephone (Update not allowed)
email string No Email
active boolean No Active
sms_opt_out boolean No SMS Opt Out
sms_opt_in boolean No SMS Opt In (Read-only)
signature string No Signature (base64 encoded jpeg)
address string No Address
zipcode string No ZIP Code
city string No City
state string No State
birthday string No Birthday
customer_type string No Customer Type
terms_agreed boolean No Terms Agreed
points string No Points (Read-only)
points_adjustment string No Points (to add or subtract)
customers
Property Type Required Description
customers array Yes customer

Inventories

1 endpoints
The default view of the inventory page will show you all of your active inventory, from lowest to highest number of units (or grams) on hand - this is so you can easily see which products are running low. Using the filters on the left side of the page, you can narrow down your search results by a particular product type, brand, supplier, etc.
GET /api/v3/venue/inventories

Get all inventories for a venue

Parameters

Name Type In Required Description
page integer query No Page Number
per_page integer query No Results per page (default 1000)
q[updated_at_gt] datestring query No Limit results using ransack syntax (e.g. q[updated_at_gt]='2019-07-01' would return employees updated since 2019-07-01)

Example

curl -X GET "https://app.posabit.com/api/v3/venue/inventories" \
  -H "Authorization: Basic BASE64(INTEGRATOR_TOKEN:VENUE_TOKEN)" \
  -H "Accept: application/json"

Responses

Status Description
200 Success
401 Unauthorized

Response Fields

Field Type Required Description
product_id integer Yes
tier_id integer No
barcode string No
price integer Yes Default: 0
last_price integer No
cost integer Yes Default: 0
discountable boolean Yes Default: true
quantity_on_hand decimal Yes Default: 0.0
optimum_level integer No Default: 0
reorder_threshold integer No
calc_threshold integer No
last_replenish_date datetime No
velocity decimal Yes Default: 0.0
sold integer Yes Default: 0
days_supply integer Yes Default: 0
avg_cost integer No
avg_price integer No
sync_expires_at datetime No
last_order datetime No
created_at datetime No
updated_at datetime No
supplier_id integer No
updated_by string No
unit string(15) Yes Default: units
weight decimal Yes Default: 0.0
weight_unit string(15) No
is_active boolean No Default: true
notes text No
sellable_quantity decimal Yes Default: 0.0
ecomm_quantity decimal Yes Default: 0.0
allow_undercost boolean Yes Default: false
manifest_items_count integer No Default: 0
thc decimal No
cbd decimal No
cbn decimal No
equivalent_weight decimal No
equivalent_unit string No
thc_min decimal No
thc_max decimal No
cbd_min decimal No
cbd_max decimal No
cbn_min decimal No
cbn_max decimal No
api_id string No
inheritor_id integer No
med_price integer No
terpenes text No
manifest_transfer_date date No
thca decimal No
thca_min decimal No
thca_max decimal No
cbda decimal No
cbda_min decimal No
cbda_max decimal No
total_thc decimal No
total_thc_min decimal No
total_thc_max decimal No
producer_id integer No
doh_compliant boolean No Default: false
total_cbd decimal No
total_cbd_min decimal No
total_cbd_max decimal No
last_received_quantity decimal No Default: 0.0

Response Example

{
  "total_records": 1161,
  "current_page": 1,
  "total_pages": 1161,
  "per_page": 1,
  "inventory": [
    {
      "id": 210113,
      "product_id": 902429,
      "name": "Phat Panda - Lemon Danish Glaze",
      "unit": "280.0 gm",
      "price": 1300,
      "med_price": null,
      "last_price": 1300,
      "quantity_on_hand": "369.7",
      "sellable_quantity": "369.7",
      "ecomm_quantity": "369.7",
      "vendor": "PIONEER PRODUCTION AND PROCESSING",
      "vendor_license": null,
      "brand": "Phat Panda",
      "category": "Bulk Flower",
      "flower_type": "hybrid",
      "concentrate_type": null,
      "product_type": "hybrid",
      "product_family": "Flower",
      "description": "A perfect wake and bake strain. Sweet lemon and mell...",
      "image": [
        null
      ],
      "active": false,
      "bulk_item": true,
      "strain": "Lemon Danish",
      "thc_measure": "21.5%",
      "cbd_measure": "0.7%",
      "sku": "3264-902429",
      "discountable": true,
      "tier_name": "Top Shelf Tier",
      "created_at": "2019-10-16T20:37:49.000Z",
      "updated_at": "2022-07-05T17:31:23.000Z",
      "rooms": [
        {
          "Display Case 3": "369.7"
        }
      ]
    }
  ]
}

Manifest Items

1 endpoints
GET /api/v3/venue/manifest_items

Get all manifest items for a venue

Parameters

Name Type In Required Description
page integer query No Page Number
per_page integer query No Results per page (default 1000)
q[updated_at_gt] datestring query No Limit results using ransack syntax (e.g. q[updated_at_gt]='2019-07-01' would return employees updated since 2019-07-01)

Example

curl -X GET "https://app.posabit.com/api/v3/venue/manifest_items" \
  -H "Authorization: Basic BASE64(INTEGRATOR_TOKEN:VENUE_TOKEN)" \
  -H "Accept: application/json"

Responses

Status Description
200 Success
401 Unauthorized

Response Fields

Field Type Required Description
manifest_id integer No
sts_license_id integer No
lot_number string No
item_type string No
strain string No
name text No
description text No
expires_on date No
barcode string No
barcode_dupe boolean Yes Default: false
barcode_image string No
inventory_sku_id integer No
venue_room_id integer No
aasm_state string No Default: pending
position integer No Default: 0
quantity decimal Yes Default: 0.0
weight decimal Yes Default: 0.0
net_weight decimal No
weight_unit string(15) No Default: grams
testing_lab string No
testing_date datetime No
testing_lab_license string No
test_results text No
test_contaminants_pass boolean No
test_cannabinoids_pass boolean No
test_pesticides_pass boolean No
thc decimal No
cbd decimal No
cbn decimal No
old_harvest_date datetime No
cost integer No Default: 0
received_cost integer No Default: 0
tax integer No
created_at datetime No
updated_at datetime No
last_sold datetime No
updated_by string No
is_sample boolean No Default: false
is_medical_only boolean No Default: false
ancestry string No
a_split boolean No Default: false
quantity_on_hand decimal Yes Default: 0.0
api_id string No
received_quantity decimal Yes Default: 0.0
batch_number string No
return_manifest_id integer No
pre_return_state string No
pre_return_quantity decimal No
custom_barcode_image string No
sample_type string No
product_sample_type string No
custom_barcode_image_version string No
transformed_from_id integer No
transformed_conversion decimal Yes Default: 0.0
transformed_from_quantity decimal Yes Default: 0.0
transformed_conversion_weight string No
original_sts_quantity decimal Yes Default: 0.0
original_sts_unit string No
sts_quantity decimal No
sts_category string No
sts_state string No
sts_last_modified string No
quantity_adj decimal Yes Default: 0.0
discrepancy_detected datetime No
last_audit datetime No
number_of_doses decimal No
coa_file string No
coa_url text No
excise_tax integer No
thca decimal No
cbda decimal No
total_thc decimal No
growth_method string No
total_terpene decimal No
weight_in_grams decimal No
cbc decimal No
cbg decimal No
cbga decimal No
cbca decimal No
cbgv decimal No
thcv decimal No
cbdv decimal No
cbcv decimal No
harvest_date string No
custom_field_1 string No
custom_field_2 string No
custom_field_3 string No
accepted_date date No
sdp_category string No
sdp_compass string No
lab_result_link text No
doh_compliant boolean No Default: false
total_cbd decimal No
doh_type string No
has_unique_barcodes boolean No Default: false

Response Example

{
  "total_records": 208,
  "current_page": 1,
  "total_pages": 208,
  "per_page": 1,
  "manifest_items": [
    {
      "id": 261878,
      "manifest_id": null,
      "state": "active",
      "supplier_quantity": "365.0",
      "accepted_quantity": "365.0",
      "quantity_on_hand": "369.7",
      "pre_return_quantity": null,
      "cost_per_unit": 300,
      "inventory_id": 210113,
      "lot_number": "WAR414871.IN6BJ9N",
      "barcode": "WAJ416063.IN6AEJ2",
      "batch_number": null,
      "last_audit": null,
      "venue_room": "Display Case 3",
      "harvest_date": null,
      "thc_measure": "21.5%",
      "cbd_measure": "0.7%",
      "coa_url": null,
      "created_at": "2019-10-16T20:37:50.000Z",
      "updated_at": "2022-06-27T21:25:45.000Z"
    }
  ]
}

Manifests

1 endpoints
GET /api/v3/venue/manifests

Get all manifest items for a venue

Parameters

Name Type In Required Description
page integer query No Page Number
per_page integer query No Results per page (default 1000)
q[updated_at_gt] datestring query No Limit results using ransack syntax (e.g. q[updated_at_gt]='2019-07-01' would return employees updated since 2019-07-01)

Example

curl -X GET "https://app.posabit.com/api/v3/venue/manifests" \
  -H "Authorization: Basic BASE64(INTEGRATOR_TOKEN:VENUE_TOKEN)" \
  -H "Accept: application/json"

Responses

Status Description
200 Success
401 Unauthorized

Response Fields

Field Type Required Description
supplier_id integer No
reference_no string No
aasm_state string No Default: pending
transfer_date date No
delivery_time datetime No
notes text No
created_at datetime No
updated_at datetime No
api_id string No
accepted_by string No
accepted_at datetime No
pickup_time datetime No
transportation_type string No
destination_id integer No
driver_name string No
driver_id string No
driver_dob date No
vehicle_id string No
vehicle_year string No
vehicle_color string No
vehicle_model string No
vehicle_make string No
license_plate string No
courier_id integer No
type string No
route text No
courier_license_number string No
voided_lot_numbers text No
transferred_at datetime No
voided_at datetime No
incoming_created_at datetime No
estimated_departed_at datetime No
estimated_arrival_at datetime No
venue_destination_id integer No
received_cost integer No
accepted_cost integer No Default: 0
received_quantity integer No
accepted_quantity integer No Default: 0
has_marijuana boolean Yes Default: false
json_filename string No
import_source string No
discount integer No
excise_tax boolean Yes Default: false
total_excise_tax integer No Default: 0
external_driver_id string No
external_vehicle_id string No
sts_license_id integer No
payment_method string(25) No
core_external_ref string(50) No Default:
external_pdf string No

Response Example

{
  "total_records": 46,
  "current_page": 1,
  "total_pages": 46,
  "per_page": 1,
  "manifests": [
    {
      "id": 364,
      "reference_no": "2",
      "supplier": "Oregon Top Shelf",
      "state": "accepted",
      "transfer_date": "2019-10-22",
      "delivery_time": null,
      "notes": "",
      "accepted_at": "2019-12-05T18:13:24.000Z",
      "accepted_by": "Matt McCullough",
      "received_cost": 10000,
      "accepted_cost": null,
      "received_quantity": 100,
      "accepted_quantity": null,
      "has_marijuana": true,
      "import_source": null,
      "discount": null,
      "manifest_items": [
        {
          "id": 276454,
          "manifest_id": 364,
          "state": "active",
          "supplier_quantity": "100.0",
          "accepted_quantity": "100.0",
          "quantity_on_hand": "5.0",
          "pre_return_quantity": null,
          "cost_per_unit": 100,
          "inventory_id": 214643,
          "lot_number": "1A4FFFB0007A122000003899",
          "barcode": "1A4FFFB0007A122000003899",
          "batch_number": "ncx7pmo24XXNGt0H",
          "last_audit": null,
          "venue_room": "Display Case 1",
          "harvest_date": null,
          "thc_measure": "70.0%",
          "cbd_measure": "0.0%",
          "coa_url": null,
          "created_at": "2019-10-22T00:18:31.000Z",
          "updated_at": "2020-05-04T20:21:26.000Z"
        }
      ],
      "created_at": "2019-10-22T00:18:31.000Z",
      "updated_at": "2019-12-05T18:13:24.000Z"
    }
  ]
}

Sales Histories

2 endpoints
The Sales window, is where you can see and sort through all of your previous transactions. Use the filters on the left side of the page to sort the transactions however you'd like. You can use this tab when looking for a return or if you'd like to dive into the details of a specific transaction.
GET /api/v3/venue/sales_histories

Get all sales histories for a venue

Parameters

Name Type In Required Description
page integer query No Page Number
per_page integer query No Results per page (default 1000)
q[updated_at_gt] datestring query No Limit results using ransack syntax (e.g. q[updated_at_gt]='2019-07-01' would return employees updated since 2019-07-01)

Example

curl -X GET "https://app.posabit.com/api/v3/venue/sales_histories" \
  -H "Authorization: Basic BASE64(INTEGRATOR_TOKEN:VENUE_TOKEN)" \
  -H "Accept: application/json"

Responses

Status Description
200 Success
401 Unauthorized

Response Fields

Field Type Required Description
order_type string No Default: regular
order_source string No Default: walk_in
incoming_order_id integer No
order_origin string(30) No
customer_id integer No
age integer No
gender string No
terminal_till_id integer No
order_id integer No
venue_name string No
customer_name string No
payment_source string No
payment_type string No
ordered_at datetime No
local_time datetime No
fulfilled_at datetime No
discount integer No
service_charge integer No
delivery_charge integer No
gratuity integer No
tax integer No
total integer No
open_credits integer No
restricted_credits integer No
promo_credits integer No
gopago_credits integer No
merchant_credits integer No
location string No
subtotal integer No
adjusted_time datetime No
venue_timezone string No
employee_name string No
status string No
local_order_id string No
fraction_of_day string No
bag_fee integer No Default: 0
terminal_id integer No
tuid string No
order_discount integer No Default: 0
pos_coupon_id integer No
pos_coupon_value integer No
cc_type string No
full_credit integer No Default: 0
full_discount integer No Default: 0
coupon_count integer Yes Default: 0
created_at datetime Yes
updated_at datetime Yes
revisions integer Yes Default: 0
description string No
proc_time integer No Default: 0
cost integer No Default: 0
sts_status string No
medical_card string No
medical_card_exp date No
api_id string No
breadcrumbs text No
is_caregiver boolean No Default: false
medical_card_effective date No
client_type string(20) No
fulfillment_method string(20) No
fulfillment_sub_type string(30) No
integrator_id integer No
api_version string(10) No
client_version string No

Response Example

{
  "total_records": 36,
  "current_page": 1,
  "total_pages": 36,
  "per_page": 1,
  "sales_histories": [
    {
      "id": 49053313,
      "is_medical": false,
      "ordered_at": "2022-06-14T19:37:28.000Z",
      "ordered_at_local": "2022-06-14T12:37:28.000-07:00",
      "sale_type": "sale",
      "order_source": "walk_in",
      "terminal_till_id": 4676,
      "local_order_id": "3264-3-8881-123727",
      "customer_id": 544773,
      "user_id": 12777,
      "sub_total": 1127,
      "discount": 260,
      "tax": 173,
      "total": 1040,
      "cost": 275,
      "items": [
        {
          "item_id": 91312852,
          "sales_history_id": 49053313,
          "product_id": 902427,
          "inventory_id": 210111,
          "lot_id": 261876,
          "lot_number": "WAR414871.IN5SAJM",
          "is_marijuana": true,
          "quantity": 1,
          "weight": "1.0",
          "cost": 275,
          "sub_total": 1127,
          "tax": 173,
          "discount": 260,
          "sku": "WAJ416746.IN5NZ29",
          "category": "Bulk Flower",
          "brand": "High Five Farms",
          "product_name": "High Five Farms - Ghost Train Haze",
          "family_name": "Flower",
          "unit_of_weight": "gm",
          "tier_name": "Top Shelf Tier",
          "discount_list": [
            {
              "coupon_id": 47769,
              "coupon_name": "test happy hour"
            }
          ],
          "total": 1040
        }
      ],
      "sales_tenders": [
        {
          "sales_tender_id": 11738303,
          "subtotal": 867,
          "tax": 173,
          "total": 1040,
          "payment_method_name": "Cash"
        }
      ],
      "created_at": "2022-06-14T19:37:30.000Z",
      "updated_at": "2022-06-14T19:37:30.000Z"
    }
  ]
}
GET /api/v3/venue/sales_histories/{id}

Get a sales history for a venue

Parameters

Name Type In Required Description
id integer path Yes Sales History ID

Example

curl -X GET "https://app.posabit.com/api/v3/venue/sales_histories/{id}" \
  -H "Authorization: Basic BASE64(INTEGRATOR_TOKEN:VENUE_TOKEN)" \
  -H "Accept: application/json"

Responses

Status Description
200 Success
401 Unauthorized

Response Fields

Field Type Required Description
order_type string No Default: regular
order_source string No Default: walk_in
incoming_order_id integer No
order_origin string(30) No
customer_id integer No
age integer No
gender string No
terminal_till_id integer No
order_id integer No
venue_name string No
customer_name string No
payment_source string No
payment_type string No
ordered_at datetime No
local_time datetime No
fulfilled_at datetime No
discount integer No
service_charge integer No
delivery_charge integer No
gratuity integer No
tax integer No
total integer No
open_credits integer No
restricted_credits integer No
promo_credits integer No
gopago_credits integer No
merchant_credits integer No
location string No
subtotal integer No
adjusted_time datetime No
venue_timezone string No
employee_name string No
status string No
local_order_id string No
fraction_of_day string No
bag_fee integer No Default: 0
terminal_id integer No
tuid string No
order_discount integer No Default: 0
pos_coupon_id integer No
pos_coupon_value integer No
cc_type string No
full_credit integer No Default: 0
full_discount integer No Default: 0
coupon_count integer Yes Default: 0
created_at datetime Yes
updated_at datetime Yes
revisions integer Yes Default: 0
description string No
proc_time integer No Default: 0
cost integer No Default: 0
sts_status string No
medical_card string No
medical_card_exp date No
api_id string No
breadcrumbs text No
is_caregiver boolean No Default: false
medical_card_effective date No
client_type string(20) No
fulfillment_method string(20) No
fulfillment_sub_type string(30) No
integrator_id integer No
api_version string(10) No
client_version string No

Terminal Tills

1 endpoints
GET /api/v3/venue/terminal_tills

Get all terminal tills for a venue

Parameters

Name Type In Required Description
page integer query No Page Number
per_page integer query No Results per page (default 1000)
q[updated_at_gt] datestring query No Limit results using ransack syntax (e.g. q[updated_at_gt]='2019-07-01' would return employees updated since 2019-07-01)

Example

curl -X GET "https://app.posabit.com/api/v3/venue/terminal_tills" \
  -H "Authorization: Basic BASE64(INTEGRATOR_TOKEN:VENUE_TOKEN)" \
  -H "Accept: application/json"

Responses

Status Description
200 Success
401 Unauthorized

Response Fields

Field Type Required Description
aasm_state string No Default: open
terminal_id integer Yes
till_ref string Yes
start_time datetime No
end_time datetime No
start_amount integer Yes Default: 0
end_amount integer Yes Default: 0
end_calc_amount integer Yes Default: 0
left_in_drawer integer Yes Default: 0
expected_amount integer No Default: 0
notes text No
opened_by string No
closed_by string No
review_later boolean No
reviewed_by string No
reviewed_at datetime No
created_at datetime Yes
updated_at datetime Yes
terminal_data text No
oc1 integer No
oc5 integer No
oc10 integer No
oc25 integer No
od1 integer No
od5 integer No
od10 integer No
od20 integer No
od50 integer No
od100 integer No
cc1 integer No
cc5 integer No
cc10 integer No
cc25 integer No
cd1 integer No
cd5 integer No
cd10 integer No
cd20 integer No
cd50 integer No
cd100 integer No
open_notes text No
rounding_total integer No

Response Example

{
  "total_records": 1408,
  "current_page": 1,
  "total_pages": 1408,
  "per_page": 1,
  "terminal_tills": [
    {
      "id": 1673,
      "terminal_id": 8216,
      "state": "pending",
      "till_ref": "326411571689226811",
      "start_time": "2019-10-21T20:20:26.000Z",
      "end_time": "2019-10-21T22:11:54.000Z",
      "start_amount": 20000,
      "end_amount": 0,
      "left_in_drawer": 0,
      "notes": "",
      "opened_by": "Andy Sweet",
      "closed_by": "Andy Sweet",
      "created_at": "2019-10-21T20:20:27.000Z",
      "updated_at": "2019-10-21T22:11:55.000Z",
      "adjustments": []
    }
  ]
}

Users

1 endpoints
GET /api/v3/venue/users

Get all users for a venue

Parameters

Name Type In Required Description
page integer query No Page Number
per_page integer query No Results per page (default 1000)
q[updated_at_gt] datestring query No Limit results using ransack syntax (e.g. q[updated_at_gt]='2019-07-01' would return employees updated since 2019-07-01)

Example

curl -X GET "https://app.posabit.com/api/v3/venue/users" \
  -H "Authorization: Basic BASE64(INTEGRATOR_TOKEN:VENUE_TOKEN)" \
  -H "Accept: application/json"

Responses

Status Description
200 Success
401 Unauthorized

Response Fields

Field Type Required Description
company string No
first_name string No
last_name string No
language string(5) Yes Default: en
created_at datetime No
updated_at datetime No
telephone string No Default:
email string Yes Default:
business_type integer No
address string No
city string No
state string No
zip string No
bank_routing integer No
bank_account integer No
ein integer No
perm_level integer No Default: 100
first_login boolean No Default: true
user_image_source string No
active boolean No Default: true
ratings integer No
is_signed_in boolean No
session_timeout_value integer No Default: 24
session_timeout_unit integer No Default: 1
credit_discount_validation_option integer No Default: 1
est_monthly_sales float No
avg_ticket_transaction float No
delivery_minimum integer No
delivery_fee integer No
menu_creation_fee string No
current_business_bank string No
current_credit_card_processor string No
other_social_info string No
sales_code string No
shipping_option integer No
customer_id integer No
encrypted_password string(128) Yes Default:
confirmation_token string No
confirmed_at datetime No
confirmation_sent_at datetime No
reset_password_token string No
remember_token string No
remember_created_at datetime No
current_sign_in_at datetime No
current_sign_in_ip string No
last_sign_in_ip string No
last_sign_in_at datetime No
reset_password_sent_at datetime No
temporary_initial_password string No
uid string No
nfc string No
last_password_reset datetime No
failed_login_timeout datetime No
sts_api_key string No
sts_api_key_valid boolean No

Response Example

{
  "total_records": 10,
  "current_page": 1,
  "total_pages": 10,
  "per_page": 1,
  "users": [
    {
      "id": 12926,
      "first_name": "Budtender 2",
      "last_name": "Budtender 2",
      "perm_level": "none",
      "access_level": "cashier",
      "email": "budtender2@posabit.com",
      "created_at": "2019-11-08T00:54:36.000Z",
      "updated_at": "2021-04-19T21:25:19.000Z"
    }
  ]
}

Models

User

A User.

Property Type Required Description
id integer Yes Employee Id
first_name string No First Name
created_at datetime No Created At
updated_at datetime No Updated At