Venue API V2

This is a legacy API. V3 is the actively maintained version. New integrations should use Venue API V3 instead.

Authentication

Menu Feeds

2 endpoints
GET /api/{token}/v2/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/YOUR_API_TOKEN/v2/menu_feeds/{id}" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Accept: application/json"

Responses

Status Description
200 Success
400 Bad Request
422 Invalid parameters
500 Internal Server Error
GET /api/v2/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/v2/menu_feeds/{menu_feed_id}/options" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Accept: application/json"

Responses

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

Info

1 endpoints
GET /api/v2/venue/info

Venue Info

Example

curl -X GET "https://app.posabit.com/api/v2/venue/info" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Accept: application/json"

Responses

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

Coupons

1 endpoints
GET /api/v2/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/v2/venue/coupons" \
  -H "Authorization: Bearer YOUR_API_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/v2/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/v2/venue/customers" \
  -H "Authorization: Bearer YOUR_API_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/v2/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/v2/venue/customers" \
  -H "Authorization: Bearer YOUR_API_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/v2/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/v2/venue/customers/{id}" \
  -H "Authorization: Bearer YOUR_API_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/v2/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/v2/venue/customers/{id}" \
  -H "Authorization: Bearer YOUR_API_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/v2/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/v2/venue/inventories" \
  -H "Authorization: Bearer YOUR_API_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/v2/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/v2/venue/manifest_items" \
  -H "Authorization: Bearer YOUR_API_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/v2/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/v2/venue/manifests" \
  -H "Authorization: Bearer YOUR_API_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/v2/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/v2/venue/sales_histories" \
  -H "Authorization: Bearer YOUR_API_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/v2/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/v2/venue/sales_histories/{id}" \
  -H "Authorization: Bearer YOUR_API_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

{
  "sales_history": {
    "id": 49054557,
    "is_medical": false,
    "ordered_at": "2024-08-02T18:42:21.000Z",
    "ordered_at_local": "2024-08-02T18:42:21.000Z",
    "sale_type": "sale",
    "order_source": "walk_in",
    "terminal_till_id": 5906,
    "terminal_id": 8829,
    "local_order_id": "3221-169-8082-114218",
    "customer_id": 187408,
    "user_id": 12794,
    "sub_total": 8063,
    "discount": 4130,
    "tax": 722,
    "total": 4655,
    "cost": 764,
    "status": "COMPLETE",
    "items": [
      {
        "item_id": 91315881,
        "sales_history_id": 49054557,
        "product_id": 1031454,
        "inventory_id": 334814,
        "lot_id": 560579,
        "lot_number": "COAIQRT-20240613-001",
        "is_marijuana": true,
        "quantity": 1,
        "weight": "1.0",
        "unit_weight": "3.5",
        "unit_of_weight": "grams",
        "weight_in_grams": "3.5",
        "cost": 700,
        "sub_total": 1377,
        "tax": 123,
        "discount": 705,
        "sku": "COAIQRT-20240613-001",
        "category": "Flower",
        "brand": "Global Xtracts",
        "product_name": "The Finest Green",
        "family_name": "Flower",
        "tier_name": null,
        "discount_list": [
          {
            "coupon_id": 47626,
            "coupon_name": "Will's Test Employee Discount"
          },
          {
            "coupon_id": 47541,
            "coupon_name": "ZZ - Friends & Family 30% Off (Trove Extended)"
          },
          {
            "coupon_id": 47601,
            "coupon_name": "Tribal Tag Test"
          }
        ],
        "total": 795
      },
      {
        "item_id": 91315882,
        "sales_history_id": 49054557,
        "product_id": 801385,
        "inventory_id": 108709,
        "lot_id": 222607,
        "lot_number": "WARPOSABIT.IN33TB",
        "is_marijuana": true,
        "quantity": 1,
        "weight": "1.0",
        "unit_weight": "3.5",
        "unit_of_weight": "grams",
        "weight_in_grams": "3.5",
        "cost": 64,
        "sub_total": 6686,
        "tax": 599,
        "discount": 3425,
        "sku": "WAJPOSABIT.IN1LOY",
        "category": "Flower",
        "brand": null,
        "product_name": "Alta Nova - Blue Hawaiian (3.5g)",
        "family_name": "Flower",
        "tier_name": null,
        "discount_list": [
          {
            "coupon_id": 47626,
            "coupon_name": "Will's Test Employee Discount"
          },
          {
            "coupon_id": 47541,
            "coupon_name": "ZZ - Friends & Family 30% Off (Trove Extended)"
          },
          {
            "coupon_id": 47601,
            "coupon_name": "Tribal Tag Test"
          }
        ],
        "total": 3860
      }
    ],
    "sales_tenders": [
      {
        "sales_tender_id": 11739651,
        "subtotal": 3933,
        "tax": 722,
        "total": 4655,
        "payment_method_name": "Cash"
      }
    ],
    "created_at": "2024-08-02T18:43:01.000Z",
    "updated_at": "2024-08-02T18:43:01.000Z"
  }
}

Terminal Tills

1 endpoints
GET /api/v2/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/v2/venue/terminal_tills" \
  -H "Authorization: Bearer YOUR_API_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/v2/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/v2/venue/users" \
  -H "Authorization: Bearer YOUR_API_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