bymundi API

Reopen a quote

POST/v1/quotes/{quoteId}/reopen

Takes an accepted or rejected quote back to sent, as the quote editor's Reopen does; reopening an accepted quote also takes the trip back from aceptada. It is how an acceptance or a rejection is undone.

Permissions: quotes:write · Kind: write · Cost: 1 unit · MCP tool reopen_quote

Cannot be undone.

Path parameters

Field Type Required Description
quoteId uuid yes

Body

None.

Response 200

Field Type Required Description
object "quote" yes
id uuid yes
tripId uuid yes
code string yes
name string yes
mode "package" | "per_item" yes
status "draft" | "sent" | "accepted" | "rejected" | "expired" | "superseded" yes
travelers integer yes
marginPct number yes
finalPriceOverride string | null yes
validUntil string | null yes
ctaUrl string | null yes
templateId string | null yes
packages object[] yes
packages[].id string yes
packages[].name string yes
lines object | object | object[] yes
totals object yes
totals.currency "EUR" yes
totals.net string yes
totals.marginAmount string yes
totals.total string yes
totals.finalPrice string yes
totals.perPax string yes
totals.finalMargin string yes
totals.packages object[] yes
totals.packages[].id string yes
totals.packages[].name string yes
totals.packages[].deltaNet string yes
totals.packages[].deltaPvp string yes
totals.packages[].lineIds string[] yes
textOverrides object yes
imageOverrides object yes
sentAt string | null yes
modifiedSinceSent boolean yes
acceptedAt string | null yes
acceptedVia "prospect_link" | "agent" | null yes
acceptedPackageId string | null yes
acceptedLineIds string[] yes
acceptance object | null yes What the customer typed when accepting on the quote page — personal data: present only for a key holding travelers:read, only on quote reads (a write's response carries null; read the quote), and every such read is audited.
acceptance.name string | null yes
acceptance.email string | null yes
acceptance.phone string | null yes
acceptance.message string | null yes
engagement object yes
engagement.views integer yes
engagement.uniqueSessions integer yes
engagement.activeSeconds integer yes
engagement.ctaClicks integer yes
engagement.maxScrollPct number yes
engagement.sectionsSeen integer yes
engagement.interactions integer yes
engagement.lastSeenAt string | null yes
engagement.lastCtaAt string | null yes
metadata object yes
appUrl string | null yes
publicUrl string | null yes
createdAt string yes
updatedAt string yes

Errors

Errors are problem details. Besides the refusals described above, any call like this one can return: