← Back to API Reference

/quotes

Tag: quotes

getAccount-scoped quotes for uniform customization requests from the builder

Parameters

NameInTypeFormatRequiredDescription
idquerystring
account_idquerystringThe account (personal or team) that owns this quote
quote_numberquerystringHuman-readable reference number (e.g., QT-2026-00001)
statusquerystringWorkflow state: draft, submitted, quoted, approved, rejected, expired, ordered, cancelled
product_idquerystringFK to products — the product being customized
design_idquerystringFK to designs — the selected design template (nullable for draft state)
sportquerystringSport category from builder route param (e.g., baseball, basketball)
customizationquerystringFull BuilderData snapshot as JSONB — source of truth for colors, text, graphics, roster, number styling
colorsquerystringDenormalized color selections {primary, secondary, accent, accent2, accent3} for quick display
roster_countquerystringDenormalized total number of players/units for sorting and pricing
size_breakdownquerystringAggregated quantity per size, e.g., {"S": 3, "M": 5, "L": 4, "XL": 2}
preview_front_urlquerystringS3 URL to rendered 2D front preview image
preview_back_urlquerystringS3 URL to rendered 2D back preview image
customer_notesquerystringFree-text notes from the customer — special requests, delivery instructions
internal_notesquerystringAdmin-only notes — never exposed to the customer
unit_pricequerystringQuoted price per unit, filled when status moves to quoted
total_pricequerystringTotal quote price, filled when status moves to quoted
currencyquerystringISO 4217 currency code (default USD)
submitted_atquerystringTimestamp when the customer submitted the quote for review
quoted_atquerystringTimestamp when an admin assigned pricing
quoted_byquerystringFK to auth.users — which admin/sales user provided the pricing
approved_atquerystringTimestamp when the customer approved the quoted price
expires_atquerystringQuote expiration date — after this, status should transition to expired
sourcequerystringHow the quote originated: builder, csv_import, duplicate, admin_created
created_byquerystring
created_atquerystring
updated_atquerystring
deleted_atquerystringSoft delete timestamp
fulfillment_statusquerystringOrder fulfillment state: reviewing, preparing, shipping, delivered. Only set when status = ordered.
estimated_delivery_atquerystringEstimated delivery/arrival date for the order
contact_namequerystringCustomer contact name for this quote
contact_emailquerystringCustomer contact email for this quote
contact_phonequerystringCustomer contact phone number for this quote
shipping_addressquerystringShipping address as JSONB: { street, city, state, zip, country }
companyquerystringCustomer company name for this quote
event_datequerystringEvent date — important for sports season deadlines
rush_orderquerystringWhether this is a rush/priority order
delivery_methodquerystringDelivery preference: standard, express, or pickup
billing_addressquerystringBilling address as JSONB: { street, city, state, zip, country }
canva_2dquerystring
techpack_filequerystring
avatar_previewquerystringS3 URL of the AI-generated product fit (mannequin/avatar) image.
selectquerystringFiltering Columns
orderquerystringOrdering
RangeheaderstringLimiting and Pagination
Range-UnitheaderstringLimiting and Pagination
offsetquerystringLimiting and Pagination
limitquerystringLimiting and Pagination
PreferheaderstringPreference

Example

bash
curl "https://szkofkgbqogzlbqtcrke.supabase.co/rest/v1/quotes?select=*&limit=10" \
  -H "apikey: YOUR_API_KEY" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"

Responses

200OK
206Partial Content

postAccount-scoped quotes for uniform customization requests from the builder

Parameters

NameInTypeFormatRequiredDescription
quotesbodyobjectquotes
selectquerystringFiltering Columns
PreferheaderstringPreference

Example

bash
curl -X POST "https://szkofkgbqogzlbqtcrke.supabase.co/rest/v1/quotes" \
  -H "apikey: YOUR_API_KEY" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Prefer: return=representation" \
  -d '{
  "account_id": "00000000-0000-0000-0000-000000000000",
  "quote_number": "example",
  "status": "example",
  "product_id": "00000000-0000-0000-0000-000000000000",
  "sport": "example"
}'

Responses

201Created

patchAccount-scoped quotes for uniform customization requests from the builder

Parameters

