Use a key in your interface
Use HTTP status and the stable machine code for program decisions. Resolve translationKey in your own language catalog, then substitute translationValues as plain data. Do not treat values as HTML or translation options.
The text below is a translation template. Placeholders such as {{count}} are filled from translationValues when the operation supplies them. A key does not require language negotiation with the API.
For an unknown key or a missing translation, show a localized fallback and retain status/code for support. Do not show a raw key or silently substitute another language. User-authored content remains data and is not a translation key.
audit:
These keys come from the reviewed source modules used by integrations. The operation contract determines which statuses and scenarios apply; a catalog entry does not make every key possible on every operation.
- audit:apiErrors.aUDITKMSSECRETKEYIDIsNotConfigured
- AUDIT_KMS_SECRET_KEY_ID is not configured
- audit:apiErrors.activeInboundAuditSourceNotFound
- Active inbound audit source not found
- audit:apiErrors.activeInboundAuditSourceRequired
- Active inbound audit source required
- audit:apiErrors.auditPublicEvidenceMustBeAnObject
- Audit public evidence must be an object
- audit:apiErrors.forbiddenAuditEvidenceKeyAtValue
- Forbidden audit evidence key at {{path}}
- audit:apiErrors.inboundAuditSignatureIsInvalidOrExpired
- Inbound audit signature is invalid or expired
- audit:apiErrors.inboundAuditSourceNotFound
- Inbound audit source not found
- audit:apiErrors.kMSDidNotReturnDecryptedSecretMaterial
- KMS did not return decrypted secret material
- audit:apiErrors.kMSDidNotReturnEncryptedSecretEvidence
- KMS did not return encrypted secret evidence
- audit:apiErrors.networkFingerprintFieldCollisionAtValueValue
- Network fingerprint field collision at {{path}}.{{outputName}}
- audit:apiErrors.networkIdentifierAtValueValueMustBeANonEmptyString
- Network identifier at {{path}}.{{name}} must be a non-empty string
- audit:apiErrors.networkIdentifiersCannotBeIngestedWithoutAStrongFingerprintKey
- Network identifiers cannot be ingested without a strong fingerprint key
- audit:apiErrors.oCSFBatchMustContainBetween1And500Events
- OCSF batch must contain between 1 and 500 events
- audit:apiErrors.oCSFEventClassIsNotAllowedForThisSource
- OCSF event class is not allowed for this source
- audit:apiErrors.oCSFEventMustBeAnObject
- OCSF event must be an object
- audit:apiErrors.oCSFNDJSONContainsInvalidJSON
- OCSF NDJSON contains invalid JSON
- audit:apiErrors.signedTelemetryRequestWasAlreadyProcessed
- Signed telemetry request was already processed
- audit:apiErrors.telemetryBatchOrdinalsMustBeUnique
- Telemetry batch ordinals must be unique
- audit:apiErrors.telemetryEventPayloadHashDoesNotMatchNormalizedBytes
- Telemetry event payload hash does not match normalized bytes
- audit:apiErrors.thirdPartyScopeMustComeFromTheSourceBindingNotValueValue
- Third-party scope must come from the source binding, not {{path}}.{{key}}
- audit:apiErrors.unknownAuditEventIdentity
- Unknown audit event identity
- audit:apiErrors.unknownPublicEvidenceKeyForValue
- Unknown public evidence key for {{action}}
errors:
These keys come from the reviewed source modules used by integrations. The operation contract determines which statuses and scenarios apply; a catalog entry does not make every key possible on every operation.
- errors:apiErrors.authenticatedActorIsRequiredForPrincipalScopedIdempotency
- Authenticated actor is required for principal-scoped idempotency
- errors:apiErrors.currencyReferenceDatasetIsNotAvailable
- CurrencyReference dataset is not available
- errors:apiErrors.geoReferenceDatasetIsNotAvailable
- GeoReference dataset is not available
- errors:apiErrors.idempotencyKeyCannotBeEmpty
- Idempotency key cannot be empty
- errors:apiErrors.idempotencyKeyCannotExceedValueCharacters
- Idempotency key cannot exceed {{IDEMPOTENCY_KEY_MAX_LENGTH}} characters
- errors:apiErrors.idempotencyKeyHeaderIsRequiredForThisOperation
- Idempotency-Key header is required for this operation
- errors:apiErrors.oneOrMoreReferenceCodesAreNotSupported
- One or more reference codes are not supported
- errors:apiErrors.platformScopeRequiresOrganizationIdOrALegacyVenueId
- Platform scope requires organizationId or a legacy venueId
- errors:apiErrors.venuePlatformScopeMappingIsInconsistent
- Venue platform scope mapping is inconsistent
- errors:http.badGateway
- A required upstream service returned an invalid response.
- errors:http.badRequest
- The request is invalid. Check its parameters and body.
- errors:http.conflict
- The request conflicts with the current resource state.
- errors:http.failure
- The request could not be completed.
- errors:http.forbidden
- You do not have permission to perform this action.
- errors:http.gatewayTimeout
- A required upstream service did not respond in time.
- errors:http.gone
- The requested resource is no longer available.
- errors:http.internalServerError
- An unexpected server error occurred.
- errors:http.methodNotAllowed
- This HTTP method is not supported for this resource.
- errors:http.notFound
- The requested resource was not found.
- errors:http.notImplemented
- The requested operation is not supported.
- errors:http.payloadTooLarge
- The request body exceeds the allowed size.
- errors:http.preconditionFailed
- A required request precondition was not met.
- errors:http.requestTimeout
- The request timed out before it could be completed.
- errors:http.tooManyRequests
- Too many requests. Wait before trying again and respect Retry-After when provided.
- errors:http.unprocessableEntity
- The request could not be processed. Check the documented field and business rules.
- errors:http.unsupportedMediaType
- The request content type is not supported.
- errors:idempotency.inProgress
- This request is still being processed. Wait and retry with the same key and payload.
- errors:idempotency.notReady
- The previous request has not produced a result yet. Retry with the same key and payload.
- errors:idempotency.payloadMismatch
- This idempotency key was used with a different request. Use a new key for a new action.
- errors:idempotency.scopeIncomplete
- The request context is incomplete. Check the selected venue or organization.
finance:
These keys come from the reviewed source modules used by integrations. The operation contract determines which statuses and scenarios apply; a catalog entry does not make every key possible on every operation.
- finance:apiErrors.aBankSyncIsAlreadyQueuedOrRunning
- A bank sync is already queued or running
- finance:apiErrors.anActiveBankLinkSessionAlreadyExists
- An active bank link session already exists
- finance:apiErrors.bankConnectionCannotStartALinkSession
- Bank connection cannot start a link session
- finance:apiErrors.bankConnectionIsNotReadyForSync
- Bank connection is not ready for sync
- finance:apiErrors.bankConnectionWasNotFound
- Bank connection was not found
- finance:apiErrors.bankLinkSessionChanged
- Bank link session changed
- finance:apiErrors.bankLinkSessionIsStaleOrExpired
- Bank link session is stale or expired
- finance:apiErrors.bankProviderCredentialsAreInvalid
- Bank provider credentials are invalid
- finance:apiErrors.bankProviderResponseIsInvalid
- Bank provider response is invalid
- finance:apiErrors.bankProviderTransportOutcomeIsUnknown
- Bank provider transport outcome is unknown
- finance:apiErrors.bankProviderWebhookCouldNotBeVerified
- Bank provider webhook could not be verified
- finance:apiErrors.bankSyncRunWasNotFound
- Bank sync run was not found
- finance:apiErrors.bankWebhookIdentifierWasReusedWithAnotherBody
- Bank webhook identifier was reused with another body
- finance:apiErrors.bankWebhookJSONIsInvalid
- Bank webhook JSON is invalid
- finance:apiErrors.capturedPaymentAttemptCannotTransition
- Captured payment attempt cannot transition
- finance:apiErrors.kMSDidNotReturnDecryptedBankTokenMaterial
- KMS did not return decrypted bank-token material
- finance:apiErrors.kMSDidNotReturnEncryptedBankTokenMaterial
- KMS did not return encrypted bank-token material
- finance:apiErrors.manualCardConfirmationRequiresAnEnabledManualTenderAndReason
- Manual card confirmation requires an enabled manual tender and reason
- finance:apiErrors.orderCannotAcceptPayments
- Order cannot accept payments
- finance:apiErrors.paymentAttemptCannotBeCanceled
- Payment attempt cannot be canceled
- finance:apiErrors.paymentAttemptIsAlreadyResolved
- Payment attempt is already resolved
- finance:apiErrors.paymentAttemptNotFound
- Payment attempt not found
- finance:apiErrors.paymentProviderEventWasReusedWithADifferentPayload
- Payment provider event was reused with a different payload
- finance:apiErrors.paymentWebhookIsStale
- Payment webhook is stale
- finance:apiErrors.paymentWebhookSignatureIsInvalid
- Payment webhook signature is invalid
- finance:apiErrors.plaidCredentialsAreInvalid
- Plaid credentials are invalid
- finance:apiErrors.plaidSyncCouldNotStabilize
- Plaid sync could not stabilize
- finance:apiErrors.plaidSyncExceededTheBoundedPageLimit
- Plaid sync exceeded the bounded page limit
- finance:apiErrors.plaidWebhookVerificationKeyIsInvalid
- Plaid webhook verification key is invalid
- finance:apiErrors.providerCurrencyIsInvalid
- Provider currency is invalid
- finance:apiErrors.rawBankWebhookBodyIsRequired
- Raw bank webhook body is required
- finance:apiErrors.saltEdgeCredentialsAreInvalid
- Salt Edge credentials are invalid
- finance:apiErrors.saltEdgeLinkCompletionIsCallbackOwned
- Salt Edge link completion is callback-owned
- finance:apiErrors.saltEdgeRequestFailedWithHTTPValue
- Salt Edge request failed with HTTP {{status}}
- finance:apiErrors.saltEdgeSyncExceededTheBoundedPageLimit
- Salt Edge sync exceeded the bounded page limit
- finance:apiErrors.statementImportsDoNotUseProviderLinkSessions
- Statement imports do not use provider link sessions
- finance:apiErrors.thisTenderRequiresAnOpenRegister
- This tender requires an open register
- finance:apiErrors.valueIsInvalid
- {{field}} is invalid
- finance:apiErrors.valueIsMissing
- {{field}} is missing
guests:
These keys come from the reviewed source modules used by integrations. The operation contract determines which statuses and scenarios apply; a catalog entry does not make every key possible on every operation.
- guests:apiErrors.aGuestProfileCannotBeMergedIntoItself
- A guest profile cannot be merged into itself
- guests:apiErrors.aGuestTagWithThisNameAlreadyExists
- A guest tag with this name already exists
- guests:apiErrors.activityRecorded
- Guest activity recorded.
- guests:apiErrors.anActiveGuestLoyaltyProgramIsRequired
- An active guest loyalty program is required
- guests:apiErrors.anActiveProviderIsRequiredForThisChannel
- An active provider is required for this channel
- guests:apiErrors.anActiveProviderIsRequiredToReply
- An active provider is required to reply
- guests:apiErrors.anActiveZeroPointBaseTierIsRequired
- An active zero-point base tier is required
- guests:apiErrors.anApprovedAccessOrPortabilityCaseIsRequiredForDataExport
- An approved access or portability case is required for data export
- guests:apiErrors.anApprovedErasureCaseIsRequiredForAnonymization
- An approved erasure case is required for anonymization
- guests:apiErrors.anonymizedLoyaltyAdjustment
- Anonymized loyalty adjustment
- guests:apiErrors.atLeastOneSegmentCriterionIsRequired
- At least one segment criterion is required
- guests:apiErrors.campaignProviderDoesNotMatchTheVenueAndChannel
- Campaign provider does not match the venue and channel
- guests:apiErrors.campaignSegmentIsNotAvailable
- Campaign segment is not available
- guests:apiErrors.campaignTemplateIsNotAvailable
- Campaign template is not available
- guests:apiErrors.campaignTemplateMustBeActiveBeforePreparation
- Campaign template must be active before preparation
- guests:apiErrors.consentPurposeAndStatusMustBeConfiguredTogether
- Consent purpose and status must be configured together
- guests:apiErrors.deliveryEventStatusIsNotSupported
- Delivery event status is not supported
- guests:apiErrors.duplicateGuestIdentityMerged
- Duplicate guest identity merged
- guests:apiErrors.emailTemplatesRequireASubject
- Email templates require a subject
- guests:apiErrors.guestActivityCursorIsInvalidOrExpired
- Guest activity cursor is invalid or expired
- guests:apiErrors.guestAddedToHousehold
- Guest added to household
- guests:apiErrors.guestCampaignChangedRefreshBeforeRetrying
- Guest campaign changed; refresh before retrying
- guests:apiErrors.guestCampaignCursorDoesNotMatchThisVenue
- Guest campaign cursor does not match this venue
- guests:apiErrors.guestCampaignCursorIsInvalidOrExpired
- Guest campaign cursor is invalid or expired
- guests:apiErrors.guestCampaignMessageSent
- Guest campaign message sent
- guests:apiErrors.guestCampaignRecipientCursorDoesNotMatchThisCampaign
- Guest campaign recipient cursor does not match this campaign
- guests:apiErrors.guestCampaignRecipientCursorIsInvalidOrExpired
- Guest campaign recipient cursor is invalid or expired
- guests:apiErrors.guestCampaignWasNotFound
- Guest campaign was not found
- guests:apiErrors.guestCommunicationAdapterIsNotSupported
- Guest communication adapter is not supported
- guests:apiErrors.guestCommunicationProviderWasNotFound
- Guest communication provider was not found
- guests:apiErrors.guestCommunicationSettingsChangedReloadBeforeSaving
- Guest communication settings changed. Reload before saving.
- guests:apiErrors.guestCommunicationTemplateWasNotFound
- Guest communication template was not found
- guests:apiErrors.guestConsentPreferenceChanged
- Guest consent preference changed
- guests:apiErrors.guestConsentPreferencesChangedReloadBeforeSavingAgain
- Guest consent preferences changed. Reload before saving again.
- guests:apiErrors.guestConversationChangedRefreshBeforeRetrying
- Guest conversation changed; refresh before retrying
- guests:apiErrors.guestConversationWasNotFound
- Guest conversation was not found
- guests:apiErrors.guestDataExportGenerated
- Guest data export generated
- guests:apiErrors.guestDirectoryCursorDoesNotMatchTheCurrentQuery
- Guest directory cursor does not match the current query
- guests:apiErrors.guestDirectoryCursorIsInvalidOrExpired
- Guest directory cursor is invalid or expired
- guests:apiErrors.guestGovernanceSettingsChangedRefreshBeforeRetrying
- Guest governance settings changed. Refresh before retrying.
- guests:apiErrors.guestHouseholdArchived
- Guest household archived
- guests:apiErrors.guestHouseholdChangedRefreshBeforeRetrying
- Guest household changed. Refresh before retrying.
- guests:apiErrors.guestHouseholdCreated
- Guest household created
- guests:apiErrors.guestHouseholdMemberWasNotFound
- Guest household member was not found
- guests:apiErrors.guestHouseholdPrimaryChanged
- Guest household primary changed
- guests:apiErrors.guestHouseholdRestored
- Guest household restored
- guests:apiErrors.guestHouseholdUpdated
- Guest household updated
- guests:apiErrors.guestHouseholdWasNotFound
- Guest household was not found
- guests:apiErrors.guestIdentityAnonymized
- Guest identity anonymized
- guests:apiErrors.guestIdentityAnonymizedByRetentionPolicy
- Guest identity anonymized by retention policy
- guests:apiErrors.guestInboxCursorDoesNotMatchThisVenue
- Guest inbox cursor does not match this venue
- guests:apiErrors.guestInboxCursorIsInvalidOrExpired
- Guest inbox cursor is invalid or expired
- guests:apiErrors.guestInboxReplySent
- Guest inbox reply sent
- guests:apiErrors.guestLoyaltyAccountWasNotFound
- Guest loyalty account was not found
- guests:apiErrors.guestLoyaltyBalanceAdjusted
- Guest loyalty balance adjusted
- guests:apiErrors.guestLoyaltyCursorDoesNotMatchThisGuest
- Guest loyalty cursor does not match this guest
- guests:apiErrors.guestLoyaltyCursorIsInvalidOrExpired
- Guest loyalty cursor is invalid or expired
- guests:apiErrors.guestLoyaltyDataChangedReloadBeforeContinuing
- Guest loyalty data changed. Reload before continuing.
- guests:apiErrors.guestLoyaltyPointsEarned
- Guest loyalty points earned
- guests:apiErrors.guestLoyaltyProgramWasNotFound
- Guest loyalty program was not found
- guests:apiErrors.guestLoyaltyTierChanged
- Guest loyalty tier changed
- guests:apiErrors.guestMessageCursorDoesNotMatchThisConversation
- Guest message cursor does not match this conversation
- guests:apiErrors.guestMessageCursorIsInvalidOrExpired
- Guest message cursor is invalid or expired
- guests:apiErrors.guestMessageReceived
- Guest message received
- guests:apiErrors.guestMessageWasNotFound
- Guest message was not found
- guests:apiErrors.guestNoteAdded
- Guest note added
- guests:apiErrors.guestNoteChangedReloadItBeforeSavingAgain
- Guest note changed. Reload it before saving again.
- guests:apiErrors.guestNotePolicyClassIsNotPermitted
- Guest note policy class is not permitted
- guests:apiErrors.guestNoteRemoved
- Guest note removed
- guests:apiErrors.guestNoteUpdated
- Guest note updated
- guests:apiErrors.guestNoteWasNotFound
- Guest note was not found
- guests:apiErrors.guestPersonalInformationSearchIsNotPermitted
- Guest personal information search is not permitted
- guests:apiErrors.guestPortalHistoryCursorDoesNotMatchThisProfile
- Guest portal history cursor does not match this profile
- guests:apiErrors.guestPortalHistoryCursorIsInvalidOrExpired
- Guest portal history cursor is invalid or expired
- guests:apiErrors.guestPortalProfileWasNotFound
- Guest portal profile was not found
- guests:apiErrors.guestPortalSessionIsInvalidOrExpired
- Guest portal session is invalid or expired
- guests:apiErrors.guestPreferenceChangedReloadItBeforeSavingAgain
- Guest preference changed. Reload it before saving again.
- guests:apiErrors.guestPreferenceRemoved
- Guest preference removed
- guests:apiErrors.guestPreferenceUpdated
- Guest preference updated
- guests:apiErrors.guestPreferenceWasNotFound
- Guest preference was not found
- guests:apiErrors.guestPrivacyCaseWasNotFound
- Guest privacy case was not found
- guests:apiErrors.guestPrivacyRequestOpened
- Guest privacy request opened
- guests:apiErrors.guestProfileArchived
- Guest profile archived
- guests:apiErrors.guestProfileChangedReloadItBeforeSavingAgain
- Guest profile changed. Reload it before saving again.
- guests:apiErrors.guestProfileCreated
- Guest profile created
- guests:apiErrors.guestProfileRestored
- Guest profile restored
- guests:apiErrors.guestProfileUpdated
- Guest profile updated
- guests:apiErrors.guestProviderWebhookCouldNotBeVerified
- Guest provider webhook could not be verified
- guests:apiErrors.guestRemovedFromHousehold
- Guest removed from household
- guests:apiErrors.guestSafetyContextAdded
- Guest safety context added
- guests:apiErrors.guestSafetyContextChangedReloadItBeforeSavingAgain
- Guest safety context changed. Reload it before saving again.
- guests:apiErrors.guestSafetyContextRemoved
- Guest safety context removed
- guests:apiErrors.guestSafetyContextUpdated
- Guest safety context updated
- guests:apiErrors.guestSafetyContextWasNotFound
- Guest safety context was not found
- guests:apiErrors.guestSearchQueryIsNotSpecificEnough
- Guest search query is not specific enough
- guests:apiErrors.guestSegmentChangedReloadBeforeSavingAgain
- Guest segment changed. Reload before saving again.
- guests:apiErrors.guestSegmentCursorDoesNotMatchThisSegment
- Guest segment cursor does not match this segment
- guests:apiErrors.guestSegmentCursorIsInvalidOrExpired
- Guest segment cursor is invalid or expired
- guests:apiErrors.guestSegmentWasNotFound
- Guest segment was not found
- guests:apiErrors.guestTagWasNotFound
- Guest tag was not found
- guests:apiErrors.guestVenueProfileWasNotFound
- Guest venue profile was not found
- guests:apiErrors.householdMembersMustBelongToTheSameOrganization
- Household members must belong to the same organization
- guests:apiErrors.loyaltyProgramCurrencyMustMatchTheVenueCurrency
- Loyalty program currency must match the venue currency
- guests:apiErrors.marketingTemplatesRequireAnUnsubscribeURL
- Marketing templates require an unsubscribe URL
- guests:apiErrors.messageDeliveryFailedCheckTheProviderConfigurationAndRetryStatus
- Message delivery failed. Check the provider configuration and retry status.
- guests:apiErrors.oneOfTheGuestProfilesChangedReviewTheMergeAgain
- One of the guest profiles changed. Review the merge again.
- guests:apiErrors.oneOrMoreLoyaltyTiersDoNotBelongToThisVenue
- One or more loyalty tiers do not belong to this venue
- guests:apiErrors.oneOrMoreSegmentTagsDoNotBelongToThisVenue
- One or more segment tags do not belong to this venue
- guests:apiErrors.onlyActiveGuestIdentitiesCanBeMerged
- Only active guest identities can be merged
- guests:apiErrors.onlyActiveGuestProfilesCanBeAddedToAHousehold
- Only active guest profiles can be added to a household
- guests:apiErrors.outboundProviderEndpointsAreServerManaged
- Outbound provider endpoints are server-managed
- guests:apiErrors.preferenceAddedValue
- Preference added: {{name}}
- guests:apiErrors.protectedGuestDataCouldNotBeDecrypted
- Protected guest data could not be decrypted
- guests:apiErrors.tagAssignedValue
- Tag assigned: {{name}}
- guests:apiErrors.tagRemovedValue
- Tag removed: {{name}}
- guests:apiErrors.templateContainsAnUnsupportedPlaceholder
- Template contains an unsupported placeholder
- guests:apiErrors.theActiveZeroPointBaseTierCannotBeRemoved
- The active zero-point base tier cannot be removed
- guests:apiErrors.theAdjustmentWouldCreateANegativePointsBalance
- The adjustment would create a negative points balance
- guests:apiErrors.theIdentitiesBelongToDifferentHouseholdsResolveTheHouseholdRelationshipBeforeMerging
- The identities belong to different households. Resolve the household relationship before merging.
- guests:apiErrors.thePrivacyCaseChangedReloadItBeforeContinuing
- The privacy case changed. Reload it before continuing.
- guests:apiErrors.theReplyCouldNotBeDelivered
- The reply could not be delivered
- guests:apiErrors.theSelectedProfilesAlreadyBelongToTheSameIdentity
- The selected profiles already belong to the same identity
- guests:apiErrors.theTargetGuestProfileWasNotFoundInThisOrganization
- The target guest profile was not found in this organization
- guests:apiErrors.thisGuestAlreadyBelongsToAHousehold
- This guest already belongs to a household
- guests:apiErrors.thisIdentityIsUsedByMoreThanOneVenueAndRequiresOrganizationMergePermission
- This identity is used by more than one venue and requires organization merge permission
- guests:apiErrors.thisSafetyContextAlreadyExistsForTheGuest
- This safety context already exists for the guest
- guests:apiErrors.transferThePrimaryRoleBeforeRemovingThisMember
- Transfer the primary role before removing this member
- guests:apiErrors.useThePrimaryTransferActionToAssignANewPrimary
- Use the primary transfer action to assign a new primary
- guests:apiErrors.venueWasNotFound
- Venue was not found
- guests:apiErrors.visitedWithinDaysMustExceedNotVisitedForDaysWhenBothAreSet
- Visited-within days must exceed not-visited-for days when both are set
orders:
These keys come from the reviewed source modules used by integrations. The operation contract determines which statuses and scenarios apply; a catalog entry does not make every key possible on every operation.
- orders:apiErrors.aCateringPackageUsesOneImmutableOrderLineAndScalesFromFulfillmentPartySize
- A catering package uses one immutable order line and scales from fulfillment party size
- orders:apiErrors.aFixedPriceCourseMenuCanBeAssignedToExactlyOneGuest
- A fixed-price course menu can be assigned to exactly one guest
- orders:apiErrors.addAnotherFixedPriceMenuLineForAGuestWithDifferentCourseChoices
- Add another fixed-price menu line for a guest with different course choices
- orders:apiErrors.assignedQuantityExceedsAvailableItemQuantity
- Assigned quantity exceeds available item quantity
- orders:apiErrors.canceledCoursesCannotBeRemade
- Canceled courses cannot be remade
- orders:apiErrors.canceledOrderItemCannotBeReleased
- Canceled order item cannot be released
- orders:apiErrors.canceledOrdersCannotBeCorrected
- Canceled orders cannot be corrected
- orders:apiErrors.confirmedScheduledOrderItemsAreImmutable
- Confirmed scheduled-order items are immutable
- orders:apiErrors.courseComponentRemakeMustKeepTheOriginalDishIdentity
- Course component remake must keep the original dish identity
- orders:apiErrors.courseComponentRemakeQuantityMustMatchTheCorrectedQuantity
- Course component remake quantity must match the corrected quantity
- orders:apiErrors.courseDishIsNoLongerAssignedToACourse
- Course dish is no longer assigned to a course
- orders:apiErrors.courseDishIsNoLongerAssignedToAnActiveCourse
- Course dish is no longer assigned to an active course
- orders:apiErrors.deliveredOrderItemCannotBeReleased
- Delivered order item cannot be released
- orders:apiErrors.eachTableSessionGuestCanBeAssignedOnlyOncePerOrderItem
- Each table session guest can be assigned only once per order item
- orders:apiErrors.fireLaterItemsCanBeReleasedOnlyAfterTheOrderIsSubmitted
- Fire later items can be released only after the order is submitted
- orders:apiErrors.fixedPriceCourseMenusMustBeReleasedOneCourseAtATime
- Fixed-price course menus must be released one course at a time
- orders:apiErrors.guestAssignmentsCanBeChangedOnlyBeforeTheOrderIsPaidOrCanceled
- Guest assignments can be changed only before the order is paid or canceled
- orders:apiErrors.guestAssignmentsCannotBeChangedAfterThisItemIsPaid
- Guest assignments cannot be changed after this item is paid
- orders:apiErrors.itemLevelDiscountsAndTaxExemptionsMustBeReviewedBeforeReplacingAScheduledPreorderPackage
- Item-level discounts and tax exemptions must be reviewed before replacing a scheduled preorder package
- orders:apiErrors.kitchenItemNotFound
- Kitchen item not found
- orders:apiErrors.kitchenReleaseAccessRequired
- Kitchen release access required
- orders:apiErrors.managerReviewIsRequiredBeforeReleasingAnOverdueItem
- Manager review is required before releasing an overdue item
- orders:apiErrors.measuredItemsUseOneAtomicOrderLineEditTheMeasuredAmountInstead
- Measured items use one atomic order line; edit the measured amount instead
- orders:apiErrors.offPremiseOrdersDoNotHaveTableSessionGuests
- Off-premise orders do not have table-session guests
- orders:apiErrors.onlyACourseDishThatEnteredPreparationCanBeRemade
- Only a course dish that entered preparation can be remade
- orders:apiErrors.onlyAnIncludedFixedPriceCourseDishCanUseTheComponentRemakeWorkflow
- Only an included fixed-price course dish can use the component remake workflow
- orders:apiErrors.onlySubmittedOrPaidCourseDishesCanBeRemade
- Only submitted or paid course dishes can be remade
- orders:apiErrors.openPriceLineTotalCannotExceedDecimal122StorageBounds
- Open-price line total cannot exceed Decimal(12,2) storage bounds
- orders:apiErrors.orderIsLockedToADifferentSalesChannel
- Order is locked to a different sales channel
- orders:apiErrors.orderIsNotOpen
- Order is not open
- orders:apiErrors.orderItemAvailabilityChangedRefreshAndTryAgain
- Order item availability changed; refresh and try again
- orders:apiErrors.orderItemCannotBeReleasedAfterKitchenWorkHasStarted
- Order item cannot be released after kitchen work has started
- orders:apiErrors.orderItemCourseIsNotAvailableForRelease
- Order item course is not available for release
- orders:apiErrors.orderItemDoesNotRequireKitchenRelease
- Order item does not require kitchen release
- orders:apiErrors.orderItemHasAlreadyBeenReleasedToKitchen
- Order item has already been released to kitchen
- orders:apiErrors.orderItemHasNoActiveQuantityToRelease
- Order item has no active quantity to release
- orders:apiErrors.orderItemIsNotHeldForKitchenRelease
- Order item is not held for kitchen release
- orders:apiErrors.orderItemNotFound
- Order item not found
- orders:apiErrors.orderNotFound
- Order not found
- orders:apiErrors.persistedMeasuredOrderEvidenceIsInvalid
- Persisted measured order evidence is invalid
- orders:apiErrors.provideExactlyOneOfMenuItemIdOrMenuVariantId
- Provide exactly one of menuItemId or menuVariantId
- orders:apiErrors.quantityPortionMustBeGreaterThan0
- Quantity portion must be greater than 0
- orders:apiErrors.readyOrPartiallyReadyOrderItemCannotBeReleasedAgain
- Ready or partially ready order item cannot be released again
- orders:apiErrors.remakeQuantityExceedsTheRemainingCorrectableCourseDishQuantity
- Remake quantity exceeds the remaining correctable course dish quantity
- orders:apiErrors.replaceABuildYourOwnItemWithTheSameImmutableGuidedPlanComponentCorrectionsRemainOwned
- Replace a build-your-own item with the same immutable guided plan; component corrections remain owned by the root item
- orders:apiErrors.replaceABundleWithTheSameImmutablePackagePlanNestedPackageCorrectionsRemainOwnedByThe
- Replace a bundle with the same immutable package plan; nested package corrections remain owned by the root item
- orders:apiErrors.replaceACateringPackageOnlyWithTheSameImmutablePolicyFulfillmentAndComponentScalingPlan
- Replace a catering package only with the same immutable policy, fulfillment and component scaling plan
- orders:apiErrors.replaceACustomStructureWithTheSameImmutablePolicyAndDelegatePlan
- Replace a custom structure with the same immutable policy and delegate plan
- orders:apiErrors.replaceAFixedPriceCourseMenuWithTheSameServicePlanOrUseTheExplicitRemake
- Replace a fixed-price course menu with the same service plan, or use the explicit remake workflow
- orders:apiErrors.replaceAMeasuredItemWithTheSameImmutableUnitAndQuantityPolicy
- Replace a measured item with the same immutable unit and quantity policy
- orders:apiErrors.replacementMustDifferFromTheVoidedItem
- Replacement must differ from the voided item
- orders:apiErrors.storedCustomPolicyEvidenceFailedItsIntegrityCheck
- Stored custom policy evidence failed its integrity check
- orders:apiErrors.tableSessionGuestNotFound
- Table session guest not found
- orders:apiErrors.theOriginalPackageSnapshotNoLongerMatchesTheAuthoritativeScheduledFulfillment
- The original package snapshot no longer matches the authoritative scheduled fulfillment
- orders:apiErrors.useTheNormalEditFlowBeforeCheckout
- Use the normal edit flow before checkout
- orders:apiErrors.voidQuantityExceedsRemainingBillableQuantity
- Void quantity exceeds remaining billable quantity
pos:
These keys come from the reviewed source modules used by integrations. The operation contract determines which statuses and scenarios apply; a catalog entry does not make every key possible on every operation.
- pos:apiErrors.acceptedOrResolvedExternalOrdersRequireAnExplicitOperatorAction
- Accepted or resolved external orders require an explicit operator action
- pos:apiErrors.externalCancellationRevisionIsStale
- External cancellation revision is stale
- pos:apiErrors.externalOrderChangedBeforeItCouldBeCanceled
- External order changed before it could be canceled
- pos:apiErrors.externalOrderChangedBeforeItCouldBeRejected
- External order changed before it could be rejected
- pos:apiErrors.externalOrderChangedBeforeItsRevisionCouldBeReplaced
- External order changed before its revision could be replaced
- pos:apiErrors.externalOrderIsAlreadyResolved
- External order is already resolved
- pos:apiErrors.externalOrderNotFound
- External order not found
- pos:apiErrors.externalOrderRevisionIsStale
- External order revision is stale
- pos:apiErrors.externalOrderRevisionWasReusedWithADifferentPayload
- External order revision was reused with a different payload
- pos:apiErrors.externalOrderSourceNotFound
- External order source not found
- pos:apiErrors.externalOrderWebhookSecretIsInvalid
- External order webhook secret is invalid
- pos:apiErrors.externalRevisionChanged
- External revision changed
- pos:apiErrors.salesChannelNotFound
- Sales channel not found
- pos:apiErrors.valueMustBeABase64Encoded32ByteKey
- {{EXTERNAL_ORDER_SECRET_ENV}} must be a base64-encoded 32-byte key
- pos:apiErrors.webhookSignatureIsInvalid
- Webhook signature is invalid
- pos:apiErrors.webhookTimestampIsStale
- Webhook timestamp is stale
preorders:
These keys come from the reviewed source modules used by integrations. The operation contract determines which statuses and scenarios apply; a catalog entry does not make every key possible on every operation.
- preorders:apiErrors.aCartLineIsOutsideItsServiceModeQuantityLeadOrBookingHorizonRule
- A cart line is outside its service mode, quantity, lead, or booking horizon rule
- preorders:apiErrors.aContactNameIsRequiredForThisPreorder
- A contact name is required for this preorder
- preorders:apiErrors.aFulfillmentNoteIsRequiredForThisPackage
- A fulfillment note is required for this package
- preorders:apiErrors.aLockedFinancialPolicyIsRequiredToQuoteThisPreorder
- A locked financial policy is required to quote this preorder
- preorders:apiErrors.aPhoneNumberOrEmailIsRequiredForThisPackage
- A phone number or email is required for this package
- preorders:apiErrors.aPreorderSalesChannelCannotBeChangedByAmendmentUseAnExplicitMigrationAndRepriceFlow
- A preorder sales channel cannot be changed by amendment; use an explicit migration and reprice flow
- preorders:apiErrors.aQuotedCartLineCanNoLongerBeResolvedFromTheCurrentPublishedMenu
- A quoted cart line can no longer be resolved from the current published menu
- preorders:apiErrors.aValidPreorderPartnerCredentialIsRequired
- A valid preorder partner credential is required
- preorders:apiErrors.activeDeliveryZoneWasNotFound
- Active delivery zone was not found
- preorders:apiErrors.activeFulfillmentPolicyIsNotConfigured
- Active fulfillment policy is not configured
- preorders:apiErrors.activeFulfillmentWindowsMustFitAtLeastOneCompleteSlot
- Active fulfillment windows must fit at least one complete slot
- preorders:apiErrors.allKitchenItemsMustBeReadyDeliveredOrCanceled
- All kitchen items must be ready, delivered, or canceled
- preorders:apiErrors.anActiveFulfillmentPolicyNeedsAtLeastOneActiveWindow
- An active fulfillment policy needs at least one active window
- preorders:apiErrors.cancellationNowRequiresManagerApproval
- Cancellation now requires manager approval
- preorders:apiErrors.cannotConfirmAnEmptyPreorder
- Cannot confirm an empty preorder
- preorders:apiErrors.capacityHoldExpiredEditTheOrderToAcquireANewSlot
- Capacity hold expired; edit the order to acquire a new slot
- preorders:apiErrors.cartLineIdsMustBeUniqueAndEachLineMustSelectExactlyOneItemOrVariant
- Cart line ids must be unique and each line must select exactly one item or variant
- preorders:apiErrors.cashDepositEvidenceRequiresAPOSRegisterSession
- Cash deposit evidence requires a POS register session
- preorders:apiErrors.cashDepositRegisterEvidenceIsInvalid
- Cash deposit register evidence is invalid
- preorders:apiErrors.catalogRuleNotFound
- Catalog rule not found
- preorders:apiErrors.completionRequiresTheServiceModeHandoffStateAndOutcome
- Completion requires the service-mode handoff state and outcome
- preorders:apiErrors.confirmedPaymentRefundLiabilityMustBeResolvedBeforeKitchenRelease
- Confirmed payment refund liability must be resolved before kitchen release
- preorders:apiErrors.confirmedPaymentsRequireManualRefundResolution
- Confirmed payments require manual refund resolution
- preorders:apiErrors.contactIsRequired
- Contact is required
- preorders:apiErrors.contactNameIsRequired
- Contact name is required
- preorders:apiErrors.deliveryCoordinatesRequireLatitudeLongitudeAndACoordinateSourceTogether
- Delivery coordinates require latitude, longitude, and a coordinate source together
- preorders:apiErrors.deliveryRequiresAddressCityPostalCodeAndCountryCode
- Delivery requires address, city, postal code, and country code
- preorders:apiErrors.deliveryRequiresAddressLineCityPostalCodeAndISOCountryCode
- Delivery requires address line, city, postal code, and ISO country code
- preorders:apiErrors.deliveryZoneChangedReloadBeforeSaving
- Delivery zone changed; reload before saving
- preorders:apiErrors.deliveryZoneGeometryDoesNotMatchItsKind
- Delivery zone geometry does not match its kind
- preorders:apiErrors.deliveryZoneNotFound
- Delivery zone not found
- preorders:apiErrors.depositAllocationMustConsumeTheConfirmedPaymentEvidenceUpToTheOutstandingRequirement
- Deposit allocation must consume the confirmed payment evidence up to the outstanding requirement
- preorders:apiErrors.depositAllocationMustReferenceConfirmedPaymentEvidenceFromThisOrder
- Deposit allocation must reference confirmed payment evidence from this order
- preorders:apiErrors.depositAllocationNotFound
- Deposit allocation not found
- preorders:apiErrors.dineInDoesNotUseFulfillmentSlots
- Dine-in does not use fulfillment slots
- preorders:apiErrors.dineInDoesNotUseScheduledFulfillment
- Dine-in does not use scheduled fulfillment
- preorders:apiErrors.dineInIsNotAScheduledFulfillmentMode
- Dine-in is not a scheduled fulfillment mode
- preorders:apiErrors.draftRevisionIsRequired
- Draft revision is required
- preorders:apiErrors.exceptionNotFound
- Exception not found
- preorders:apiErrors.exceptionWindowIsInvalid
- Exception window is invalid
- preorders:apiErrors.fulfillmentCapacityHoldIsNoLongerValid
- Fulfillment capacity hold is no longer valid
- preorders:apiErrors.fulfillmentDepositPolicySnapshotIsInvalid
- Fulfillment deposit policy snapshot is invalid
- preorders:apiErrors.fulfillmentIsNotConfirmed
- Fulfillment is not confirmed
- preorders:apiErrors.fulfillmentPolicyChangedReloadBeforeSaving
- Fulfillment policy changed; reload before saving
- preorders:apiErrors.fulfillmentPolicyNotFound
- Fulfillment policy not found
- preorders:apiErrors.fulfillmentPolicySnapshotIsInvalid
- Fulfillment policy snapshot is invalid
- preorders:apiErrors.fulfillmentPrivacyPolicySnapshotIsInvalid
- Fulfillment privacy policy snapshot is invalid
- preorders:apiErrors.fulfillmentWindowIsInvalid
- Fulfillment window is invalid
- preorders:apiErrors.fulfillmentWindowsCannotOverlap
- Fulfillment windows cannot overlap
- preorders:apiErrors.guestAndHandoffDetailsCorrected
- Guest and handoff details corrected
- preorders:apiErrors.guestContactSearchRequiresPreordersPiiSearch
- Guest contact search requires preorders.pii.search
- preorders:apiErrors.idempotencyKeyHeaderIsRequired
- Idempotency-Key header is required
- preorders:apiErrors.ingredientStockReservationHasAShortfall
- Ingredient stock reservation has a shortfall
- preorders:apiErrors.insufficientIngredientStockForScheduledFulfillment
- Insufficient ingredient stock for scheduled fulfillment
- preorders:apiErrors.invalidFulfillmentDepositPolicy
- Invalid fulfillment deposit policy
- preorders:apiErrors.invalidServiceDate
- Invalid service date
- preorders:apiErrors.itemLevelDiscountsOrTaxExemptionsMustBeReviewedBeforeReplacingAPreorderPackage
- Item-level discounts or tax exemptions must be reviewed before replacing a preorder package
- preorders:apiErrors.kitchenItemsMustBeReadyDeliveredOrCanceledBeforeCompletion
- Kitchen items must be ready, delivered, or canceled before completion
- preorders:apiErrors.kitchenReleaseIsNotDue
- Kitchen release is not due
- preorders:apiErrors.kitchenReleaseTimeHasNotArrived
- Kitchen release time has not arrived
- preorders:apiErrors.kitchenWorkMustBeDeliveredOrCanceledBeforeCompletion
- Kitchen work must be delivered or canceled before completion
- preorders:apiErrors.maximumQuantityCannotBeBelowMinimum
- Maximum quantity cannot be below minimum
- preorders:apiErrors.minimumBookingLeadCannotExceedTheBookingHorizon
- Minimum booking lead cannot exceed the booking horizon
- preorders:apiErrors.minimumBookingLeadMustCoverThePlannedKitchenReleaseLead
- Minimum booking lead must cover the planned kitchen release lead
- preorders:apiErrors.noActiveFulfillmentWindowCoversThisSlot
- No active fulfillment window covers this slot
- preorders:apiErrors.oneOrMoreSalesChannelsWereNotFound
- One or more sales channels were not found
- preorders:apiErrors.onlyAReadyDeliveryPreorderCanLeaveForDelivery
- Only a ready delivery preorder can leave for delivery
- preorders:apiErrors.onlyActiveHeldOrConfirmedPreordersCanCorrectGuestDetails
- Only active held or confirmed preorders can correct guest details
- preorders:apiErrors.onlyFulfillmentInPreparationCanBeMarkedReady
- Only fulfillment in preparation can be marked ready
- preorders:apiErrors.onlyHeldOrConfirmedPreordersCanBeAmended
- Only held or confirmed preorders can be amended
- preorders:apiErrors.onlyHeldPreordersCanBeEdited
- Only held preorders can be edited
- preorders:apiErrors.paidPreordersPriceReductionsAndRefundLiabilitiesRequireRefundAuthority
- Paid preorders, price reductions, and refund liabilities require refund authority
- preorders:apiErrors.paymentEvidenceIsAlreadyBoundToAnotherOrVoidedDepositAllocation
- Payment evidence is already bound to another or voided deposit allocation
- preorders:apiErrors.paymentIsAlreadyAllocatedAsDepositEvidence
- Payment is already allocated as deposit evidence
- preorders:apiErrors.policyTemplateNotFound
- Policy template not found
- preorders:apiErrors.preorderActivityCursorIsInvalid
- Preorder activity cursor is invalid
- preorders:apiErrors.preorderActivityRecorded
- Preorder activity recorded
- preorders:apiErrors.preorderCanceledByGuest
- Preorder canceled by guest
- preorders:apiErrors.preorderCanceledByStaff
- Preorder canceled by staff
- preorders:apiErrors.preorderCapacityHeld
- Preorder capacity held
- preorders:apiErrors.preorderChangedFromAnAcceptedQuote
- Preorder changed from an accepted quote
- preorders:apiErrors.preorderConfirmed
- Preorder confirmed
- preorders:apiErrors.preorderCursorIsInvalidForTheSelectedFiltersAndSort
- Preorder cursor is invalid for the selected filters and sort
- preorders:apiErrors.preorderDraftChangedReloadBeforeSaving
- Preorder draft changed; reload before saving
- preorders:apiErrors.preorderDraftIsTooLarge
- Preorder draft is too large
- preorders:apiErrors.preorderDraftNotFound
- Preorder draft not found
- preorders:apiErrors.preorderExternalCredentialNotFound
- Preorder external credential not found
- preorders:apiErrors.preorderHandedOffForDelivery
- Preorder handed off for delivery
- preorders:apiErrors.preorderHandoffCompleted
- Preorder handoff completed
- preorders:apiErrors.preorderIsNotHeldForConfirmation
- Preorder is not held for confirmation
- preorders:apiErrors.preorderNotFound
- Preorder not found
- preorders:apiErrors.preorderNotificationNotFound
- Preorder notification not found
- preorders:apiErrors.preorderQuoteSigningIsNotConfigured
- Preorder quote signing is not configured
- preorders:apiErrors.preorderReadyForHandoff
- Preorder ready for handoff
- preorders:apiErrors.preorderReleasedToProduction
- Preorder released to production
- preorders:apiErrors.preorderScheduleChanged
- Preorder schedule changed
- preorders:apiErrors.protectedPreorderDetailsAreNoLongerAvailable
- Protected preorder details are no longer available
- preorders:apiErrors.publicChannelChangedReloadBeforeSaving
- Public channel changed; reload before saving
- preorders:apiErrors.publicChannelOriginMustUseHTTPOrHTTPS
- Public channel origin must use HTTP or HTTPS
- preorders:apiErrors.publicChannelServiceActorMustBeAnActiveVenueMember
- Public channel service actor must be an active venue member
- preorders:apiErrors.publishedMenuItemNotFound
- Published menu item not found
- preorders:apiErrors.releasedPreordersUseTheNormalCorrectionCancellationFlow
- Released preorders use the normal correction/cancellation flow
- preorders:apiErrors.requiredDepositIsNotFullyAllocated
- Required deposit is not fully allocated
- preorders:apiErrors.requiredDepositIsOverdueAndFulfillmentCannotBeReleased
- Required deposit is overdue and fulfillment cannot be released
- preorders:apiErrors.requiredPreorderDepositHasNotBeenPaid
- Required preorder deposit has not been paid
- preorders:apiErrors.salesChannelNotFound
- Sales channel not found
- preorders:apiErrors.salesChannelPolicyAcceptanceOrContactDetailsAreInvalid
- Sales channel, policy acceptance, or contact details are invalid
- preorders:apiErrors.scheduledForMustIncludeAnExplicitUTCOffset
- scheduledFor must include an explicit UTC offset
- preorders:apiErrors.scheduledFulfillmentChangedRefreshAndTryAgain
- Scheduled fulfillment changed; refresh and try again
- preorders:apiErrors.scheduledFulfillmentReleaseTimeHasNotArrived
- Scheduled fulfillment release time has not arrived
- preorders:apiErrors.scheduledOrderNotFound
- Scheduled order not found
- preorders:apiErrors.scheduledOrderWithDepositEvidenceCannotBeEdited
- Scheduled order with deposit evidence cannot be edited
- preorders:apiErrors.scheduledStockInventoryScopeIsIncomplete
- Scheduled stock inventory scope is incomplete
- preorders:apiErrors.scheduledStockRecipeEvidenceIsIncomplete
- Scheduled stock recipe evidence is incomplete
- preorders:apiErrors.scheduledStockRequiresAnImmutablePublishedRecipeSnapshotForEveryInventoryLine
- Scheduled stock requires an immutable published recipe snapshot for every inventory line
- preorders:apiErrors.scheduledStockReservationEvidenceIsIncomplete
- Scheduled stock reservation evidence is incomplete
- preorders:apiErrors.scheduledStockReservationGenerationEvidenceIsInconsistent
- Scheduled stock reservation generation evidence is inconsistent
- preorders:apiErrors.scheduledStockReservationGenerationIsMissing
- Scheduled stock reservation generation is missing
- preorders:apiErrors.scheduledStockReservationGenerationPointerIsInconsistent
- Scheduled stock reservation generation pointer is inconsistent
- preorders:apiErrors.scheduledStockReservationGenerationScopeIsInvalid
- Scheduled stock reservation generation scope is invalid
- preorders:apiErrors.scheduledStockReservationMetadataConflictsWithImmutableEvidence
- Scheduled stock reservation metadata conflicts with immutable evidence
- preorders:apiErrors.scheduledStockReservationMetadataIsIncomplete
- Scheduled stock reservation metadata is incomplete
- preorders:apiErrors.scheduledStockReservationNoLongerMatchesTheImmutableOrderRecipe
- Scheduled stock reservation no longer matches the immutable order recipe
- preorders:apiErrors.scheduledStockReservationScopeIsInvalid
- Scheduled stock reservation scope is invalid
- preorders:apiErrors.scheduledTimeIsNotAlignedToTheConfiguredSlotInterval
- Scheduled time is not aligned to the configured slot interval
- preorders:apiErrors.scheduledTimeIsOutsideTheFulfillmentBookingRange
- Scheduled time is outside the fulfillment booking range
- preorders:apiErrors.slotAvailabilityRangeIsInvalid
- Slot availability range is invalid
- preorders:apiErrors.stockReservationIsScheduledButNotDueYet
- Stock reservation is scheduled but not due yet
- preorders:apiErrors.stockReservationMustBeDueBeforeTheFulfillmentRelease
- Stock reservation must be due before the fulfillment release
- preorders:apiErrors.theCartDoesNotMeetTheSelectedDeliveryZoneMinimum
- The cart does not meet the selected delivery zone minimum
- preorders:apiErrors.theCommercialQuoteChangedExpiredOrWasAlreadyConsumed
- The commercial quote changed, expired, or was already consumed
- preorders:apiErrors.theDeliveryAddressIsOutsideActiveVenueDeliveryZones
- The delivery address is outside active venue delivery zones
- preorders:apiErrors.theDeliveryZoneHasNoRemainingCapacityInThisWindow
- The delivery zone has no remaining capacity in this window
- preorders:apiErrors.theFulfillmentSlotHasNoRemainingCapacity
- The fulfillment slot has no remaining capacity
- preorders:apiErrors.theNotificationIsAlreadyScheduledForDelivery
- The notification is already scheduled for delivery
- preorders:apiErrors.thePreorderDoesNotHaveImmutableFinancialPolicyEvidence
- The preorder does not have immutable financial policy evidence
- preorders:apiErrors.thePreorderDoesNotHaveImmutableSalesChannelEvidence
- The preorder does not have immutable sales channel evidence
- preorders:apiErrors.thePreorderDraftWasAlreadyConsumed
- The preorder draft was already consumed
- preorders:apiErrors.thePreorderHasNoCanonicalCartLineIdentity
- The preorder has no canonical cart line identity
- preorders:apiErrors.thePreorderOverridePermissionIsRequired
- The preorder override permission is required
- preorders:apiErrors.thePreorderPartnerCredentialIsInvalid
- The preorder partner credential is invalid
- preorders:apiErrors.thePreorderPartnerCredentialIsInvalidOrOutOfScope
- The preorder partner credential is invalid or out of scope
- preorders:apiErrors.thePreorderQuoteIsInvalidOrExpired
- The preorder quote is invalid or expired
- preorders:apiErrors.theQuoteIsNoLongerAvailableToDecline
- The quote is no longer available to decline
- preorders:apiErrors.theSelectedDeliveryZoneRequiresMorePreparationTime
- The selected delivery zone requires more preparation time
- preorders:apiErrors.theSelectedItemIsNotEnabledForScheduledFulfillment
- The selected item is not enabled for scheduled fulfillment
- preorders:apiErrors.theSelectedPackageHasInvalidImmutablePolicyEvidence
- The selected package has invalid immutable policy evidence
- preorders:apiErrors.theVerifiedDraftIsNoLongerReadyForAcceptance
- The verified draft is no longer ready for acceptance
- preorders:apiErrors.thisFulfillmentHasNoOutstandingDepositRequirement
- This fulfillment has no outstanding deposit requirement
- preorders:apiErrors.thisPreorderCanNoLongerBeCanceledWithoutStaffAssistance
- This preorder can no longer be canceled without staff assistance
- preorders:apiErrors.tooManyPreorderRequests
- Too many preorder requests
- preorders:apiErrors.useSignedPreorderAmendmentForSchedulePackageOrPartyChangesAndPreorderGuestDetailsForContact
- Use signed preorder amendment for schedule, package, or party changes and preorder guest details for contact-only changes
- preorders:apiErrors.venueCurrencyChangedAfterThisPreorderWasCreatedAmendmentRequiresFinancialReview
- Venue currency changed after this preorder was created; amendment requires financial review
- preorders:apiErrors.venueNotFound
- Venue not found
- preorders:apiErrors.webhookEndpointMustBeASafeHTTPSURL
- Webhook endpoint must be a safe HTTPS URL
- preorders:apiErrors.webhookSubscriptionNotFound
- Webhook subscription not found
reservations:
These keys come from the reviewed source modules used by integrations. The operation contract determines which statuses and scenarios apply; a catalog entry does not make every key possible on every operation.
- reservations:apiErrors.aBearerManageTokenIsRequired
- A bearer manage token is required
- reservations:apiErrors.aValidIdempotencyKeyHeaderIsRequired
- A valid Idempotency-Key header is required
- reservations:apiErrors.anAuthorizedOverrideAndReasonAreRequired
- An authorized override and reason are required
- reservations:apiErrors.atLeastOneTransactionalChannelIsRequired
- At least one transactional channel is required
- reservations:apiErrors.businessDateMustUseYYYYMMDD
- businessDate must use YYYY-MM-DD
- reservations:apiErrors.changingAWaitQuoteRequiresAReason
- Changing a wait quote requires a reason
- reservations:apiErrors.couldNotAllocateAPublicReference
- Could not allocate a public reference
- reservations:apiErrors.couldNotAllocateAReservationReference
- Could not allocate a reservation reference
- reservations:apiErrors.couldNotAllocateAWaitlistReference
- Could not allocate a waitlist reference
- reservations:apiErrors.guestContactSearchRequiresAdditionalPermission
- Guest contact search requires additional permission
- reservations:apiErrors.maximumWaitMustBeGreaterThanMinimumWait
- Maximum wait must be greater than minimum wait
- reservations:apiErrors.messageDeliveryFailedCheckTheProviderConfigurationAndRetryStatus
- Message delivery failed. Check the provider configuration and retry status.
- reservations:apiErrors.nOTIFIEDIsSetOnlyAfterProviderAcceptance
- NOTIFIED is set only after provider acceptance
- reservations:apiErrors.noEligibleTableIsAvailable
- No eligible table is available
- reservations:apiErrors.noPendingGuaranteeCanBeWaived
- No pending guarantee can be waived
- reservations:apiErrors.onlyTerminalReservationsCanBeRestored
- Only terminal reservations can be restored
- reservations:apiErrors.partyExceedsTheServicePeriodLimit
- Party exceeds the service period limit
- reservations:apiErrors.policyAcceptanceVersionIsOutdated
- Policy acceptance version is outdated
- reservations:apiErrors.publicBookingCannotBePublished
- Public booking cannot be published
- reservations:apiErrors.publicChannelConfigurationChanged
- Public channel configuration changed
- reservations:apiErrors.remoteWaitlistIsCurrentlyFull
- Remote waitlist is currently full
- reservations:apiErrors.reservationCannotTransitionFromValueToValue
- Reservation cannot transition from {{current}} to {{next}}
- reservations:apiErrors.reservationRulesChangedSinceTheyWereLoaded
- Reservation rules changed since they were loaded
- reservations:apiErrors.reservationServiceIsNotConfigured
- Reservation service is not configured
- reservations:apiErrors.resourceWasNotFound
- Resource was not found
- reservations:apiErrors.scheduledTimeIsOutsideTheServicePeriod
- Scheduled time is outside the service period
- reservations:apiErrors.scheduledTimeIsOutsideTheServicePeriodWeekday
- Scheduled time is outside the service period weekday
- reservations:apiErrors.servicePeriodHoursAndCapacityLimitsAreInvalid
- Service period hours and capacity limits are invalid
- reservations:apiErrors.servicePeriodNamesMustBeUniquePerWeekday
- Service period names must be unique per weekday
- reservations:apiErrors.tableCombinationIsInvalid
- Table combination is invalid
- reservations:apiErrors.tablePolicyLimitsAreInvalid
- Table policy limits are invalid
- reservations:apiErrors.theBookingIntentHasExpired
- The booking intent has expired
- reservations:apiErrors.theRecordChangedSinceItWasLoaded
- The record changed since it was loaded
- reservations:apiErrors.theRequestedActionIsNotAvailable
- The requested action is not available
- reservations:apiErrors.theRequestedSlotIsNoLongerAvailable
- The requested slot is no longer available
- reservations:apiErrors.theRequestedTimeIsNoLongerAvailable
- The requested time is no longer available
- reservations:apiErrors.theRequestedTimeIsNotPubliclyBookable
- The requested time is not publicly bookable
- reservations:apiErrors.theRequestedWaitlistActionIsNoLongerAvailable
- The requested waitlist action is no longer available
- reservations:apiErrors.theReservationsCursorIsInvalidOrNoLongerApplicable
- The reservations cursor is invalid or no longer applicable
- reservations:apiErrors.theServiceIsClosedOnThisDate
- The service is closed on this date
- reservations:apiErrors.theWaitlistIsCurrentlyFull
- The waitlist is currently full
- reservations:apiErrors.thisReservationCanNoLongerBeEdited
- This reservation can no longer be edited
- reservations:apiErrors.tooManyBookingAttempts
- Too many booking attempts
- reservations:apiErrors.tooManyPublicBookingRequests
- Too many public booking requests
- reservations:apiErrors.turnRuleLimitsAreInvalid
- Turn rule limits are invalid
- reservations:apiErrors.unknownServicePeriod
- Unknown service period
- reservations:apiErrors.venueNotFound
- Venue not found
- reservations:apiErrors.waitlistEntryCannotTransitionFromValueToValue
- Waitlist entry cannot transition from {{current}} to {{next}}
- reservations:apiErrors.waitlistServiceIsNotConfigured
- Waitlist service is not configured
staff:
These keys come from the reviewed source modules used by integrations. The operation contract determines which statuses and scenarios apply; a catalog entry does not make every key possible on every operation.
- staff:apiErrors.aHiredStageMustBeConfiguredBeforeConversion
- A hired stage must be configured before conversion
- staff:apiErrors.acceptedOfferConvertedToWorker
- Accepted offer converted to worker
- staff:apiErrors.amountCurrencyAndPeriodMustBeProvidedTogether
- Amount, currency and period must be provided together
- staff:apiErrors.anAcceptedOfferIsRequiredBeforeHireConversion
- An accepted offer is required before hire conversion
- staff:apiErrors.anOfferCanOnlyBeCreatedOnceForAnActiveApplication
- An offer can only be created once for an active application
- staff:apiErrors.anOfferStageMustBeConfiguredBeforeSendingOffers
- An offer stage must be configured before sending offers
- staff:apiErrors.applicationIsAlreadyInThisStage
- Application is already in this stage
- staff:apiErrors.archivedRequisitionsCannotBeChanged
- Archived requisitions cannot be changed
- staff:apiErrors.cancelledInterviewsCannotReceiveScorecards
- Cancelled interviews cannot receive scorecards
- staff:apiErrors.candidateApplicationSubmitted
- Candidate application submitted
- staff:apiErrors.candidateSessionIsInvalidOrExpired
- Candidate session is invalid or expired
- staff:apiErrors.careerPostingWasNotFound
- Career posting was not found
- staff:apiErrors.closedJobPostingsCannotBeChanged
- Closed job postings cannot be changed
- staff:apiErrors.completedInterviewsCannotBeRescheduled
- Completed interviews cannot be rescheduled
- staff:apiErrors.employeeNumberAlreadyExistsForThisLegalEntity
- Employee number already exists for this legal entity
- staff:apiErrors.employeeNumberOrConvertedWorkforceRecordAlreadyExists
- Employee number or converted workforce record already exists
- staff:apiErrors.headcountCannotBeLowerThanFilledPositions
- Headcount cannot be lower than filled positions
- staff:apiErrors.integrationCannotMoveFromValueToValue
- Integration cannot move from {{current}} to {{next}}
- staff:apiErrors.integrationWebhookPayloadExceedsTheAcceptedLimit
- Integration webhook payload exceeds the accepted limit
- staff:apiErrors.integrationWebhookSignatureOrTimestampIsInvalid
- Integration webhook signature or timestamp is invalid
- staff:apiErrors.interviewWindowOrVenueWallTimeEvidenceIsInvalid
- Interview window or venue wall-time evidence is invalid
- staff:apiErrors.jobPostingCannotEnterTheRequestedState
- Job posting cannot enter the requested state
- staff:apiErrors.offerExpiryMustBeInTheFuture
- Offer expiry must be in the future
- staff:apiErrors.offerMustBeACurrentDraftForAnActiveApplication
- Offer must be a current draft for an active application
- staff:apiErrors.offerOrEmployeeNumberAlreadyExists
- Offer or employee number already exists
- staff:apiErrors.offerSentToCandidate
- Offer sent to candidate
- staff:apiErrors.onlyActiveApplicationsCanMoveBetweenStages
- Only active applications can move between stages
- staff:apiErrors.onlyAnActiveApplicationCanBeWithdrawn
- Only an active application can be withdrawn
- staff:apiErrors.onlyAnAssignedInterviewerCanSubmitThisScorecard
- Only an assigned interviewer can submit this scorecard
- staff:apiErrors.onlyDraftOrSentOffersCanBeWithdrawn
- Only draft or sent offers can be withdrawn
- staff:apiErrors.recruitingCursorIsInvalidForThisRequest
- Recruiting cursor is invalid for this request
- staff:apiErrors.recruitingRecordWasNotFound
- Recruiting record was not found
- staff:apiErrors.recruitingStagesMustBeConfiguredBeforeOpeningARequisition
- Recruiting stages must be configured before opening a requisition
- staff:apiErrors.recruitingValueMustBeSelectedThroughBoundedSearch
- Recruiting {{value}} must be selected through bounded search
- staff:apiErrors.requisitionCannotEnterTheRequestedState
- Requisition cannot enter the requested state
- staff:apiErrors.requisitionCodeOrPublicPostingURLAlreadyExists
- Requisition code or public posting URL already exists
- staff:apiErrors.requisitionLifecycleCursorIsInvalidForThisRequest
- Requisition lifecycle cursor is invalid for this request
- staff:apiErrors.requisitionReferencesMustBelongToTheSameOrganization
- Requisition references must belong to the same organization
- staff:apiErrors.reviewTheCurrentCandidatePrivacyNoticeBeforeApplying
- Review the current candidate privacy notice before applying
- staff:apiErrors.thisApplicationHasAlreadyBeenConverted
- This application has already been converted
- staff:apiErrors.thisOfferCanNoLongerBeAcceptedOrDeclined
- This offer can no longer be accepted or declined
- staff:apiErrors.thisRecordChangedWhileYouWereEditingIt
- This record changed while you were editing it
- staff:apiErrors.thisRoleIsNotAcceptingApplications
- This role is not accepting applications
- staff:apiErrors.tooManyCandidatePortalRequests
- Too many candidate portal requests
- staff:apiErrors.tooManyWorkforceIntegrationWebhookRequests
- Too many workforce integration webhook requests
- staff:apiErrors.webhookEventIDWasReusedWithADifferentSignedPayload
- Webhook event ID was reused with a different signed payload
- staff:apiErrors.workforceHCMIsNotAvailable
- Workforce HCM is not available
- staff:apiErrors.workforceIntegrationChangedSinceItWasLoaded
- Workforce integration changed since it was loaded
- staff:apiErrors.workforceIntegrationCursorIsInvalidForThisFilter
- Workforce integration cursor is invalid for this filter
- staff:apiErrors.workforceIntegrationRecordWasNotFound
- Workforce integration record was not found
validation:
These keys come from the reviewed source modules used by integrations. The operation contract determines which statuses and scenarios apply; a catalog entry does not make every key possible on every operation.
- validation:ExactlyOneDefined
- Provide exactly one of the mutually exclusive fields.
- validation:apiErrors.cannotConvertValueToValue
- Cannot convert {{fromUnit}} to {{toUnit}}
- validation:apiErrors.quantityExceedsDecimal123Storage
- Quantity exceeds Decimal(12,3) storage
- validation:apiErrors.quantityIsBelowStoragePrecisionOrEqualsZero
- Quantity is below storage precision or equals zero
- validation:apiErrors.quantityMustBePositive
- Quantity must be positive
- validation:apiErrors.unitCostExceedsDecimal124Storage
- Unit cost exceeds Decimal(12,4) storage
- validation:apiErrors.unitCostMustNotBeNegative
- Unit cost must not be negative
- validation:apiErrors.valueMustBeAFiniteDecimal
- {{label}} must be a finite decimal
- validation:approvalAssigneeIdentity
- Assignee must contain exactly one identity matching its kind.
- validation:arrayMaxSize
- Must not exceed the documented maximum number of items.
- validation:arrayMinSize
- Must contain at least the documented minimum number of items.
- validation:arrayNotEmpty
- Must contain at least one item.
- validation:arrayUnique
- Must contain unique items.
- validation:equals
- Must equal the documented value.
- validation:invalidField
- Must satisfy the documented field validation rule.
- validation:invalidRequest
- Please review the highlighted fields.
- validation:isArray
- Must be an array.
- validation:isBase64
- Must be valid Base64.
- validation:isBoolean
- Must be a boolean.
- validation:isDate
- Must be a valid date.
- validation:isDateString
- Must be a valid ISO 8601 date string.
- validation:isDefined
- This field is required.
- validation:isEmail
- Must be a valid email address.
- validation:isEnum
- Must be one of the documented values.
- validation:isHexColor
- Must be a valid hexadecimal color.
- validation:isISO8601
- Must be a valid ISO 8601 date string.
- validation:isIn
- Must be one of the allowed values.
- validation:isInt
- Must be an integer.
- validation:isLength
- Must satisfy the documented length limits.
- validation:isMimeType
- Must be a valid MIME type.
- validation:isNotEmpty
- This field must not be empty.
- validation:isNumber
- Must be a valid number.
- validation:isNumberString
- Must contain a valid number as text.
- validation:isObject
- Must be an object.
- validation:isPhoneNumber
- Must be a valid phone number.
- validation:isRFC3339
- Must be a valid RFC 3339 timestamp.
- validation:isString
- Must be a string.
- validation:isUUID
- Must be a valid UUID.
- validation:isUrl
- Must be a valid URL.
- validation:matches
- Must match the documented format.
- validation:max
- Must not exceed the documented maximum value.
- validation:maxLength
- Must not exceed the documented maximum length.
- validation:min
- Must meet the documented minimum value.
- validation:minLength
- Must meet the documented minimum length.
- validation:nestedValidation
- Must contain valid nested data.
- validation:nonNullablePatchFields
- The documented non-nullable fields must not be null.
- validation:notEquals
- Must differ from the disallowed value.
- validation:priceListBreakTotal
- A price list version supports at most 2,000 price breaks.
- validation:rfqCriterionShape
- Line-derived criteria require LINE scope and CUSTOM criteria require a label.
- validation:rfqLineReference
- RFQ line kind must match exactly one item reference or a complete free-text snapshot.
- validation:rfqQuoteLineResponseShape
- QUOTED lines require quantity and unit price; NO_BID lines require only a reason.
- validation:unknownValue
- The submitted object cannot be validated.
- validation:whitelistValidation
- This field is not allowed.