- Breaking
/v2/locations/{location_id}/transactions/{transaction_id}/void removed
Requests to this path now 404.
/v2/locations/{location_id}/transactions/{transaction_id}/voidCode that breaks
// Was: await client.request("GET", "/v2/locations/{location_id}/transactions/{transaction_id}/void"); // Now: 404 - Breaking
/v2/locations/{location_id}/transactions/{transaction_id}/capture removed
Requests to this path now 404.
/v2/locations/{location_id}/transactions/{transaction_id}/captureCode that breaks
// Was: await client.request("GET", "/v2/locations/{location_id}/transactions/{transaction_id}/capture"); // Now: 404
APIs / Square
Square API changes
Breaking changes, deprecations and new fields in the Square API, as they ship.
- Breakingdirection flip: their tools call this safe
value can now return "AMOUNT_TOO_LOW", "CART_INELIGIBLE_FOR_EBT", "PLAID_ERROR_INSUFFICIENT_CREDENTIALS", "PLAID_ERROR_INVALID_ACCESS_TOKEN", "PLAID_ERROR_INVALID_ACCOUNT_ID", "PLAID_ERROR_ITEM_NOT_FOUND", "PLAID_ERROR_ITEM_NOT_SUPPORTED", "PLAID_ERROR_NO_ACCOUNTS", "PLAID_ERROR_PRODUCT_NOT_READY"
Producer-side tools call this additive. It breaks exhaustive switches, strict parsers and generated client enums.
ErrorCode · reachable from 334 operationsCode that breaks
switch (response) { // existing branches … // no branch for "AMOUNT_TOO_LOW" // no branch for "CART_INELIGIBLE_FOR_EBT" // no branch for "PLAID_ERROR_INSUFFICIENT_CREDENTIALS" // no branch for "PLAID_ERROR_INVALID_ACCESS_TOKEN" // no branch for "PLAID_ERROR_INVALID_ACCOUNT_ID" // no branch for "PLAID_ERROR_ITEM_NOT_FOUND" // no branch for "PLAID_ERROR_ITEM_NOT_SUPPORTED" // no branch for "PLAID_ERROR_NO_ACCOUNTS" // no branch for "PLAID_ERROR_PRODUCT_NOT_READY" default: throw new Error("unexpected value"); } - Breakingdirection flip: their tools call this safe
value can now return "CARNET", "ID", "QUICPAY", "TRANSPORTATION_IC"
Producer-side tools call this additive. It breaks exhaustive switches, strict parsers and generated client enums.
CardBrand · reachable from 30 operationsCode that breaks
switch (response) { // existing branches … // no branch for "CARNET" // no branch for "ID" // no branch for "QUICPAY" // no branch for "TRANSPORTATION_IC" default: throw new Error("unexpected value"); }
6 new response fields
- CatalogModifier.child_modifier_list_ids
- Location.custom_receipt_text
- Location.return_policy
- SearchCatalogItemsResponse.included_resources
- SearchCatalogObjectsResponse.included_resources
- BatchRetrieveCatalogObjectsResponse.included_resources
7 new request properties
- CatalogModifier.child_modifier_list_ids
- Location.return_policy
- Location.custom_receipt_text
- CatalogQuery.modifiers_for_child_list_query
- SearchCatalogItemsRequest.include_options
- SearchCatalogObjectsRequest.include_options
- BatchRetrieveCatalogObjectsRequest.include_options
- Breakingdirection flip: their tools call this safe
value can now return "UNTRACKED"
Producer-side tools call this additive. It breaks exhaustive switches, strict parsers and generated client enums.
InventoryState · reachable from 13 operationsCode that breaks
switch (response) { // existing branches … // no branch for "UNTRACKED" default: throw new Error("unexpected value"); } - Breakingdirection flip: their tools call this safe
value can now return "MOST_EXPENSIVE_LOWEST_VALUE"
Producer-side tools call this additive. It breaks exhaustive switches, strict parsers and generated client enums.
ExcludeStrategy · reachable from 10 operationsCode that breaks
switch (response) { // existing branches … // no branch for "MOST_EXPENSIVE_LOWEST_VALUE" default: throw new Error("unexpected value"); } - Breakingdirection flip: their tools call this safe
value can now return "IN_STORE"
Producer-side tools call this additive. It breaks exhaustive switches, strict parsers and generated client enums.
FulfillmentType · reachable from 10 operationsCode that breaks
switch (response) { // existing branches … // no branch for "IN_STORE" default: throw new Error("unexpected value"); } - Breaking
Response field location_id removed
Reads of this field return undefined, and the failure surfaces wherever that value is used rather than at the call.
InventoryAdjustment.location_id · reachable from 8 operationsCode that breaks
// response.location_id is now undefined const location_id = response.location_id;
- Breakingdirection flip: their tools call this safe
location_id is no longer accepted
Usually ignored rather than rejected, so the call succeeds and does something subtly different.
InventoryAdjustment.location_id · reachable from 8 operationsCode that breaks
await client.post("/…", { // location_id is now ignored, not rejected location_id: value, }); - Breaking
value no longer accepts "TRANSFER"
A value you may have hardcoded is now rejected.
InventoryChangeType · reachable from 5 operationsCode that breaks
// sending "TRANSFER" for undefined is now rejected
- Breakingdirection flip: their tools call this safe
transfer is no longer accepted
Usually ignored rather than rejected, so the call succeeds and does something subtly different.
InventoryChange.transfer · reachable from 5 operationsCode that breaks
await client.post("/…", { // transfer is now ignored, not rejected transfer: value, }); - Breaking
Response field transfer removed
Reads of this field return undefined, and the failure surfaces wherever that value is used rather than at the call.
InventoryChange.transfer · reachable from 5 operationsCode that breaks
// response.transfer is now undefined const transfer = response.transfer;
- Breaking
/v2/inventory/transfers/{transfer_id} removed
Requests to this path now 404.
/v2/inventory/transfers/{transfer_id}Code that breaks
// Was: await client.request("GET", "/v2/inventory/transfers/{transfer_id}"); // Now: 404 - Additive
/v2/inventory/adjustment-reasons added
No action needed.
/v2/inventory/adjustment-reasons - Additive
/v2/inventory/adjustment-reasons/restore added
No action needed.
/v2/inventory/adjustment-reasons/restore - Additive
/v2/inventory/adjustment-reasons/update added
No action needed.
/v2/inventory/adjustment-reasons/update - Additive
/v2/inventory/adjustment-reasons/create added
No action needed.
/v2/inventory/adjustment-reasons/create - Additive
/v2/inventory/adjustment-reasons/delete added
No action needed.
/v2/inventory/adjustment-reasons/delete - Additive
/v2/inventory/adjustment-reasons/retrieve added
No action needed.
/v2/inventory/adjustment-reasons/retrieve - Additive
/v2/inventory/adjustments/update added
No action needed.
/v2/inventory/adjustments/update
10 new response fields
- Fulfillment.in_store_details
- CatalogItemVariation.vendor_information
- OrderLineItemModifier.parent_modifier_uid
- InventoryAdjustment.cost_money
- InventoryAdjustment.from_location_id
- InventoryAdjustment.physical_count_id
- InventoryAdjustment.reason_id
- InventoryAdjustment.to_location_id
- InventoryAdjustment.vendor_id
- InventoryPhysicalCount.adjustment_id
12 new request properties
- Fulfillment.in_store_details
- CatalogItemVariation.vendor_information
- OrderLineItemModifier.parent_modifier_uid
- InventoryAdjustment.reason_id
- InventoryAdjustment.cost_money
- InventoryAdjustment.physical_count_id
- InventoryAdjustment.to_location_id
- InventoryAdjustment.vendor_id
- InventoryAdjustment.from_location_id
- InventoryPhysicalCount.adjustment_id
- BatchRetrieveInventoryChangesRequest.sort
- BatchRetrieveInventoryChangesRequest.reason_ids
- Breakingdirection flip: their tools call this safe
value can now return "PARTIAL_PAYMENT_DELAY_CAPTURE_NOT_SUPPORTED", "PAYMENT_SOURCE_NOT_ENABLED_FOR_TARGET"
Producer-side tools call this additive. It breaks exhaustive switches, strict parsers and generated client enums.
ErrorCode · reachable from 328 operationsCode that breaks
switch (response) { // existing branches … // no branch for "PARTIAL_PAYMENT_DELAY_CAPTURE_NOT_SUPPORTED" // no branch for "PAYMENT_SOURCE_NOT_ENABLED_FOR_TARGET" default: throw new Error("unexpected value"); } - Breaking
/mobile/authorization-code removed
Requests to this path now 404.
/mobile/authorization-codeCode that breaks
// Was: await client.request("GET", "/mobile/authorization-code"); // Now: 404 - Additive
customer_id is now optional
No action needed.
GET /v2/bank-accounts · customer_id - Additive
POST /v2/bank-accounts added
No action needed.
POST /v2/bank-accounts - Additive
/v2/bank-accounts/{bank_account_id}/disable added
No action needed.
/v2/bank-accounts/{bank_account_id}/disable
20 new response fields
- Card.created_at
- Card.disabled_at
- CatalogItem.buyer_facing_name
- CatalogItem.kitchen_name
- CatalogItemVariation.kitchen_name
- CatalogModifier.kitchen_name
- OrderLineItemAppliedTax.auto_applied
- OrderLineItemPricingBlocklists.blocked_service_charges
- OrderReturnServiceCharge.type
- BuyNowPayLaterDetails.errors
- CardPaymentDetails.applied_card_surcharge_details
- CardPaymentDetails.wallet_type
- DigitalWalletDetails.errors
- DigitalWalletDetails.lightning_details
- Payment.app_fee_allocations
- Payment.buyer_currency_exchange
- Payment.electronic_money_details
- BankAccount.customer_id
- DeviceCheckoutOptions.allow_auto_card_surcharge
- PaymentRefund.app_fee_allocations
21 new request properties
- Card.disabled_at
- Card.created_at
- CatalogItem.buyer_facing_name
- CatalogItem.kitchen_name
- CatalogItemVariation.kitchen_name
- CatalogModifier.kitchen_name
- OrderLineItemAppliedTax.auto_applied
- OrderLineItemPricingBlocklists.blocked_service_charges
- OrderReturnServiceCharge.type
- CardPaymentDetails.applied_card_surcharge_details
- BuyNowPayLaterDetails.errors
- CardPaymentDetails.wallet_type
- DigitalWalletDetails.errors
- DigitalWalletDetails.lightning_details
- Payment.app_fee_allocations
- Payment.buyer_currency_exchange
- Payment.electronic_money_details
- DeviceCheckoutOptions.allow_auto_card_surcharge
- CreatePaymentRequest.app_fee_allocations
- ObtainTokenRequest.use_jwt
- RefundPaymentRequest.app_fee_allocations
2 request fields now accept null
- OrderReturn.return_discounts
- OrderReturn.return_taxes
- Additive
/v2/transfer-orders/search added
No action needed.
/v2/transfer-orders/search - Additive
/v2/channels added
No action needed.
/v2/channels - Additive
/v2/channels/bulk-retrieve added
No action needed.
/v2/channels/bulk-retrieve - Additive
/v2/channels/{channel_id} added
No action needed.
/v2/channels/{channel_id} - Additive
/v2/transfer-orders added
No action needed.
/v2/transfer-orders - Additive
/v2/transfer-orders/{transfer_order_id} added
No action needed.
/v2/transfer-orders/{transfer_order_id} - Additive
/v2/transfer-orders/{transfer_order_id}/cancel added
No action needed.
/v2/transfer-orders/{transfer_order_id}/cancel - Additive
/v2/transfer-orders/{transfer_order_id}/receive added
No action needed.
/v2/transfer-orders/{transfer_order_id}/receive - Additive
/v2/transfer-orders/{transfer_order_id}/start added
No action needed.
/v2/transfer-orders/{transfer_order_id}/start
- Breakingdirection flip: their tools call this safe
value can now return "COMPLETE"
Producer-side tools call this additive. It breaks exhaustive switches, strict parsers and generated client enums.
SubscriptionActionType · reachable from 10 operationsCode that breaks
switch (response) { // existing branches … // no branch for "COMPLETE" default: throw new Error("unexpected value"); } - Breakingdirection flip: their tools call this safe
value can now return "COMPLETED"
Producer-side tools call this additive. It breaks exhaustive switches, strict parsers and generated client enums.
SubscriptionStatus · reachable from 10 operationsCode that breaks
switch (response) { // existing branches … // no branch for "COMPLETED" default: throw new Error("unexpected value"); } - Breaking
application_identifier changed type
Serialization mismatch. Integer-to-string moves are the usual cause and the usual outage.
CardPaymentDetails.application_identifier · reachable from 6 operationsCode that breaks
// payload.application_identifier // was: null|string // now: string
- Breaking
application_name changed type
CardPaymentDetails.application_name · reachable from 6 operationsCode that breaks
// payload.application_name // was: null|string // now: string
- Breaking
auth_result_code changed type
CardPaymentDetails.auth_result_code · reachable from 6 operationsCode that breaks
// payload.auth_result_code // was: null|string // now: string
- Breaking
application_cryptogram changed type
CardPaymentDetails.application_cryptogram · reachable from 6 operationsCode that breaks
// payload.application_cryptogram // was: null|string // now: string
- Breaking
avs_status changed type
CardPaymentDetails.avs_status · reachable from 6 operationsCode that breaks
// payload.avs_status // was: null|string // now: string
- Breaking
cvv_status changed type
CardPaymentDetails.cvv_status · reachable from 6 operationsCode that breaks
// payload.cvv_status // was: null|string // now: string
- Breaking
entry_method changed type
CardPaymentDetails.entry_method · reachable from 6 operationsCode that breaks
// payload.entry_method // was: null|string // now: string
- Breaking
errors changed type
CardPaymentDetails.errors · reachable from 6 operationsCode that breaks
// payload.errors // was: array|null // now: array
- Breaking
refund_requires_card_presence changed type
CardPaymentDetails.refund_requires_card_presence · reachable from 6 operationsCode that breaks
// payload.refund_requires_card_presence // was: boolean|null // now: boolean
- Breaking
statement_description changed type
CardPaymentDetails.statement_description · reachable from 6 operationsCode that breaks
// payload.statement_description // was: null|string // now: string
- Breaking
status changed type
CardPaymentDetails.status · reachable from 6 operationsCode that breaks
// payload.status // was: null|string // now: string
- Breaking
verification_method changed type
CardPaymentDetails.verification_method · reachable from 6 operationsCode that breaks
// payload.verification_method // was: null|string // now: string
- Breaking
verification_results changed type
CardPaymentDetails.verification_results · reachable from 6 operationsCode that breaks
// payload.verification_results // was: null|string // now: string
- Breakingdirection flip: their tools call this safe
value can now return "HANDHELD"
Producer-side tools call this additive. It breaks exhaustive switches, strict parsers and generated client enums.
DeviceAttributesDeviceType · reachable from 2 operationsCode that breaks
switch (response) { // existing branches … // no branch for "HANDHELD" default: throw new Error("unexpected value"); } - Additive
Response type narrowed
A tighter guarantee, not a break. Every value you can receive now was already possible, so existing handling still covers it; a null check here may now be dead code.
CardPaymentDetails.application_cryptogram · reachable from 6 operations - Additive
Response type narrowed
CardPaymentDetails.application_name · reachable from 6 operations - Additive
Response type narrowed
CardPaymentDetails.auth_result_code · reachable from 6 operations - Additive
Response type narrowed
CardPaymentDetails.avs_status · reachable from 6 operations - Additive
Response type narrowed
CardPaymentDetails.cvv_status · reachable from 6 operations - Additive
Response type narrowed
CardPaymentDetails.entry_method · reachable from 6 operations - Additive
Response type narrowed
CardPaymentDetails.errors · reachable from 6 operations - Additive
Response type narrowed
CardPaymentDetails.refund_requires_card_presence · reachable from 6 operations - Additive
Response type narrowed
CardPaymentDetails.statement_description · reachable from 6 operations - Additive
Response type narrowed
CardPaymentDetails.status · reachable from 6 operations - Additive
Response type narrowed
CardPaymentDetails.verification_method · reachable from 6 operations - Additive
Response type narrowed
CardPaymentDetails.verification_results · reachable from 6 operations - Additive
Response type narrowed
CardPaymentDetails.application_identifier · reachable from 6 operations - Additive
Request property completed_date added
No action needed unless it is required.
Subscription.completed_date · reachable from 10 operations
3 new response fields
- Subscription.completed_date
- DeviceComponentDetailsEthernetDetails.mac_address
- DeviceComponentDetailsWiFiDetails.mac_address
- Breakingdirection flip: their tools call this safe
Response field tender_id is no longer guaranteed
Producer-side tools call this non-breaking. For a consumer it is a null dereference on an unknown future date.
Refund.tender_id · reachable from 12 operationsCode that breaks
// response.tender_id may now be absent or null const tender_id = response.tender_id ?? fallback;
- Breaking
Response field definition removed
Reads of this field return undefined, and the failure surfaces wherever that value is used rather than at the call.
LoyaltyProgramRewardTier.definition · reachable from 2 operationsCode that breaks
// response.definition is now undefined const definition = response.definition;
- Additive
Request field now accepts null
A relaxation. Existing payloads are unaffected.
Refund.tender_id · reachable from 12 operations
- Deprecation
POST /v2/labor/shifts deprecated
Still works today. This is the earliest warning you will get before it is removed.
POST /v2/labor/shifts - Deprecation
POST /v2/labor/shifts/search deprecated
Still works today. This is the earliest warning you will get before it is removed.
POST /v2/labor/shifts/search - Deprecation
GET /v2/labor/shifts/{id} deprecated
Still works today. This is the earliest warning you will get before it is removed.
GET /v2/labor/shifts/{id} - Deprecation
PUT /v2/labor/shifts/{id} deprecated
Still works today. This is the earliest warning you will get before it is removed.
PUT /v2/labor/shifts/{id} - Deprecation
DELETE /v2/labor/shifts/{id} deprecated
Still works today. This is the earliest warning you will get before it is removed.
DELETE /v2/labor/shifts/{id} - Additive
/v2/labor/timecards/{id} added
No action needed.
/v2/labor/timecards/{id} - Additive
/v2/labor/scheduled-shifts added
No action needed.
/v2/labor/scheduled-shifts - Additive
/v2/labor/scheduled-shifts/bulk-publish added
No action needed.
/v2/labor/scheduled-shifts/bulk-publish - Additive
/v2/labor/scheduled-shifts/search added
No action needed.
/v2/labor/scheduled-shifts/search - Additive
/v2/labor/scheduled-shifts/{id} added
No action needed.
/v2/labor/scheduled-shifts/{id} - Additive
/v2/labor/scheduled-shifts/{id}/publish added
No action needed.
/v2/labor/scheduled-shifts/{id}/publish - Additive
/v2/labor/timecards added
No action needed.
/v2/labor/timecards - Additive
/v2/labor/timecards/search added
No action needed.
/v2/labor/timecards/search
12 new response fields
- CatalogModifier.hidden_online
- CatalogModifier.on_by_default
- CatalogModifierList.allow_quantities
- CatalogModifierList.hidden_from_customer
- CatalogModifierList.is_conversational
- CatalogModifierList.min_selected_modifiers
- CatalogItemModifierListInfo.allow_quantities
- CatalogItemModifierListInfo.hidden_from_customer_override
- CatalogItemModifierListInfo.is_conversational
- CatalogModifierList.max_selected_modifiers
- CatalogModifierOverride.hidden_online_override
- CatalogModifierOverride.on_by_default_override
12 new request properties
- CatalogItemModifierListInfo.is_conversational
- CatalogModifier.hidden_online
- CatalogModifier.on_by_default
- CatalogModifierList.allow_quantities
- CatalogModifierList.hidden_from_customer
- CatalogModifierList.is_conversational
- CatalogItemModifierListInfo.allow_quantities
- CatalogItemModifierListInfo.hidden_from_customer_override
- CatalogModifierList.max_selected_modifiers
- CatalogModifierList.min_selected_modifiers
- CatalogModifierOverride.hidden_online_override
- CatalogModifierOverride.on_by_default_override
- Breaking
object_ids is now required
Partial payloads are rejected.
BatchDeleteCatalogObjectsRequest.object_ids · reachable from 1 operationCode that breaks
await client.post("/…", { // … object_ids: /* now required */, }); - Breaking
object_ids changed type
Serialization mismatch. Integer-to-string moves are the usual cause and the usual outage.
BatchDeleteCatalogObjectsRequest.object_ids · reachable from 1 operationCode that breaks
// payload.object_ids // was: array|null // now: array
3 new response fields
- CatalogItem.ecom_image_uris
- CatalogItem.ecom_uri
- CatalogItem.is_alcoholic
3 new request properties
- CatalogItem.ecom_image_uris
- CatalogItem.ecom_uri
- CatalogItem.is_alcoholic
- Breakingdirection flip: their tools call this safe
value can now return "ORDER_UNPAID_NOT_RETURNABLE"
Producer-side tools call this additive. It breaks exhaustive switches, strict parsers and generated client enums.
ErrorCode · reachable from 305 operationsCode that breaks
switch (response) { // existing branches … // no branch for "ORDER_UNPAID_NOT_RETURNABLE" default: throw new Error("unexpected value"); }
4 new response fields
- Card.hsa_fsa
- Card.issuer_alert
- Card.issuer_alert_at
- Invoice.creator_team_member_id
4 new request properties
- Card.hsa_fsa
- Card.issuer_alert
- Card.issuer_alert_at
- Invoice.creator_team_member_id
- Breakingdirection flip: their tools call this safe
value can now return "READER_DECLINED", "REFUND_ERROR_PAYMENT_NEEDS_COMPLETION"
Producer-side tools call this additive. It breaks exhaustive switches, strict parsers and generated client enums.
ErrorCode · reachable from 305 operationsCode that breaks
switch (response) { // existing branches … // no branch for "READER_DECLINED" // no branch for "REFUND_ERROR_PAYMENT_NEEDS_COMPLETION" default: throw new Error("unexpected value"); } - Deprecation
POST /mobile/authorization-code deprecated
Still works today. This is the earliest warning you will get before it is removed.
POST /mobile/authorization-code - Additive
sort_field is now optional
No action needed.
GET /v2/refunds · sort_field - Additive
updated_at_begin_time is now optional
GET /v2/refunds · updated_at_begin_time - Additive
updated_at_end_time is now optional
GET /v2/refunds · updated_at_end_time
- Breaking
Response field available_electronically removed
Reads of this field return undefined, and the failure surfaces wherever that value is used rather than at the call.
CatalogItem.available_electronically · reachable from 10 operationsCode that breaks
// response.available_electronically is now undefined const available_electronically = response.available_electronically;
- Breaking
Response field available_for_pickup removed
CatalogItem.available_for_pickup · reachable from 10 operationsCode that breaks
// response.available_for_pickup is now undefined const available_for_pickup = response.available_for_pickup;
- Breaking
Response field available_online removed
CatalogItem.available_online · reachable from 10 operationsCode that breaks
// response.available_online is now undefined const available_online = response.available_online;
- Breakingdirection flip: their tools call this safe
available_electronically is no longer accepted
Usually ignored rather than rejected, so the call succeeds and does something subtly different.
CatalogItem.available_electronically · reachable from 10 operationsCode that breaks
await client.post("/…", { // available_electronically is now ignored, not rejected available_electronically: value, }); - Breakingdirection flip: their tools call this safe
available_for_pickup is no longer accepted
Usually ignored rather than rejected, so the call succeeds and does something subtly different.
CatalogItem.available_for_pickup · reachable from 10 operationsCode that breaks
await client.post("/…", { // available_for_pickup is now ignored, not rejected available_for_pickup: value, }); - Breakingdirection flip: their tools call this safe
available_online is no longer accepted
Usually ignored rather than rejected, so the call succeeds and does something subtly different.
CatalogItem.available_online · reachable from 10 operationsCode that breaks
await client.post("/…", { // available_online is now ignored, not rejected available_online: value, }); - Breaking
Response field cards removed
Reads of this field return undefined, and the failure surfaces wherever that value is used rather than at the call.
Customer.cards · reachable from 8 operationsCode that breaks
// response.cards is now undefined const cards = response.cards;
- Breakingdirection flip: their tools call this safe
Response field job_title is no longer guaranteed
Producer-side tools call this non-breaking. For a consumer it is a null dereference on an unknown future date.
JobAssignment.job_title · reachable from 8 operationsCode that breaks
// response.job_title may now be absent or null const job_title = response.job_title ?? fallback;
- Breakingdirection flip: their tools call this safe
value can now return "QR_CODE"
Producer-side tools call this additive. It breaks exhaustive switches, strict parsers and generated client enums.
CheckoutOptionsPaymentType · reachable from 5 operationsCode that breaks
switch (response) { // existing branches … // no branch for "QR_CODE" default: throw new Error("unexpected value"); } - Additive
/v2/team-members/jobs added
No action needed.
/v2/team-members/jobs - Additive
/v2/team-members/jobs/{job_id} added
No action needed.
/v2/team-members/jobs/{job_id} - Additive
updated_at_end_time is now optional
No action needed.
GET /v2/payments · updated_at_end_time - Additive
sort_field is now optional
GET /v2/payments · sort_field - Additive
updated_at_begin_time is now optional
GET /v2/payments · updated_at_begin_time - Additive
Request field now accepts null
A relaxation. Existing payloads are unaffected.
JobAssignment.job_title · reachable from 8 operations
2 new response fields
- JobAssignment.job_id
- TeamMember.wage_setting
3 new request properties
- JobAssignment.job_id
- TeamMember.wage_setting
- CreatePaymentRequest.buyer_phone_number
- Breakingdirection flip: their tools call this safe
value can now return "PAYMENT_NOT_REFUNDABLE_DUE_TO_DISPUTE"
Producer-side tools call this additive. It breaks exhaustive switches, strict parsers and generated client enums.
ErrorCode · reachable from 301 operationsCode that breaks
switch (response) { // existing branches … // no branch for "PAYMENT_NOT_REFUNDABLE_DUE_TO_DISPUTE" default: throw new Error("unexpected value"); } - Breakingdirection flip: their tools call this safe
value can now return "SLE"
Producer-side tools call this additive. It breaks exhaustive switches, strict parsers and generated client enums.
Currency · reachable from 120 operationsCode that breaks
switch (response) { // existing branches … // no branch for "SLE" default: throw new Error("unexpected value"); } - Breakingdirection flip: their tools call this safe
value can now return "DEPOSIT_FEE_REVERSED", "SQUARE_PAYROLL_TRANSFER", "SQUARE_PAYROLL_TRANSFER_REVERSED"
Producer-side tools call this additive. It breaks exhaustive switches, strict parsers and generated client enums.
ActivityType · reachable from 1 operationCode that breaks
switch (response) { // existing branches … // no branch for "DEPOSIT_FEE_REVERSED" // no branch for "SQUARE_PAYROLL_TRANSFER" // no branch for "SQUARE_PAYROLL_TRANSFER_REVERSED" default: throw new Error("unexpected value"); }
4 new response fields
- PaymentRefund.terminal_refund_id
- PayoutEntry.type_deposit_fee_reversed_details
- PayoutEntry.type_square_payroll_transfer_details
- PayoutEntry.type_square_payroll_transfer_reversed_details
- Breaking
status is now required
Partial payloads are rejected.
RiskEvaluation.status · reachable from 6 operationsCode that breaks
await client.post("/…", { // … status: /* now required */, }); - Breakingdirection flip: their tools call this safe
Response field qualifying_category_ids is no longer guaranteed
Producer-side tools call this non-breaking. For a consumer it is a null dereference on an unknown future date.
LoyaltyPromotion.qualifying_category_ids · reachable from 4 operationsCode that breaks
// response.qualifying_category_ids may now be absent or null const qualifying_category_ids = response.qualifying_category_ids ?? fallback;
- Breakingdirection flip: their tools call this safe
Response field qualifying_item_variation_ids is no longer guaranteed
Producer-side tools call this non-breaking. For a consumer it is a null dereference on an unknown future date.
LoyaltyPromotion.qualifying_item_variation_ids · reachable from 4 operationsCode that breaks
// response.qualifying_item_variation_ids may now be absent or null const qualifying_item_variation_ids = response.qualifying_item_variation_ids ?? fallback;
- Breakingdirection flip: their tools call this safe
Response field location_ids is no longer guaranteed
Producer-side tools call this non-breaking. For a consumer it is a null dereference on an unknown future date.
LoyaltyProgram.location_ids · reachable from 2 operationsCode that breaks
// response.location_ids may now be absent or null const location_ids = response.location_ids ?? fallback;
- Deprecation
GET /v1/{location_id}/orders/{order_id} deprecated
Still works today. This is the earliest warning you will get before it is removed.
GET /v1/{location_id}/orders/{order_id} - Deprecation
GET /v2/employees deprecated
Still works today. This is the earliest warning you will get before it is removed.
GET /v2/employees - Deprecation
GET /v2/employees/{id} deprecated
Still works today. This is the earliest warning you will get before it is removed.
GET /v2/employees/{id} - Deprecation
GET /v2/inventory/adjustment/{adjustment_id} deprecated
Still works today. This is the earliest warning you will get before it is removed.
GET /v2/inventory/adjustment/{adjustment_id} - Deprecation
POST /v2/inventory/batch-change deprecated
Still works today. This is the earliest warning you will get before it is removed.
POST /v2/inventory/batch-change - Deprecation
POST /v2/inventory/batch-retrieve-changes deprecated
Still works today. This is the earliest warning you will get before it is removed.
POST /v2/inventory/batch-retrieve-changes - Deprecation
POST /v2/inventory/batch-retrieve-counts deprecated
Still works today. This is the earliest warning you will get before it is removed.
POST /v2/inventory/batch-retrieve-counts - Deprecation
GET /v2/inventory/physical-count/{physical_count_id} deprecated
Still works today. This is the earliest warning you will get before it is removed.
GET /v2/inventory/physical-count/{physical_count_id} - Deprecation
GET /v2/inventory/{catalog_object_id}/changes deprecated
Still works today. This is the earliest warning you will get before it is removed.
GET /v2/inventory/{catalog_object_id}/changes - Deprecation
GET /v2/labor/employee-wages deprecated
Still works today. This is the earliest warning you will get before it is removed.
GET /v2/labor/employee-wages - Deprecation
GET /v2/labor/employee-wages/{id} deprecated
Still works today. This is the earliest warning you will get before it is removed.
GET /v2/labor/employee-wages/{id} - Deprecation
GET /v2/locations/{location_id}/transactions deprecated
Still works today. This is the earliest warning you will get before it is removed.
GET /v2/locations/{location_id}/transactions - Deprecation
POST /v2/locations/{location_id}/transactions/{transaction_id}/capture deprecated
Still works today. This is the earliest warning you will get before it is removed.
POST /v2/locations/{location_id}/transactions/{transaction_id}/capture - Deprecation
POST /v2/locations/{location_id}/transactions/{transaction_id}/void deprecated
Still works today. This is the earliest warning you will get before it is removed.
POST /v2/locations/{location_id}/transactions/{transaction_id}/void - Deprecation
GET /v2/loyalty/programs deprecated
Still works today. This is the earliest warning you will get before it is removed.
GET /v2/loyalty/programs - Deprecation
GET /v1/{location_id}/orders deprecated
Still works today. This is the earliest warning you will get before it is removed.
GET /v1/{location_id}/orders - Deprecation
PUT /v1/{location_id}/orders/{order_id} deprecated
Still works today. This is the earliest warning you will get before it is removed.
PUT /v1/{location_id}/orders/{order_id} - Deprecation
POST /v2/customers/{customer_id}/cards deprecated
Still works today. This is the earliest warning you will get before it is removed.
POST /v2/customers/{customer_id}/cards - Deprecation
DELETE /v2/customers/{customer_id}/cards/{card_id} deprecated
Still works today. This is the earliest warning you will get before it is removed.
DELETE /v2/customers/{customer_id}/cards/{card_id} - Deprecation
POST /v2/locations/{location_id}/checkouts deprecated
Still works today. This is the earliest warning you will get before it is removed.
POST /v2/locations/{location_id}/checkouts - Deprecation
GET /v2/locations/{location_id}/transactions/{transaction_id} deprecated
Still works today. This is the earliest warning you will get before it is removed.
GET /v2/locations/{location_id}/transactions/{transaction_id} - Additive
/v2/catalog/images added
No action needed.
/v2/catalog/images - Additive
/v2/catalog/images/{image_id} added
No action needed.
/v2/catalog/images/{image_id} - Additive
/v2/disputes/{dispute_id}/evidence-files added
No action needed.
/v2/disputes/{dispute_id}/evidence-files - Additive
/v2/invoices/{invoice_id}/attachments added
No action needed.
/v2/invoices/{invoice_id}/attachments
797 request fields now accept null
- Money.amount
- Address.administrative_district_level_2
- Address.first_name
- Address.last_name
- Address.locality
- Address.postal_code
- Address.sublocality
- Address.sublocality_2
- Address.sublocality_3
- Address.address_line_1
- Address.address_line_3
- Address.administrative_district_level_1
- Address.administrative_district_level_3
- Address.address_line_2
- CustomAttributeDefinition.key
- CustomAttributeDefinition.name
- CustomAttributeDefinition.schema
- CustomAttributeDefinition.description
- Card.cardholder_name
- Card.customer_id
- Card.exp_month
- Card.exp_year
- Card.reference_id
- CustomAttribute.key
- SourceApplication.application_id
- SourceApplication.name
- CatalogMeasurementUnit.precision
- AdditionalRecipient.description
- AdditionalRecipient.receivable_id
- Refund.additional_recipients
- Refund.transaction_id
- Tender.additional_recipients
- Tender.customer_id
- Tender.location_id
- Tender.note
- Tender.transaction_id
- Tender.payment_id
- Phase.order_template_id
- Phase.ordinal
- Phase.uid
- Phase.plan_phase_uid
- CatalogAvailabilityPeriod.start_local_time
- CatalogCategory.availability_period_ids
- CatalogCategory.channels
- CatalogCategory.is_top_level
- CatalogCategory.name
- CatalogCategory.online_visibility
- CatalogCategory.path_to_root
- CatalogCustomAttributeDefinition.description
- CatalogCustomAttributeDefinition.key
- CatalogCustomAttributeDefinitionSelectionConfig.allowed_selections
- CatalogCustomAttributeDefinitionSelectionConfig.max_allowed_selections
- CatalogCustomAttributeDefinitionStringConfig.enforce_uniqueness
- CatalogCustomAttributeValue.boolean_value
- CatalogCustomAttributeValue.name
- CatalogCustomAttributeValue.number_value
- CatalogCustomAttributeValue.selection_uid_values
- CatalogCustomAttributeValue.string_value
- CatalogDiscount.name
- CatalogDiscount.pin_required
- CatalogEcomSeoData.page_description
- CatalogEcomSeoData.page_title
- CatalogEcomSeoData.permalink
- CatalogImage.caption
- CatalogImage.name
- CatalogImage.photo_studio_order_id
- CatalogImage.url
- CatalogItem.available_electronically
- CatalogItem.available_online
- CatalogItem.categories
- CatalogItem.category_id
- CatalogItem.channels
- CatalogItem.description
- CatalogItem.description_html
- CatalogItem.image_ids
- CatalogItem.item_options
- CatalogItem.label_color
- CatalogItem.modifier_list_info
- CatalogItem.name
- CatalogItem.skip_modifier_screen
- CatalogItem.sort_name
- CatalogItem.tax_ids
- CatalogItem.variations
- CatalogItemFoodAndBeverageDetails.calorie_count
- CatalogItemFoodAndBeverageDetails.dietary_preferences
- CatalogItemFoodAndBeverageDetails.ingredients
- CatalogItemFoodAndBeverageDetailsIngredient.custom_name
- CatalogItemModifierListInfo.enabled
- CatalogItemModifierListInfo.max_selected_modifiers
- CatalogItemModifierListInfo.min_selected_modifiers
- CatalogItemModifierListInfo.modifier_overrides
- CatalogItemModifierListInfo.ordinal
- CatalogItemOption.display_name
- CatalogItemOption.name
- CatalogItemOption.show_colors
- CatalogItemOption.values
- CatalogItemOptionValue.color
- CatalogItemOptionValue.description
- CatalogItemOptionValue.item_option_id
- CatalogItemOptionValue.name
- CatalogItemOptionValue.ordinal
- CatalogItemOptionValueForItemVariation.item_option_value_id
- CatalogItemVariation.available_for_booking
- CatalogItemVariation.image_ids
- CatalogItemVariation.inventory_alert_threshold
- CatalogItemVariation.item_id
- CatalogItemVariation.location_overrides
- CatalogItemVariation.measurement_unit_id
- CatalogItemVariation.name
- CatalogItemVariation.service_duration
- CatalogItemVariation.sku
- CatalogItemVariation.stockable
- CatalogItemVariation.team_member_ids
- CatalogItemVariation.upc
- CatalogItemVariation.user_data
- CatalogModifier.image_id
- CatalogModifier.location_overrides
- CatalogModifier.modifier_list_id
- CatalogModifier.name
- CatalogModifierList.internal_name
- CatalogModifierList.max_length
- CatalogModifierList.modifiers
- CatalogModifierList.name
- CatalogModifierList.text_required
- CatalogModifierOverride.on_by_default
- CatalogObject.catalog_v1_ids
- CatalogObject.is_deleted
- CatalogObject.present_at_all_locations
- CatalogObject.present_at_location_ids
- CatalogObjectCategory.ordinal
- CatalogPricingRule.apply_products_id
- CatalogPricingRule.discount_id
- CatalogPricingRule.exclude_products_id
- CatalogPricingRule.match_products_id
- CatalogPricingRule.name
- CatalogPricingRule.time_period_ids
- CatalogPricingRule.valid_from_local_time
- CatalogPricingRule.valid_until_date
- CatalogPricingRule.valid_until_local_time
- CatalogProductSet.all_products
- CatalogProductSet.name
- CatalogProductSet.product_ids_all
- CatalogProductSet.product_ids_any
- CatalogProductSet.quantity_exact
- CatalogQuickAmount.ordinal
- CatalogQuickAmount.score
- CatalogQuickAmountsSettings.eligible_for_auto_amounts
- CatalogSubscriptionPlan.all_items
- CatalogSubscriptionPlan.eligible_category_ids
- CatalogSubscriptionPlan.phases
- CatalogSubscriptionPlanVariation.can_prorate
- CatalogSubscriptionPlanVariation.monthly_billing_anchor_date
- CatalogSubscriptionPlanVariation.subscription_plan_id
- CatalogSubscriptionPlanVariation.successor_plan_variation_id
- CatalogTax.applies_to_custom_amounts
- CatalogTax.applies_to_product_set_id
- CatalogTax.enabled
- CatalogTax.name
- CatalogV1Id.catalog_v1_id
- CatalogV1Id.location_id
- CategoryPathToRootNode.category_id
- CategoryPathToRootNode.category_name
- Fulfillment.metadata
- FulfillmentDeliveryDetails.completed_at
- FulfillmentDeliveryDetails.courier_pickup_at
- FulfillmentDeliveryDetails.courier_pickup_window_duration
- FulfillmentDeliveryDetails.courier_provider_name
- FulfillmentDeliveryDetails.deliver_at
- FulfillmentDeliveryDetails.delivery_window_duration
- FulfillmentDeliveryDetails.dropoff_notes
- FulfillmentDeliveryDetails.external_delivery_id
- FulfillmentDeliveryDetails.is_no_contact_delivery
- FulfillmentDeliveryDetails.managed_delivery
- FulfillmentDeliveryDetails.note
- FulfillmentDeliveryDetails.prep_time_duration
- FulfillmentFulfillmentEntry.uid
- FulfillmentPickupDetails.auto_complete_duration
- FulfillmentPickupDetails.cancel_reason
- FulfillmentPickupDetails.expires_at
- FulfillmentPickupDetails.note
- FulfillmentPickupDetails.pickup_at
- FulfillmentPickupDetails.prep_time_duration
- FulfillmentPickupDetailsCurbsidePickupDetails.curbside_details
- FulfillmentRecipient.customer_id
- FulfillmentRecipient.display_name
- FulfillmentRecipient.email_address
- FulfillmentRecipient.phone_number
- FulfillmentShipmentDetails.canceled_at
- FulfillmentShipmentDetails.carrier
- FulfillmentShipmentDetails.expected_shipped_at
- FulfillmentShipmentDetails.failure_reason
- FulfillmentShipmentDetails.shipping_note
- FulfillmentShipmentDetails.tracking_number
- FulfillmentShipmentDetails.tracking_url
- ItemVariationLocationOverrides.inventory_alert_threshold
- ItemVariationLocationOverrides.location_id
- ModifierLocationOverrides.location_id
- Order.customer_id
- Order.discounts
- Order.fulfillments
- Order.line_items
- Order.metadata
- Order.taxes
- Order.ticket_name
- OrderLineItem.applied_discounts
- OrderLineItem.applied_service_charges
- OrderLineItem.applied_taxes
- OrderLineItem.catalog_object_id
- OrderLineItem.catalog_version
- OrderLineItem.metadata
- OrderLineItem.name
- OrderLineItem.uid
- OrderLineItemAppliedDiscount.uid
- OrderLineItemAppliedServiceCharge.uid
- OrderLineItemAppliedTax.uid
- OrderLineItemDiscount.catalog_version
- OrderLineItemDiscount.metadata
- OrderLineItemDiscount.name
- OrderLineItemModifier.catalog_object_id
- OrderLineItemModifier.metadata
- OrderLineItemModifier.name
- OrderLineItemModifier.quantity
- OrderLineItemModifier.uid
- OrderLineItemPricingBlocklists.blocked_discounts
- OrderLineItemPricingBlocklists.blocked_taxes
- OrderLineItemPricingBlocklistsBlockedDiscount.discount_uid
- OrderLineItemPricingBlocklistsBlockedDiscount.uid
- OrderLineItemPricingBlocklistsBlockedTax.tax_uid
- OrderLineItemPricingBlocklistsBlockedTax.uid
- OrderLineItemTax.catalog_object_id
- OrderLineItemTax.catalog_version
- OrderLineItemTax.metadata
- OrderLineItemTax.name
- OrderLineItemTax.percentage
- OrderLineItemTax.uid
- OrderPricingOptions.auto_apply_discounts
- OrderQuantityUnit.catalog_object_id
- OrderQuantityUnit.catalog_version
- OrderQuantityUnit.precision
- OrderReturn.return_line_items
- OrderReturn.return_tips
- OrderReturn.source_order_id
- OrderReturnDiscount.catalog_version
- OrderReturnDiscount.name
- OrderReturnDiscount.percentage
- OrderReturnDiscount.source_discount_uid
- OrderReturnDiscount.uid
- OrderReturnLineItem.applied_service_charges
- OrderReturnLineItem.applied_taxes
- OrderReturnLineItem.catalog_object_id
- OrderReturnLineItem.catalog_version
- OrderReturnLineItem.name
- OrderReturnLineItem.note
- OrderReturnLineItem.return_modifiers
- OrderReturnLineItem.source_line_item_uid
- OrderReturnLineItem.uid
- OrderReturnLineItemModifier.catalog_object_id
- OrderReturnLineItemModifier.catalog_version
- OrderReturnLineItemModifier.name
- OrderReturnLineItemModifier.quantity
- OrderReturnLineItemModifier.uid
- OrderReturnServiceCharge.catalog_version
- OrderReturnServiceCharge.name
- OrderReturnServiceCharge.percentage
- OrderReturnServiceCharge.source_service_charge_uid
- OrderReturnServiceCharge.taxable
- OrderReturnServiceCharge.uid
- OrderReturnTax.catalog_object_id
- OrderReturnTax.name
- OrderReturnTax.percentage
- OrderReturnTip.source_tender_id
- OrderReturnTip.source_tender_uid
- OrderReturnTip.uid
- OrderRoundingAdjustment.name
- OrderRoundingAdjustment.uid
- OrderServiceCharge.applied_taxes
- OrderServiceCharge.catalog_object_id
- OrderServiceCharge.metadata
- OrderServiceCharge.name
- OrderServiceCharge.taxable
- OrderServiceCharge.uid
- OrderSource.name
- Subscription.canceled_date
- Subscription.card_id
- SubscriptionAction.effective_date
- SubscriptionAction.monthly_billing_anchor_date
- SubscriptionAction.new_plan_variation_id
- SubscriptionAction.phases
- SubscriptionPhase.periods
- SubscriptionPhase.uid
- SubscriptionSource.name
- CatalogAvailabilityPeriod.end_local_time
- CatalogCustomAttributeDefinitionNumberConfig.precision
- CatalogDiscount.label_color
- CatalogItem.abbreviation
- CatalogItem.available_for_pickup
- CatalogItem.is_taxable
- CatalogItemFoodAndBeverageDetailsDietaryPreference.custom_name
- CatalogItemOption.description
- CatalogItemOptionValueForItemVariation.item_option_id
- CatalogItemVariation.item_option_values
- CatalogItemVariation.sellable
- CatalogModifier.ordinal
- CatalogModifierList.image_ids
- CatalogObject.absent_at_location_ids
- CatalogProductSet.quantity_max
- CatalogProductSet.quantity_min
- CatalogSubscriptionPlan.subscription_plan_variations
- CatalogTimePeriod.event
- Fulfillment.uid
- FulfillmentDeliveryDetails.cancel_reason
- FulfillmentFulfillmentEntry.metadata
- FulfillmentShipmentDetails.cancel_reason
- FulfillmentShipmentDetails.shipping_type
- Order.reference_id
- Order.service_charges
- OrderLineItem.modifiers
- OrderLineItem.variation_name
- OrderReturn.uid
- OrderLineItemPricingBlocklistsBlockedDiscount.discount_catalog_object_id
- OrderPricingOptions.auto_apply_taxes
- OrderReturnDiscount.catalog_object_id
- OrderReturnLineItem.variation_name
- OrderReturnLineItemModifier.source_modifier_uid
- OrderReturnServiceCharge.applied_taxes
- OrderReturnTax.source_tax_uid
- OrderServiceCharge.catalog_version
- OrderServiceCharge.percentage
- Subscription.actions
- SubscriptionPhase.ordinal
- CatalogCategory.image_ids
- CatalogCustomAttributeDefinitionSelectionConfigCustomAttributeSelection.uid
- CatalogDiscount.percentage
- CatalogItemOptionForItem.item_option_id
- CatalogItemVariation.track_inventory
- CatalogModifierList.ordinal
- CatalogObject.custom_attribute_values
- CatalogPricingRule.valid_from_date
- CatalogQuickAmountsSettings.amounts
- CatalogTax.percentage
- FulfillmentDeliveryDetails.courier_support_phone_number
- FulfillmentPickupDetails.is_curbside_pickup
- FulfillmentPickupDetailsCurbsidePickupDetails.buyer_arrived_at
- ItemVariationLocationOverrides.track_inventory
- OrderLineItem.note
- OrderLineItemDiscount.percentage
- OrderLineItemModifier.catalog_version
- OrderLineItemPricingBlocklistsBlockedTax.tax_catalog_object_id
- OrderReturn.return_service_charges
- OrderReturnLineItem.applied_discounts
- OrderReturnServiceCharge.catalog_object_id
- OrderReturnTax.uid
- Subscription.tax_percentage
- SubscriptionPricing.discount_ids
- CatalogItem.is_archived
- CatalogPricingRule.customer_group_ids_any
- CatalogSubscriptionPlan.eligible_item_ids
- FulfillmentDeliveryDetails.square_delivery_id
- FulfillmentPickupDetails.pickup_window_duration
- OrderLineItemDiscount.catalog_object_id
- OrderLineItemDiscount.uid
- OrderReturnTax.catalog_version
- ProcessingFee.effective_at
- ProcessingFee.type
- TimeRange.end_at
- TimeRange.start_at
- CustomerTaxIds.eu_vat
- AppointmentSegment.duration_minutes
- AppointmentSegment.service_variation_id
- AppointmentSegment.service_variation_version
- GiftCard.gan
- InventoryAdjustment.catalog_object_id
- InventoryAdjustment.catalog_object_type
- InventoryAdjustment.employee_id
- InventoryAdjustment.location_id
- InventoryAdjustment.occurred_at
- InventoryAdjustment.quantity
- InventoryAdjustment.reference_id
- InventoryAdjustment.team_member_id
- InventoryPhysicalCount.catalog_object_type
- InventoryPhysicalCount.employee_id
- InventoryPhysicalCount.occurred_at
- InventoryPhysicalCount.quantity
- InventoryPhysicalCount.reference_id
- InventoryPhysicalCount.team_member_id
- Invoice.description
- Invoice.location_id
- Invoice.order_id
- Invoice.payment_conditions
- Invoice.payment_requests
- Invoice.scheduled_at
- Invoice.store_payment_method_enabled
- Invoice.title
- InvoiceAcceptedPaymentMethods.bank_account
- InvoiceAcceptedPaymentMethods.buy_now_pay_later
- InvoiceAcceptedPaymentMethods.card
- InvoiceAcceptedPaymentMethods.cash_app_pay
- InvoiceCustomField.label
- InvoiceCustomField.value
- InvoicePaymentReminder.message
- InvoicePaymentReminder.relative_scheduled_days
- InvoicePaymentRequest.card_id
- InvoicePaymentRequest.percentage_requested
- InvoicePaymentRequest.reminders
- InvoicePaymentRequest.tipping_enabled
- InvoicePaymentRequest.uid
- Vendor.account_number
- Vendor.contacts
- Vendor.name
- Vendor.note
- VendorContact.phone_number
- VendorContact.removed
- InventoryPhysicalCount.catalog_object_id
- Invoice.custom_fields
- InvoiceAcceptedPaymentMethods.square_gift_card
- InvoiceRecipient.customer_id
- VendorContact.email_address
- InventoryPhysicalCount.location_id
- Invoice.sale_or_service_date
- InvoicePaymentRequest.due_date
- VendorContact.name
- Invoice.invoice_number
- ACHDetails.account_number_suffix
- ACHDetails.account_type
- ACHDetails.routing_number
- AfterpayDetails.email_address
- ApplicationDetails.application_id
- BankAccountPaymentDetails.bank_name
- BankAccountPaymentDetails.country
- BankAccountPaymentDetails.errors
- BankAccountPaymentDetails.fingerprint
- BankAccountPaymentDetails.transfer_type
- Booking.seller_note
- Booking.start_at
- BuyNowPayLaterDetails.brand
- CardPaymentDetails.application_identifier
- CardPaymentDetails.application_name
- CardPaymentDetails.avs_status
- CardPaymentDetails.cvv_status
- CardPaymentDetails.entry_method
- CardPaymentDetails.errors
- CardPaymentDetails.refund_requires_card_presence
- CardPaymentDetails.statement_description
- CardPaymentDetails.status
- CardPaymentTimeline.authorized_at
- CardPaymentTimeline.captured_at
- CardPaymentTimeline.voided_at
- CashAppDetails.buyer_full_name
- ClearpayDetails.email_address
- DeviceDetails.device_installation_id
- DeviceDetails.device_name
- DigitalWalletDetails.status
- InventoryTransfer.catalog_object_id
- InventoryTransfer.catalog_object_type
- InventoryTransfer.employee_id
- InventoryTransfer.occurred_at
- InventoryTransfer.quantity
- InventoryTransfer.reference_id
- InventoryTransfer.team_member_id
- InventoryTransfer.to_location_id
- Payment.version_token
- SquareAccountDetails.errors
- SquareAccountDetails.payment_source_token
- TeamMember.email_address
- TeamMember.family_name
- TeamMember.given_name
- TeamMember.phone_number
- TeamMember.reference_id
- BankAccountPaymentDetails.account_ownership_type
- BankAccountPaymentDetails.statement_description
- Booking.appointment_segments
- Booking.customer_id
- Booking.customer_note
- CardPaymentDetails.verification_method
- CardPaymentDetails.verification_results
- DeviceDetails.device_id
- DigitalWalletDetails.brand
- ExternalPaymentDetails.source_id
- InventoryTransfer.from_location_id
- Payment.team_member_id
- CardPaymentDetails.auth_result_code
- CashAppDetails.buyer_country_code
- Payment.delay_action
- Booking.location_id
- CardPaymentDetails.application_cryptogram
- TeamMemberAssignedLocations.location_ids
- ConfirmationOptions.disagree_button_text
- DeviceCheckoutOptions.collect_signature
- DeviceCheckoutOptions.show_itemized_cart
- DeviceMetadata.app_version
- DeviceMetadata.battery_percentage
- DeviceMetadata.charging_state
- DeviceMetadata.location_id
- DeviceMetadata.merchant_id
- DeviceMetadata.network_connection_type
- DeviceMetadata.payment_region
- DeviceMetadata.serial_number
- DeviceMetadata.wifi_network_name
- DeviceMetadata.wifi_network_strength
- ReceiptOptions.is_duplicate
- ReceiptOptions.print_only
- SaveCardOptions.reference_id
- TerminalAction.await_next_action
- TerminalAction.await_next_action_duration
- TerminalAction.deadline_duration
- TerminalAction.device_id
- TerminalCheckout.customer_id
- TerminalCheckout.deadline_duration
- TerminalCheckout.note
- TerminalCheckout.reference_id
- TerminalCheckout.statement_description_identifier
- TerminalCheckout.team_member_id
- TipSettings.allow_tipping
- TipSettings.custom_tip_field
- TipSettings.smart_tipping
- TipSettings.tip_percentages
- DeviceCheckoutOptions.skip_receipt_screen
- DeviceMetadata.ip_address
- PaymentOptions.accept_partial_authorization
- PaymentOptions.autocomplete
- PaymentOptions.delay_duration
- TerminalRefund.deadline_duration
- TipSettings.separate_tip_screen
- DeviceMetadata.os_version
- TerminalCheckout.order_id
- AcceptedPaymentMethods.apple_pay
- AcceptedPaymentMethods.cash_app_pay
- AcceptedPaymentMethods.google_pay
- Break.end_at
- BusinessHours.periods
- BusinessHoursPeriod.start_local_time
- CheckoutOptions.allow_tipping
- CheckoutOptions.ask_for_shipping_address
- CheckoutOptions.custom_fields
- CheckoutOptions.enable_coupon
- CheckoutOptions.enable_loyalty
- CheckoutOptions.redirect_url
- CheckoutOptions.subscription_plan_id
- Coordinates.latitude
- Coordinates.longitude
- Location.business_email
- Location.description
- Location.facebook_url
- Location.instagram_username
- Location.language_code
- Location.mcc
- Location.name
- Location.phone_number
- Location.timezone
- LoyaltyEventAccumulatePoints.order_id
- LoyaltyEventAdjustPoints.reason
- LoyaltyPromotion.qualifying_category_ids
- LoyaltyPromotion.qualifying_item_variation_ids
- LoyaltyPromotionIncentivePointsMultiplierData.multiplier
- PaymentLink.payment_note
- PrePopulatedData.buyer_email
- Shift.breaks
- Shift.employee_id
- Shift.team_member_id
- ShiftWage.tip_eligible
- ShiftWage.title
- ShippingFee.name
- WebhookSubscription.api_version
- WebhookSubscription.enabled
- WebhookSubscription.event_types
- WebhookSubscription.name
- AcceptedPaymentMethods.afterpay_clearpay
- BusinessHoursPeriod.end_local_time
- CheckoutOptions.merchant_support_email
- Location.website_url
- Location.twitter_username
- LoyaltyEventAccumulatePoints.points
- LoyaltyPromotionIncentivePointsMultiplierData.points_multiplier
- PaymentLink.description
- Shift.end_at
- Location.business_name
- Shift.timezone
- PrePopulatedData.buyer_phone_number
- WebhookSubscription.notification_url
- DestinationDetailsExternalRefundDetails.source_id
- DeviceCode.location_id
- DeviceCode.name
- LoyaltyAccount.customer_id
- LoyaltyAccount.enrolled_at
- LoyaltyAccountMapping.phone_number
- LoyaltyReward.order_id
- LoyaltyAccount.expiring_point_deadlines
- BatchChangeInventoryRequest.changes
- BatchChangeInventoryRequest.ignore_unchanged_counts
- BatchRetrieveInventoryChangesRequest.catalog_object_ids
- BatchRetrieveInventoryChangesRequest.cursor
- BatchRetrieveInventoryChangesRequest.limit
- BatchRetrieveInventoryChangesRequest.states
- BatchRetrieveInventoryChangesRequest.types
- BatchRetrieveInventoryChangesRequest.updated_after
- BatchRetrieveInventoryChangesRequest.updated_before
- BatchRetrieveInventoryCountsRequest.catalog_object_ids
- BatchRetrieveInventoryCountsRequest.cursor
- BatchRetrieveInventoryCountsRequest.limit
- BatchRetrieveInventoryCountsRequest.location_ids
- BatchRetrieveInventoryCountsRequest.states
- CheckoutLocationSettings.location_id
- CheckoutLocationSettings.policies
- CheckoutLocationSettingsBranding.button_color
- CheckoutLocationSettingsCoupons.enabled
- CheckoutLocationSettingsPolicy.description
- CheckoutLocationSettingsPolicy.title
- CheckoutLocationSettingsPolicy.uid
- CheckoutLocationSettingsTipping.percentages
- CheckoutLocationSettingsTipping.smart_tipping_enabled
- CheckoutLocationSettingsTipping.smart_tips
- FilterValue.all
- FilterValue.any
- FilterValue.none
- GiftCardActivity.gift_card_id
- GiftCardActivityActivate.buyer_payment_instrument_ids
- GiftCardActivityActivate.line_item_uid
- GiftCardActivityActivate.order_id
- GiftCardActivityActivate.reference_id
- GiftCardActivityLoad.line_item_uid
- GiftCardActivityLoad.order_id
- GiftCardActivityLoad.reference_id
- GiftCardActivityRedeem.reference_id
- GiftCardActivityUnlinkedActivityRefund.reference_id
- JobAssignment.weekly_hours
- WageSetting.is_overtime_exempt
- WageSetting.job_assignments
- WageSetting.team_member_id
- BatchRetrieveInventoryChangesRequest.location_ids
- CheckoutLocationSettings.customer_notes_enabled
- CheckoutLocationSettingsTipping.default_percent
- GiftCardActivity.gift_card_gan
- GiftCardActivityLoad.buyer_payment_instrument_ids
- GiftCardActivityRefund.redeem_activity_id
- BatchRetrieveInventoryCountsRequest.updated_after
- GiftCardActivityRefund.reference_id
- UpdateVendorRequest.idempotency_key
- CheckoutMerchantSettingsPaymentMethodsPaymentMethod.enabled
- BatchDeleteCatalogObjectsRequest.object_ids
- BatchRetrieveCatalogObjectsRequest.include_category_path_to_root
- BatchRetrieveCatalogObjectsRequest.include_related_objects
- BatchRetrieveOrdersRequest.location_id
- BulkCreateCustomerData.birthday
- BulkCreateCustomerData.company_name
- BulkCreateCustomerData.email_address
- BulkCreateCustomerData.family_name
- BulkCreateCustomerData.given_name
- BulkCreateCustomerData.nickname
- BulkCreateCustomerData.note
- BulkCreateCustomerData.phone_number
- BulkCreateCustomerData.reference_id
- BulkUpdateCustomerData.birthday
- BulkUpdateCustomerData.company_name
- BulkUpdateCustomerData.email_address
- BulkUpdateCustomerData.family_name
- BulkUpdateCustomerData.given_name
- BulkUpdateCustomerData.nickname
- BulkUpdateCustomerData.note
- BulkUpdateCustomerData.reference_id
- BulkUpsertLocationCustomAttributesRequestLocationCustomAttributeUpsertRequest.idempotency_key
- BulkUpsertOrderCustomAttributesRequestUpsertCustomAttribute.idempotency_key
- CalculateLoyaltyPointsRequest.loyalty_account_id
- CalculateLoyaltyPointsRequest.order_id
- CalculateOrderRequest.proposed_rewards
- CancelBookingRequest.booking_version
- CancelBookingRequest.idempotency_key
- CatalogQueryItemVariationsForItemOptionValues.item_option_value_ids
- CatalogQueryItemsForItemOptions.item_option_ids
- CatalogQueryRange.attribute_max_value
- CatalogQueryRange.attribute_min_value
- CatalogQuerySortedAttribute.initial_attribute_value
- ChangeBillingAnchorDateRequest.monthly_billing_anchor_date
- CompletePaymentRequest.version_token
- CustomAttributeFilter.custom_attribute_definition_id
- CustomAttributeFilter.key
- CustomAttributeFilter.selection_uids_filter
- CustomAttributeFilter.string_filter
- CustomerCreationSourceFilter.values
- CustomerCustomAttributeFilterValue.boolean
- CustomerCustomAttributeFilters.filters
- CustomerDetails.customer_initiated
- CustomerDetails.seller_keyed_in
- CustomerTextFilter.fuzzy
- DateRange.end_date
- DateRange.start_date
- FloatNumberRange.end_at
- FloatNumberRange.start_at
- InvoiceFilter.customer_ids
- ObtainTokenRequest.client_secret
- ObtainTokenRequest.code
- ObtainTokenRequest.migration_token
- ObtainTokenRequest.redirect_uri
- ObtainTokenRequest.refresh_token
- ObtainTokenRequest.scopes
- ObtainTokenRequest.short_lived
- PauseSubscriptionRequest.pause_cycle_duration
- PauseSubscriptionRequest.pause_reason
- PauseSubscriptionRequest.resume_effective_date
- PayOrderRequest.order_version
- PayOrderRequest.payment_ids
- PublishInvoiceRequest.idempotency_key
- Range.max
- Range.min
- RefundPaymentRequest.destination_id
- RefundPaymentRequest.location_id
- RefundPaymentRequest.payment_version_token
- RefundPaymentRequest.reason
- RefundPaymentRequest.team_member_id
- RefundPaymentRequest.unlinked
- RevokeTokenRequest.access_token
- RevokeTokenRequest.client_id
- RevokeTokenRequest.merchant_id
- RevokeTokenRequest.revoke_only_access_token
- SearchAvailabilityFilter.location_id
- SearchAvailabilityFilter.segment_filters
- SearchEventsFilter.event_types
- SearchEventsFilter.location_ids
- SearchEventsFilter.merchant_ids
- SearchLoyaltyAccountsRequestLoyaltyAccountQuery.mappings
- SearchOrdersCustomerFilter.customer_ids
- SearchOrdersSourceFilter.source_names
- SearchSubscriptionsFilter.customer_ids
- SearchSubscriptionsFilter.location_ids
- SearchSubscriptionsFilter.source_names
- SearchTeamMembersFilter.is_owner
- SearchTeamMembersFilter.location_ids
- SearchVendorsRequestFilter.name
- SearchVendorsRequestFilter.status
- ShiftFilter.employee_ids
- ShiftFilter.team_member_ids
- ShiftWorkday.default_timezone
- SwapPlanRequest.new_plan_variation_id
- SwapPlanRequest.phases
- TerminalActionQueryFilter.status
- TerminalCheckoutQueryFilter.device_id
- TerminalCheckoutQueryFilter.status
- TerminalRefundQueryFilter.status
- TerminalRefundQuerySort.sort_order
- TestWebhookSubscriptionRequest.event_type
- UpdateCustomerCustomAttributeDefinitionRequest.idempotency_key
- UpdateCustomerRequest.birthday
- UpdateCustomerRequest.company_name
- UpdateCustomerRequest.family_name
- UpdateCustomerRequest.given_name
- UpdateCustomerRequest.nickname
- UpdateCustomerRequest.note
- UpdateCustomerRequest.phone_number
- UpdateCustomerRequest.reference_id
- UpdateInvoiceRequest.fields_to_clear
- UpdateInvoiceRequest.idempotency_key
- UpdateItemModifierListsRequest.modifier_lists_to_enable
- UpdateItemTaxesRequest.taxes_to_disable
- UpdateItemTaxesRequest.taxes_to_enable
- UpdateLocationCustomAttributeDefinitionRequest.idempotency_key
- UpdateMerchantCustomAttributeDefinitionRequest.idempotency_key
- UpdateOrderCustomAttributeDefinitionRequest.idempotency_key
- UpdateOrderRequest.fields_to_clear
- UpdateOrderRequest.idempotency_key
- UpdateWebhookSubscriptionSignatureKeyRequest.idempotency_key
- UpsertCustomerCustomAttributeRequest.idempotency_key
- UpsertLocationCustomAttributeRequest.idempotency_key
- UpsertMerchantCustomAttributeRequest.idempotency_key
- UpsertOrderCustomAttributeRequest.idempotency_key
- V1UpdateOrderRequest.completed_note
- V1UpdateOrderRequest.refunded_note
- V1UpdateOrderRequest.shipped_tracking_number
- V1UpdateOrderRequest.canceled_note
- BatchRetrieveCatalogObjectsRequest.catalog_version
- BookingCustomAttributeUpsertRequest.idempotency_key
- BulkRetrieveVendorsRequest.vendor_ids
- BulkUpsertCustomerCustomAttributesRequestCustomerCustomAttributeUpsertRequest.idempotency_key
- BulkUpsertMerchantCustomAttributesRequestMerchantCustomAttributeUpsertRequest.idempotency_key
- ChangeBillingAnchorDateRequest.effective_date
- CloneOrderRequest.idempotency_key
- CustomAttributeFilter.bool_filter
- CustomerTextFilter.exact
- PauseSubscriptionRequest.pause_effective_date
- PhaseInput.order_template_id
- RefundPaymentRequest.payment_id
- SearchOrdersFulfillmentFilter.fulfillment_states
- ShiftFilter.location_ids
- TerminalActionQueryFilter.device_id
- UpdateBookingCustomAttributeDefinitionRequest.idempotency_key
- UpdateCustomerRequest.email_address
- AdjustLoyaltyPointsRequest.allow_negative_balance
- BatchRetrieveCatalogObjectsRequest.include_deleted_objects
- BulkUpdateCustomerData.phone_number
- ObtainTokenRequest.code_verifier
- ResumeSubscriptionRequest.resume_effective_date
- SearchLoyaltyAccountsRequestLoyaltyAccountQuery.customer_ids
- SearchOrdersFulfillmentFilter.fulfillment_types
- TerminalRefundQueryFilter.device_id
- UpdateBookingRequest.idempotency_key
- UpdateItemModifierListsRequest.modifier_lists_to_disable
- UpsertBookingCustomAttributeRequest.idempotency_key
- RefundPaymentRequest.customer_id
- SearchAvailabilityFilter.booking_id
2 new response fields
- DestinationDetails.cash_details
- DestinationDetails.external_details
2 new request properties
- RefundPaymentRequest.cash_details
- RefundPaymentRequest.external_details
2 new response fields
- Booking.address
- Payment.terminal_checkout_id
2 new request properties
- Booking.address
- Payment.terminal_checkout_id