NameInTypeFormatRequiredDescription
idquerystring
account_idquerystringThe account (personal or team) that owns this quote
quote_numberquerystringHuman-readable reference number (e.g., QT-2026-00001)
statusquerystringWorkflow state: draft, submitted, quoted, approved, rejected, expired, ordered, cancelled
product_idquerystringFK to products — the product being customized
design_idquerystringFK to designs — the selected design template (nullable for draft state)
sportquerystringSport category from builder route param (e.g., baseball, basketball)
customizationquerystringFull BuilderData snapshot as JSONB — source of truth for colors, text, graphics, roster, number styling
colorsquerystringDenormalized color selections {primary, secondary, accent, accent2, accent3} for quick display
roster_countquerystringDenormalized total number of players/units for sorting and pricing
size_breakdownquerystringAggregated quantity per size, e.g., {"S": 3, "M": 5, "L": 4, "XL": 2}
preview_front_urlquerystringS3 URL to rendered 2D front preview image
preview_back_urlquerystringS3 URL to rendered 2D back preview image
customer_notesquerystringFree-text notes from the customer — special requests, delivery instructions
internal_notesquerystringAdmin-only notes — never exposed to the customer
unit_pricequerystringQuoted price per unit, filled when status moves to quoted
total_pricequerystringTotal quote price, filled when status moves to quoted
currencyquerystringISO 4217 currency code (default USD)
submitted_atquerystringTimestamp when the customer submitted the quote for review
quoted_atquerystringTimestamp when an admin assigned pricing
quoted_byquerystringFK to auth.users — which admin/sales user provided the pricing
approved_atquerystringTimestamp when the customer approved the quoted price
expires_atquerystringQuote expiration date — after this, status should transition to expired
sourcequerystringHow the quote originated: builder, csv_import, duplicate, admin_created
created_byquerystring
created_atquerystring
updated_atquerystring
deleted_atquerystringSoft delete timestamp
fulfillment_statusquerystringOrder fulfillment state: reviewing, preparing, shipping, delivered. Only set when status = ordered.
estimated_delivery_atquerystringEstimated delivery/arrival date for the order
contact_namequerystringCustomer contact name for this quote
contact_emailquerystringCustomer contact email for this quote
contact_phonequerystringCustomer contact phone number for this quote
shipping_addressquerystringShipping address as JSONB: { street, city, state, zip, country }
companyquerystringCustomer company name for this quote
event_datequerystringEvent date — important for sports season deadlines
rush_orderquerystringWhether this is a rush/priority order
delivery_methodquerystringDelivery preference: standard, express, or pickup
billing_addressquerystringBilling address as JSONB: { street, city, state, zip, country }
canva_2dquerystring
techpack_filequerystring
avatar_previewquerystringS3 URL of the AI-generated product fit (mannequin/avatar) image.
quotesbodyobjectquotes
PreferheaderstringPreference

Example

bash
curl -X PATCH "https://szkofkgbqogzlbqtcrke.supabase.co/rest/v1/quotes?id=eq.YOUR_ID" \
  -H "apikey: YOUR_API_KEY" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Prefer: return=representation" \
  -d '{"account_id": "00000000-0000-0000-0000-000000000000"}'

Responses

204No Content

deleteAccount-scoped quotes for uniform customization requests from the builder

Parameters

NameInTypeFormatRequiredDescription
idquerystring
account_idquerystringThe account (personal or team) that owns this quote
quote_numberquerystringHuman-readable reference number (e.g., QT-2026-00001)
statusquerystringWorkflow state: draft, submitted, quoted, approved, rejected, expired, ordered, cancelled
product_idquerystringFK to products — the product being customized
design_idquerystringFK to designs — the selected design template (nullable for draft state)
sportquerystringSport category from builder route param (e.g., baseball, basketball)
customizationquerystringFull BuilderData snapshot as JSONB — source of truth for colors, text, graphics, roster, number styling
colorsquerystringDenormalized color selections {primary, secondary, accent, accent2, accent3} for quick display
roster_countquerystringDenormalized total number of players/units for sorting and pricing
size_breakdownquerystringAggregated quantity per size, e.g., {"S": 3, "M": 5, "L": 4, "XL": 2}
preview_front_urlquerystringS3 URL to rendered 2D front preview image
preview_back_urlquerystringS3 URL to rendered 2D back preview image
customer_notesquerystringFree-text notes from the customer — special requests, delivery instructions
internal_notesquerystringAdmin-only notes — never exposed to the customer
unit_pricequerystringQuoted price per unit, filled when status moves to quoted
total_pricequerystringTotal quote price, filled when status moves to quoted
currencyquerystringISO 4217 currency code (default USD)
submitted_atquerystringTimestamp when the customer submitted the quote for review
quoted_atquerystringTimestamp when an admin assigned pricing
quoted_byquerystringFK to auth.users — which admin/sales user provided the pricing
approved_atquerystringTimestamp when the customer approved the quoted price
expires_atquerystringQuote expiration date — after this, status should transition to expired
sourcequerystringHow the quote originated: builder, csv_import, duplicate, admin_created
created_byquerystring
created_atquerystring
updated_atquerystring
deleted_atquerystringSoft delete timestamp
fulfillment_statusquerystringOrder fulfillment state: reviewing, preparing, shipping, delivered. Only set when status = ordered.
estimated_delivery_atquerystringEstimated delivery/arrival date for the order
contact_namequerystringCustomer contact name for this quote
contact_emailquerystringCustomer contact email for this quote
contact_phonequerystringCustomer contact phone number for this quote
shipping_addressquerystringShipping address as JSONB: { street, city, state, zip, country }
companyquerystringCustomer company name for this quote
event_datequerystringEvent date — important for sports season deadlines
rush_orderquerystringWhether this is a rush/priority order
delivery_methodquerystringDelivery preference: standard, express, or pickup
billing_addressquerystringBilling address as JSONB: { street, city, state, zip, country }
canva_2dquerystring
techpack_filequerystring
avatar_previewquerystringS3 URL of the AI-generated product fit (mannequin/avatar) image.
PreferheaderstringPreference

Example

bash
curl -X DELETE "https://szkofkgbqogzlbqtcrke.supabase.co/rest/v1/quotes?id=eq.YOUR_ID" \
  -H "apikey: YOUR_API_KEY" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"

Responses

204No Content

Schema

Account-scoped quotes for uniform customization requests from the builder

ColumnTypeFormatNullableDefaultNotes
idPK
stringuuidextensions.uuid_generate_v4()This is a Primary Key.
account_id
stringuuidFK → accounts.id
quote_number
stringtextHuman-readable reference number (e.g., QT-2026-00001)
status
stringtextdraftWorkflow state: draft, submitted, quoted, approved, rejected, expired, ordered, cancelled
product_id
stringuuidFK → products.id
design_id
stringuuidFK → designs.id
sport
stringtextSport category from builder route param (e.g., baseball, basketball)
customization
objectjsonbFull BuilderData snapshot as JSONB — source of truth for colors, text, graphics, roster, number styling
colors
objectjsonbDenormalized color selections {primary, secondary, accent, accent2, accent3} for quick display
roster_count
integerintegerDenormalized total number of players/units for sorting and pricing
size_breakdown
objectjsonbAggregated quantity per size, e.g., {"S": 3, "M": 5, "L": 4, "XL": 2}
preview_front_url
stringtextS3 URL to rendered 2D front preview image
preview_back_url
stringtextS3 URL to rendered 2D back preview image
customer_notes
stringtextFree-text notes from the customer — special requests, delivery instructions
internal_notes
stringtextAdmin-only notes — never exposed to the customer
unit_price
numbernumericQuoted price per unit, filled when status moves to quoted
total_price
numbernumericTotal quote price, filled when status moves to quoted
currency
stringcharacter varyingUSDISO 4217 currency code (default USD)
submitted_at
stringtimestamp with time zoneTimestamp when the customer submitted the quote for review
quoted_at
stringtimestamp with time zoneTimestamp when an admin assigned pricing
quoted_by
stringuuidFK to auth.users — which admin/sales user provided the pricing
approved_at
stringtimestamp with time zoneTimestamp when the customer approved the quoted price
expires_at
stringtimestamp with time zoneQuote expiration date — after this, status should transition to expired
source
stringtextbuilderHow the quote originated: builder, csv_import, duplicate, admin_created
created_by
stringuuid
created_at
stringtimestamp with time zonenow()
updated_at
stringtimestamp with time zonenow()
deleted_at
stringtimestamp with time zoneSoft delete timestamp
fulfillment_status
stringtextOrder fulfillment state: reviewing, preparing, shipping, delivered. Only set when status = ordered.
estimated_delivery_at
stringtimestamp with time zoneEstimated delivery/arrival date for the order
contact_name
stringtextCustomer contact name for this quote
contact_email
stringtextCustomer contact email for this quote
contact_phone
stringtextCustomer contact phone number for this quote
shipping_address
objectjsonbShipping address as JSONB: { street, city, state, zip, country }
company
stringtextCustomer company name for this quote
event_date
stringdateEvent date — important for sports season deadlines
rush_order
booleanbooleanWhether this is a rush/priority order
delivery_method
stringtextDelivery preference: standard, express, or pickup
billing_address
objectjsonbBilling address as JSONB: { street, city, state, zip, country }
canva_2d
stringtext
techpack_file
stringtext
avatar_preview
stringtextS3 URL of the AI-generated product fit (mannequin/avatar) image.