POST Offene Bestellung stornieren
/api/v1/account/orders/{id}/cancel
Stornieren Sie eine noch nicht weiterverarbeitete Bestellung mit aktueller Revision, ausdrücklicher Bestätigung und Grund. Wiederholte Stornierung ist sicher. Betreiberaktionen dokumentieren tatsächlichen Admin und Grund. Dies kündigt kein aktiviertes Abonnement und erzeugt keine Erstattung; Zahlung und Freischaltung werden in dieser Phase nicht ausgeführt.
Auf dieser Seite
Zugriff und Rechte
Stornieren Sie eine noch nicht weiterverarbeitete Bestellung mit aktueller Revision, ausdrücklicher Bestätigung und Grund. Wiederholte Stornierung ist sicher. Betreiberaktionen dokumentieren tatsächlichen Admin und Grund. Dies kündigt kein aktiviertes Abonnement und erzeugt keine Erstattung; Zahlung und Freischaltung werden in dieser Phase nicht ausgeführt.
Browsersitzung: Cookie __Host-mb_session.
Senden Sie bei einer Änderung mit Browsersitzung das aktuelle CSRF-Token in X-CSRF-Token zusammen mit dem Same-Site-Cookie. OAuth-Zustimmung verwendet ihr dokumentiertes Formularfeld.
Parameter und Header
| Feld | Position | Typ und Grenzen | Erforderlich | Bedeutung |
|---|---|---|---|---|
| id | Pfad | string; {"format":"uuid"} | Ja | Bestellkennung. |
| workspace_id | URL-Parameter | string; {"format":"uuid"} | Nein | Begrenzen Sie die Liste auf einen zugänglichen Arbeitsbereich. |
| X-CSRF-Token | Header | string | Ja | Aktueller Sicherheitsnachweis des Browsers; muss zur geladenen Sitzung passen. |
| X-MetriBeacon-Session-Context | Header | string | Ja | Aktueller Sicherheitsnachweis des Browsers; muss zur geladenen Sitzung passen. |
Anfragekörper
| Feld | Typ und Grenzen | Erforderlich | Bedeutung |
|---|---|---|---|
| $ | PackageOrderCancellation | Ja | — |
| $.confirmed | boolean; {"const":true} | Ja | — |
| $.reason | string; {"maxLength":2000,"minLength":1} | Ja | — |
| $.revision | integer; {"minimum":1} | Ja | — |
Antworten
| Header | Typ und Grenzen | Bedeutung |
|---|---|---|
| Cache-Control | string; {"pattern":"(?:^|,\\s*)no-store(?:,|$)"} | Private API-Antworten verbieten Speicherung. Öffentliche OAuth-Metadaten werden 300 Sekunden gecacht; Livestreams verbieten zusätzlich Transformation. |
| Content-Language | string; {"enum":["en","de"]} | Sprache lesbarer Antworttexte aus Accept-Language oder der dokumentierten Browserpräferenz. Technische Codes und Kennungen bleiben stabil. |
| Referrer-Policy | JSON; {"enum":["strict-origin-when-cross-origin","no-referrer"]} | Standard-Referrerpolicy ist strict-origin-when-cross-origin. Anbieterloginantworten verwenden no-referrer zum Schutz der Loginparameter. |
| Vary | string | Antworten variieren nach Accept-Language; browsergerenderte Antworten können zusätzlich nach Präferenzcookie variieren. |
| X-Content-Type-Options | JSON; {"const":"nosniff"} | Der Browser muss den angegebenen Inhaltstyp verwenden. |
| X-Frame-Options | JSON; {"const":"DENY"} | Die Antwort darf nicht in einem Frame eingebettet werden. |
| X-Request-ID | string | Vom Server erzeugte Anfragekennung. Bei Fehlermeldungen mitgeben; eingehende Werte werden nicht als vertrauenswürdig übernommen. |
application/json
| Feld | Typ und Grenzen | Erforderlich | Bedeutung |
|---|---|---|---|
| $ | PackageOrder | Ja | — |
| $.account_email | string | Ja | — |
| $.account_id | string | null | Ja | — |
| $.account_id (anyOf 1) | string | Nein | — |
| $.account_id (anyOf 2) | null | Nein | — |
| $.activation_status | string; {"enum":["not_activated"]} | Ja | — |
| $.cancelled_at | string; {"format":"date-time"} | null | Ja | — |
| $.cancelled_at (anyOf 1) | string; {"format":"date-time"} | Nein | — |
| $.cancelled_at (anyOf 2) | null | Nein | — |
| $.created_at | string; {"format":"date-time"} | Ja | — |
| $.id | string | Ja | — |
| $.invoice_status | string; {"enum":["not_created"]} | Ja | — |
| $.number | string | Ja | — |
| $.payment_status | string; {"enum":["not_requested"]} | Ja | — |
| $.revision | integer | Ja | — |
| $.snapshot | PackageOrderSnapshot | Ja | — |
| $.snapshot.address | BillingAddress | Ja | Internationale Rechnungsadresse. Pflichtangaben für Postleitzahl und Region folgen dem Land; Unternehmen benötigen einen Firmennamen. Eine angegebene Steuerkennung muss vor ihrer steuerlichen Berücksichtigung vom Anbieter geprüft sein. |
| $.snapshot.address.city | string | Ja | — |
| $.snapshot.address.company | string | Nein | — |
| $.snapshot.address.country | string; {"maxLength":2,"minLength":2,"pattern":"^[A-Z]{2}$"} | Ja | — |
| $.snapshot.address.kind | string; {"enum":["personal","business"]} | Ja | — |
| $.snapshot.address.line1 | string | Ja | — |
| $.snapshot.address.line2 | string | Nein | — |
| $.snapshot.address.name | string | Ja | — |
| $.snapshot.address.postal_code | string; {"maxLength":32} | Ja | — |
| $.snapshot.address.state | string; {"maxLength":64} | Nein | — |
| $.snapshot.address.tax_id | string | Nein | — |
| $.snapshot.address.tax_id_type | string | Nein | — |
| $.snapshot.billing | string | Ja | — |
| $.snapshot.breakdown | array<object> | Ja | — |
| $.snapshot.breakdown[] | object | Ja | — |
| $.snapshot.breakdown[].amount | integer | Ja | — |
| $.snapshot.breakdown[].tax_rate_details | object | Ja | — |
| $.snapshot.breakdown[].tax_rate_details.country | string | Ja | — |
| $.snapshot.breakdown[].tax_rate_details.percentage_decimal | string | Ja | — |
| $.snapshot.breakdown[].tax_rate_details.state | string | Ja | — |
| $.snapshot.breakdown[].tax_rate_details.tax_type | string | Ja | — |
| $.snapshot.breakdown[].taxability_reason | string | Ja | — |
| $.snapshot.breakdown[].taxable_amount | integer | Ja | — |
| $.snapshot.calculation_id | string | Ja | — |
| $.snapshot.catalog_revision | integer | Ja | — |
| $.snapshot.config_version | string | Ja | — |
| $.snapshot.currency | string | Ja | — |
| $.snapshot.expires_at | string; {"format":"date-time"} | Ja | — |
| $.snapshot.language | string | Ja | — |
| $.snapshot.net_cents | integer | Ja | — |
| $.snapshot.payment_method | string | Ja | — |
| $.snapshot.plan | PricingPlan | Ja | — |
| $.snapshot.plan.id | string; {"enum":["free","essentials","pro","business","enterprise"]} | Ja | — |
| $.snapshot.plan.monthly_cents | integer | null; {"minimum":0,"maximum":1000000000} | Ja | — |
| $.snapshot.plan.yearly_cents | integer | null; {"minimum":0,"maximum":1000000000} | Ja | — |
| $.snapshot.plan.values | object | Ja | — |
| $.snapshot.plan.retention | PlanRetention | Ja | — |
| $.snapshot.plan.retention.raw | integer; {"minimum":1,"maximum":30} | Ja | — |
| $.snapshot.plan.retention.minute | integer; {"minimum":1,"maximum":30} | Ja | — |
| $.snapshot.plan.retention.quarter_hour | integer; {"minimum":1,"maximum":365} | Ja | — |
| $.snapshot.plan.retention.hour | integer; {"minimum":1,"maximum":1095} | Ja | — |
| $.snapshot.plan.retention.text | integer; {"minimum":1,"maximum":7} | Ja | — |
| $.snapshot.plan.retention.logs | integer; {"minimum":1,"maximum":30} | Ja | — |
| $.snapshot.plan_id | string | Ja | — |
| $.snapshot.profile_revision | integer | Ja | — |
| $.snapshot.tax_cents | integer | Ja | — |
| $.snapshot.tax_id_verified | boolean | Ja | — |
| $.snapshot.terms | object | Ja | — |
| $.snapshot.terms_version | string | Ja | — |
| $.snapshot.total_cents | integer | Ja | — |
| $.status | string; {"enum":["received","cancelled"]} | Ja | — |
{
"id": "00000000-0000-4000-8000-000000000001",
"number": "MB-2026-1",
"account_id": "00000000-0000-4000-8000-000000000002",
"account_email": "owner@example.test",
"status": "cancelled",
"invoice_status": "not_created",
"payment_status": "not_requested",
"activation_status": "not_activated",
"revision": 2,
"created_at": "2026-10-29T12:00:00Z",
"cancelled_at": "2026-10-29T12:05:00Z",
"snapshot": {
"plan_id": "essentials",
"billing": "monthly",
"currency": "EUR",
"payment_method": "bank_transfer",
"address": {
"kind": "personal",
"name": "Example Customer",
"line1": "Example Street 1",
"postal_code": "10115",
"city": "Berlin",
"country": "DE"
},
"profile_revision": 0,
"plan": {
"id": "essentials",
"monthly_cents": 2900,
"yearly_cents": 29000,
"values": {
"projects": {
"kind": "unlimited"
},
"seats": {
"kind": "number",
"value": 3,
"extra_cents": 700
},
"google_sso": {
"kind": "included"
},
"enterprise_identity": {
"kind": "excluded"
},
"saml_sso": {
"kind": "excluded"
},
"priority_support": {
"kind": "excluded"
},
"audit_logs": {
"kind": "excluded"
},
"monitors": {
"kind": "number",
"value": 50
},
"check_interval": {
"kind": "number",
"value": 30
},
"maintenance": {
"kind": "included"
},
"ssl": {
"kind": "included"
},
"dns": {
"kind": "included"
},
"notifications": {
"kind": "included"
},
"incident_integrations": {
"kind": "included"
},
"sms_credits": {
"kind": "number",
"value": 20
},
"calls": {
"kind": "included"
},
"healthchecks": {
"kind": "included"
},
"weekly_reports": {
"kind": "included"
},
"regions": {
"kind": "number",
"value": 18
},
"browser_checks": {
"kind": "number",
"value": 3
},
"browser_interval": {
"kind": "number",
"value": 300
},
"sla_reports": {
"kind": "included"
},
"server_agents": {
"kind": "number",
"value": 5
},
"additional_server": {
"kind": "number",
"value": 200
},
"server_metrics": {
"kind": "included"
},
"server_alerting": {
"kind": "included"
},
"on_call": {
"kind": "number",
"value": 1
},
"escalation": {
"kind": "included"
},
"manual_incidents": {
"kind": "included"
},
"acknowledge": {
"kind": "included"
},
"assistant": {
"kind": "number",
"value": 10
},
"investigations": {
"kind": "number",
"value": 3
},
"own_ai_key": {
"kind": "included"
},
"mcp": {
"kind": "included"
},
"status_pages": {
"kind": "number",
"value": 1
},
"custom_domains": {
"kind": "number",
"value": 1
},
"hosted_domain": {
"kind": "included"
},
"embedded_charts": {
"kind": "included"
},
"manual_components": {
"kind": "included"
},
"subscribers": {
"kind": "number",
"value": 100
},
"sms_subscribers": {
"kind": "excluded"
},
"status_incidents": {
"kind": "included"
},
"intercom": {
"kind": "excluded"
},
"private_pages": {
"kind": "excluded"
},
"email_codes": {
"kind": "excluded"
},
"analytics": {
"kind": "excluded"
},
"tv_mode": {
"kind": "excluded"
},
"languages": {
"kind": "excluded"
},
"hide_search": {
"kind": "excluded"
},
"white_label": {
"kind": "excluded"
},
"email_domain": {
"kind": "excluded"
},
"sso_standard": {
"kind": "excluded"
},
"sso_extended": {
"kind": "excluded"
},
"reporting": {
"kind": "included"
},
"csv": {
"kind": "included"
},
"incident_kpis": {
"kind": "included"
},
"log_volume": {
"kind": "number",
"value": 5000000000
},
"log_overage": {
"kind": "number",
"value": 25
},
"enterprise_sso": {
"kind": "excluded"
},
"enterprise_contract": {
"kind": "excluded"
},
"enterprise_migration": {
"kind": "excluded"
},
"enterprise_support": {
"kind": "excluded"
}
},
"retention": {
"raw": 7,
"minute": 7,
"quarter_hour": 7,
"hour": 7,
"text": 7,
"logs": 30
}
},
"catalog_revision": 1,
"terms_version": "0000000000000000000000000000000000000000000000000000000000000000",
"terms": {
"en": {
"body": "Example order terms for this API response: the selected contract starts upon later activation after confirmed payment. Publish complete terms before accepting real orders.",
"renewal": "Example: monthly term, automatic renewal according to the accepted conditions."
},
"de": {
"body": "Example order terms for this API response: the selected contract starts upon later activation after confirmed payment. Publish complete terms before accepting real orders.",
"renewal": "Example: monthly term, automatic renewal according to the accepted conditions."
}
},
"config_version": "1111111111111111111111111111111111111111111111111111111111111111",
"language": "en",
"calculation_id": "taxcalc_example",
"net_cents": 2900,
"tax_cents": 551,
"total_cents": 3451,
"expires_at": "2026-10-29T12:30:00Z",
"tax_id_verified": false,
"breakdown": [
{
"amount": 551,
"taxable_amount": 2900,
"taxability_reason": "standard_rated",
"tax_rate_details": {
"country": "DE",
"state": "",
"percentage_decimal": "19.0",
"tax_type": "vat"
}
}
]
}
}| Stabile Fehlercodes |
|---|
| unauthorized |
| invalid_credential |
| Header | Typ und Grenzen | Bedeutung |
|---|---|---|
| Cache-Control | string; {"pattern":"(?:^|,\\s*)no-store(?:,|$)"} | Private API-Antworten verbieten Speicherung. Öffentliche OAuth-Metadaten werden 300 Sekunden gecacht; Livestreams verbieten zusätzlich Transformation. |
| Content-Language | string; {"enum":["en","de"]} | Sprache lesbarer Antworttexte aus Accept-Language oder der dokumentierten Browserpräferenz. Technische Codes und Kennungen bleiben stabil. |
| Referrer-Policy | JSON; {"enum":["strict-origin-when-cross-origin","no-referrer"]} | Standard-Referrerpolicy ist strict-origin-when-cross-origin. Anbieterloginantworten verwenden no-referrer zum Schutz der Loginparameter. |
| Vary | string | Antworten variieren nach Accept-Language; browsergerenderte Antworten können zusätzlich nach Präferenzcookie variieren. |
| X-Content-Type-Options | JSON; {"const":"nosniff"} | Der Browser muss den angegebenen Inhaltstyp verwenden. |
| X-Frame-Options | JSON; {"const":"DENY"} | Die Antwort darf nicht in einem Frame eingebettet werden. |
| X-Request-ID | string | Vom Server erzeugte Anfragekennung. Bei Fehlermeldungen mitgeben; eingehende Werte werden nicht als vertrauenswürdig übernommen. |
application/problem+json
| Feld | Typ und Grenzen | Erforderlich | Bedeutung |
|---|---|---|---|
| $ | Problem | Ja | — |
| $.code | string | Ja | Stabiler maschinenlesbarer Fehlercode |
| $.detail | string | Ja | Kurze lokalisierte Erklärung ohne interne Fehlerdaten |
| $.instance | string | Ja | Einmalige relative Kennung /api/v1/requests/{request_id}; keine abrufbare Ressource |
| $.message | string | Ja | Vorübergehend für bestehende Clients gleich detail |
| $.message_key | string | Ja | Stabiler Übersetzungsschlüssel für einen Sprachwechsel der Anzeige ohne neue Anfrage |
| $.message_params | object; {"additionalProperties":true} | Ja | Benannte, sicher ausgegebene Meldungsparameter; kein beliebiges HTML |
| $.request_id | string; {"pattern":"^[0-9a-f]{32}$"} | Ja | Vom Server erzeugte Diagnosekennung. Enthält kein Logintoken und keine Zugangsdaten. |
| $.status | integer; {"maximum":599,"minimum":400} | Ja | — |
| $.title | string | Ja | Lokalisierte HTTP-Statusbezeichnung |
| $.type | string; {"const":"about:blank"} | Ja | — |
{
"code": "demo",
"detail": "Demo error detail; inspect the documented code.",
"instance": "demo",
"message": "Demo error detail; inspect the documented code.",
"message_key": "errors.requestFailed",
"message_params": {},
"request_id": "00000000000000000000000000000000",
"status": 401,
"title": "Demo error",
"type": "about:blank"
}| Stabile Fehlercodes |
|---|
| order_forbidden |
| csrf |
| csrf_failed |
| invalid_origin |
| owner_required |
| Header | Typ und Grenzen | Bedeutung |
|---|---|---|
| Cache-Control | string; {"pattern":"(?:^|,\\s*)no-store(?:,|$)"} | Private API-Antworten verbieten Speicherung. Öffentliche OAuth-Metadaten werden 300 Sekunden gecacht; Livestreams verbieten zusätzlich Transformation. |
| Content-Language | string; {"enum":["en","de"]} | Sprache lesbarer Antworttexte aus Accept-Language oder der dokumentierten Browserpräferenz. Technische Codes und Kennungen bleiben stabil. |
| Referrer-Policy | JSON; {"enum":["strict-origin-when-cross-origin","no-referrer"]} | Standard-Referrerpolicy ist strict-origin-when-cross-origin. Anbieterloginantworten verwenden no-referrer zum Schutz der Loginparameter. |
| Vary | string | Antworten variieren nach Accept-Language; browsergerenderte Antworten können zusätzlich nach Präferenzcookie variieren. |
| X-Content-Type-Options | JSON; {"const":"nosniff"} | Der Browser muss den angegebenen Inhaltstyp verwenden. |
| X-Frame-Options | JSON; {"const":"DENY"} | Die Antwort darf nicht in einem Frame eingebettet werden. |
| X-Request-ID | string | Vom Server erzeugte Anfragekennung. Bei Fehlermeldungen mitgeben; eingehende Werte werden nicht als vertrauenswürdig übernommen. |
application/problem+json
| Feld | Typ und Grenzen | Erforderlich | Bedeutung |
|---|---|---|---|
| $ | Problem | Ja | — |
| $.code | string | Ja | Stabiler maschinenlesbarer Fehlercode |
| $.detail | string | Ja | Kurze lokalisierte Erklärung ohne interne Fehlerdaten |
| $.instance | string | Ja | Einmalige relative Kennung /api/v1/requests/{request_id}; keine abrufbare Ressource |
| $.message | string | Ja | Vorübergehend für bestehende Clients gleich detail |
| $.message_key | string | Ja | Stabiler Übersetzungsschlüssel für einen Sprachwechsel der Anzeige ohne neue Anfrage |
| $.message_params | object; {"additionalProperties":true} | Ja | Benannte, sicher ausgegebene Meldungsparameter; kein beliebiges HTML |
| $.request_id | string; {"pattern":"^[0-9a-f]{32}$"} | Ja | Vom Server erzeugte Diagnosekennung. Enthält kein Logintoken und keine Zugangsdaten. |
| $.status | integer; {"maximum":599,"minimum":400} | Ja | — |
| $.title | string | Ja | Lokalisierte HTTP-Statusbezeichnung |
| $.type | string; {"const":"about:blank"} | Ja | — |
{
"code": "demo",
"detail": "Demo error detail; inspect the documented code.",
"instance": "demo",
"message": "Demo error detail; inspect the documented code.",
"message_key": "errors.requestFailed",
"message_params": {},
"request_id": "00000000000000000000000000000000",
"status": 403,
"title": "Demo error",
"type": "about:blank"
}| Stabile Fehlercodes |
|---|
| order_not_found |
| Header | Typ und Grenzen | Bedeutung |
|---|---|---|
| Cache-Control | string; {"pattern":"(?:^|,\\s*)no-store(?:,|$)"} | Private API-Antworten verbieten Speicherung. Öffentliche OAuth-Metadaten werden 300 Sekunden gecacht; Livestreams verbieten zusätzlich Transformation. |
| Content-Language | string; {"enum":["en","de"]} | Sprache lesbarer Antworttexte aus Accept-Language oder der dokumentierten Browserpräferenz. Technische Codes und Kennungen bleiben stabil. |
| Referrer-Policy | JSON; {"enum":["strict-origin-when-cross-origin","no-referrer"]} | Standard-Referrerpolicy ist strict-origin-when-cross-origin. Anbieterloginantworten verwenden no-referrer zum Schutz der Loginparameter. |
| Vary | string | Antworten variieren nach Accept-Language; browsergerenderte Antworten können zusätzlich nach Präferenzcookie variieren. |
| X-Content-Type-Options | JSON; {"const":"nosniff"} | Der Browser muss den angegebenen Inhaltstyp verwenden. |
| X-Frame-Options | JSON; {"const":"DENY"} | Die Antwort darf nicht in einem Frame eingebettet werden. |
| X-Request-ID | string | Vom Server erzeugte Anfragekennung. Bei Fehlermeldungen mitgeben; eingehende Werte werden nicht als vertrauenswürdig übernommen. |
application/problem+json
| Feld | Typ und Grenzen | Erforderlich | Bedeutung |
|---|---|---|---|
| $ | Problem | Ja | — |
| $.code | string | Ja | Stabiler maschinenlesbarer Fehlercode |
| $.detail | string | Ja | Kurze lokalisierte Erklärung ohne interne Fehlerdaten |
| $.instance | string | Ja | Einmalige relative Kennung /api/v1/requests/{request_id}; keine abrufbare Ressource |
| $.message | string | Ja | Vorübergehend für bestehende Clients gleich detail |
| $.message_key | string | Ja | Stabiler Übersetzungsschlüssel für einen Sprachwechsel der Anzeige ohne neue Anfrage |
| $.message_params | object; {"additionalProperties":true} | Ja | Benannte, sicher ausgegebene Meldungsparameter; kein beliebiges HTML |
| $.request_id | string; {"pattern":"^[0-9a-f]{32}$"} | Ja | Vom Server erzeugte Diagnosekennung. Enthält kein Logintoken und keine Zugangsdaten. |
| $.status | integer; {"maximum":599,"minimum":400} | Ja | — |
| $.title | string | Ja | Lokalisierte HTTP-Statusbezeichnung |
| $.type | string; {"const":"about:blank"} | Ja | — |
{
"code": "demo",
"detail": "Demo error detail; inspect the documented code.",
"instance": "demo",
"message": "Demo error detail; inspect the documented code.",
"message_key": "errors.requestFailed",
"message_params": {},
"request_id": "00000000000000000000000000000000",
"status": 404,
"title": "Demo error",
"type": "about:blank"
}| Stabile Fehlercodes |
|---|
| session_context_changed |
| quote_pending |
| order_conflict |
| Header | Typ und Grenzen | Bedeutung |
|---|---|---|
| Cache-Control | string; {"pattern":"(?:^|,\\s*)no-store(?:,|$)"} | Private API-Antworten verbieten Speicherung. Öffentliche OAuth-Metadaten werden 300 Sekunden gecacht; Livestreams verbieten zusätzlich Transformation. |
| Content-Language | string; {"enum":["en","de"]} | Sprache lesbarer Antworttexte aus Accept-Language oder der dokumentierten Browserpräferenz. Technische Codes und Kennungen bleiben stabil. |
| Referrer-Policy | JSON; {"enum":["strict-origin-when-cross-origin","no-referrer"]} | Standard-Referrerpolicy ist strict-origin-when-cross-origin. Anbieterloginantworten verwenden no-referrer zum Schutz der Loginparameter. |
| Vary | string | Antworten variieren nach Accept-Language; browsergerenderte Antworten können zusätzlich nach Präferenzcookie variieren. |
| X-Content-Type-Options | JSON; {"const":"nosniff"} | Der Browser muss den angegebenen Inhaltstyp verwenden. |
| X-Frame-Options | JSON; {"const":"DENY"} | Die Antwort darf nicht in einem Frame eingebettet werden. |
| X-Request-ID | string | Vom Server erzeugte Anfragekennung. Bei Fehlermeldungen mitgeben; eingehende Werte werden nicht als vertrauenswürdig übernommen. |
application/problem+json
| Feld | Typ und Grenzen | Erforderlich | Bedeutung |
|---|---|---|---|
| $ | Problem | Ja | — |
| $.code | string | Ja | Stabiler maschinenlesbarer Fehlercode |
| $.detail | string | Ja | Kurze lokalisierte Erklärung ohne interne Fehlerdaten |
| $.instance | string | Ja | Einmalige relative Kennung /api/v1/requests/{request_id}; keine abrufbare Ressource |
| $.message | string | Ja | Vorübergehend für bestehende Clients gleich detail |
| $.message_key | string | Ja | Stabiler Übersetzungsschlüssel für einen Sprachwechsel der Anzeige ohne neue Anfrage |
| $.message_params | object; {"additionalProperties":true} | Ja | Benannte, sicher ausgegebene Meldungsparameter; kein beliebiges HTML |
| $.request_id | string; {"pattern":"^[0-9a-f]{32}$"} | Ja | Vom Server erzeugte Diagnosekennung. Enthält kein Logintoken und keine Zugangsdaten. |
| $.status | integer; {"maximum":599,"minimum":400} | Ja | — |
| $.title | string | Ja | Lokalisierte HTTP-Statusbezeichnung |
| $.type | string; {"const":"about:blank"} | Ja | — |
{
"code": "demo",
"detail": "Demo error detail; inspect the documented code.",
"instance": "demo",
"message": "Demo error detail; inspect the documented code.",
"message_key": "errors.requestFailed",
"message_params": {},
"request_id": "00000000000000000000000000000000",
"status": 409,
"title": "Demo error",
"type": "about:blank"
}| Stabile Fehlercodes |
|---|
| invalid_order |
| tax_id_unverified |
| tax_region_unavailable |
| invalid_cursor |
| Header | Typ und Grenzen | Bedeutung |
|---|---|---|
| Cache-Control | string; {"pattern":"(?:^|,\\s*)no-store(?:,|$)"} | Private API-Antworten verbieten Speicherung. Öffentliche OAuth-Metadaten werden 300 Sekunden gecacht; Livestreams verbieten zusätzlich Transformation. |
| Content-Language | string; {"enum":["en","de"]} | Sprache lesbarer Antworttexte aus Accept-Language oder der dokumentierten Browserpräferenz. Technische Codes und Kennungen bleiben stabil. |
| Referrer-Policy | JSON; {"enum":["strict-origin-when-cross-origin","no-referrer"]} | Standard-Referrerpolicy ist strict-origin-when-cross-origin. Anbieterloginantworten verwenden no-referrer zum Schutz der Loginparameter. |
| Vary | string | Antworten variieren nach Accept-Language; browsergerenderte Antworten können zusätzlich nach Präferenzcookie variieren. |
| X-Content-Type-Options | JSON; {"const":"nosniff"} | Der Browser muss den angegebenen Inhaltstyp verwenden. |
| X-Frame-Options | JSON; {"const":"DENY"} | Die Antwort darf nicht in einem Frame eingebettet werden. |
| X-Request-ID | string | Vom Server erzeugte Anfragekennung. Bei Fehlermeldungen mitgeben; eingehende Werte werden nicht als vertrauenswürdig übernommen. |
application/problem+json
| Feld | Typ und Grenzen | Erforderlich | Bedeutung |
|---|---|---|---|
| $ | Problem | Ja | — |
| $.code | string | Ja | Stabiler maschinenlesbarer Fehlercode |
| $.detail | string | Ja | Kurze lokalisierte Erklärung ohne interne Fehlerdaten |
| $.instance | string | Ja | Einmalige relative Kennung /api/v1/requests/{request_id}; keine abrufbare Ressource |
| $.message | string | Ja | Vorübergehend für bestehende Clients gleich detail |
| $.message_key | string | Ja | Stabiler Übersetzungsschlüssel für einen Sprachwechsel der Anzeige ohne neue Anfrage |
| $.message_params | object; {"additionalProperties":true} | Ja | Benannte, sicher ausgegebene Meldungsparameter; kein beliebiges HTML |
| $.request_id | string; {"pattern":"^[0-9a-f]{32}$"} | Ja | Vom Server erzeugte Diagnosekennung. Enthält kein Logintoken und keine Zugangsdaten. |
| $.status | integer; {"maximum":599,"minimum":400} | Ja | — |
| $.title | string | Ja | Lokalisierte HTTP-Statusbezeichnung |
| $.type | string; {"const":"about:blank"} | Ja | — |
{
"code": "demo",
"detail": "Demo error detail; inspect the documented code.",
"instance": "demo",
"message": "Demo error detail; inspect the documented code.",
"message_key": "errors.requestFailed",
"message_params": {},
"request_id": "00000000000000000000000000000000",
"status": 422,
"title": "Demo error",
"type": "about:blank"
}| Stabile Fehlercodes |
|---|
| tax_rate_limited |
| Header | Typ und Grenzen | Bedeutung |
|---|---|---|
| Cache-Control | string; {"pattern":"(?:^|,\\s*)no-store(?:,|$)"} | Private API-Antworten verbieten Speicherung. Öffentliche OAuth-Metadaten werden 300 Sekunden gecacht; Livestreams verbieten zusätzlich Transformation. |
| Content-Language | string; {"enum":["en","de"]} | Sprache lesbarer Antworttexte aus Accept-Language oder der dokumentierten Browserpräferenz. Technische Codes und Kennungen bleiben stabil. |
| Referrer-Policy | JSON; {"enum":["strict-origin-when-cross-origin","no-referrer"]} | Standard-Referrerpolicy ist strict-origin-when-cross-origin. Anbieterloginantworten verwenden no-referrer zum Schutz der Loginparameter. |
| Vary | string | Antworten variieren nach Accept-Language; browsergerenderte Antworten können zusätzlich nach Präferenzcookie variieren. |
| X-Content-Type-Options | JSON; {"const":"nosniff"} | Der Browser muss den angegebenen Inhaltstyp verwenden. |
| X-Frame-Options | JSON; {"const":"DENY"} | Die Antwort darf nicht in einem Frame eingebettet werden. |
| X-Request-ID | string | Vom Server erzeugte Anfragekennung. Bei Fehlermeldungen mitgeben; eingehende Werte werden nicht als vertrauenswürdig übernommen. |
application/problem+json
| Feld | Typ und Grenzen | Erforderlich | Bedeutung |
|---|---|---|---|
| $ | Problem | Ja | — |
| $.code | string | Ja | Stabiler maschinenlesbarer Fehlercode |
| $.detail | string | Ja | Kurze lokalisierte Erklärung ohne interne Fehlerdaten |
| $.instance | string | Ja | Einmalige relative Kennung /api/v1/requests/{request_id}; keine abrufbare Ressource |
| $.message | string | Ja | Vorübergehend für bestehende Clients gleich detail |
| $.message_key | string | Ja | Stabiler Übersetzungsschlüssel für einen Sprachwechsel der Anzeige ohne neue Anfrage |
| $.message_params | object; {"additionalProperties":true} | Ja | Benannte, sicher ausgegebene Meldungsparameter; kein beliebiges HTML |
| $.request_id | string; {"pattern":"^[0-9a-f]{32}$"} | Ja | Vom Server erzeugte Diagnosekennung. Enthält kein Logintoken und keine Zugangsdaten. |
| $.status | integer; {"maximum":599,"minimum":400} | Ja | — |
| $.title | string | Ja | Lokalisierte HTTP-Statusbezeichnung |
| $.type | string; {"const":"about:blank"} | Ja | — |
{
"code": "demo",
"detail": "Demo error detail; inspect the documented code.",
"instance": "demo",
"message": "Demo error detail; inspect the documented code.",
"message_key": "errors.requestFailed",
"message_params": {},
"request_id": "00000000000000000000000000000000",
"status": 429,
"title": "Demo error",
"type": "about:blank"
}| Stabile Fehlercodes |
|---|
| ordering_unavailable |
| tax_unavailable |
| Header | Typ und Grenzen | Bedeutung |
|---|---|---|
| Cache-Control | string; {"pattern":"(?:^|,\\s*)no-store(?:,|$)"} | Private API-Antworten verbieten Speicherung. Öffentliche OAuth-Metadaten werden 300 Sekunden gecacht; Livestreams verbieten zusätzlich Transformation. |
| Content-Language | string; {"enum":["en","de"]} | Sprache lesbarer Antworttexte aus Accept-Language oder der dokumentierten Browserpräferenz. Technische Codes und Kennungen bleiben stabil. |
| Referrer-Policy | JSON; {"enum":["strict-origin-when-cross-origin","no-referrer"]} | Standard-Referrerpolicy ist strict-origin-when-cross-origin. Anbieterloginantworten verwenden no-referrer zum Schutz der Loginparameter. |
| Retry-After | string; {"pattern":"^[0-9]+$"} | Sekunden bis zur Wiederholung. Bewahren Sie unterstützte Idempotenzkennungen und beachten Sie die Änderungsregeln der Operation. |
| Vary | string | Antworten variieren nach Accept-Language; browsergerenderte Antworten können zusätzlich nach Präferenzcookie variieren. |
| X-Content-Type-Options | JSON; {"const":"nosniff"} | Der Browser muss den angegebenen Inhaltstyp verwenden. |
| X-Frame-Options | JSON; {"const":"DENY"} | Die Antwort darf nicht in einem Frame eingebettet werden. |
| X-Request-ID | string | Vom Server erzeugte Anfragekennung. Bei Fehlermeldungen mitgeben; eingehende Werte werden nicht als vertrauenswürdig übernommen. |
application/problem+json
| Feld | Typ und Grenzen | Erforderlich | Bedeutung |
|---|---|---|---|
| $ | Problem | Ja | — |
| $.code | string | Ja | Stabiler maschinenlesbarer Fehlercode |
| $.detail | string | Ja | Kurze lokalisierte Erklärung ohne interne Fehlerdaten |
| $.instance | string | Ja | Einmalige relative Kennung /api/v1/requests/{request_id}; keine abrufbare Ressource |
| $.message | string | Ja | Vorübergehend für bestehende Clients gleich detail |
| $.message_key | string | Ja | Stabiler Übersetzungsschlüssel für einen Sprachwechsel der Anzeige ohne neue Anfrage |
| $.message_params | object; {"additionalProperties":true} | Ja | Benannte, sicher ausgegebene Meldungsparameter; kein beliebiges HTML |
| $.request_id | string; {"pattern":"^[0-9a-f]{32}$"} | Ja | Vom Server erzeugte Diagnosekennung. Enthält kein Logintoken und keine Zugangsdaten. |
| $.status | integer; {"maximum":599,"minimum":400} | Ja | — |
| $.title | string | Ja | Lokalisierte HTTP-Statusbezeichnung |
| $.type | string; {"const":"about:blank"} | Ja | — |
{
"code": "demo",
"detail": "Demo error detail; inspect the documented code.",
"instance": "demo",
"message": "Demo error detail; inspect the documented code.",
"message_key": "errors.requestFailed",
"message_params": {},
"request_id": "00000000000000000000000000000000",
"status": 503,
"title": "Demo error",
"type": "about:blank"
}Wiederholungen und asynchrone Aufträge
Für diese Änderung gibt es keine allgemeine Wiederholungsgarantie. Prüfen Sie bei unklarer Antwort den betroffenen Eintrag, bevor Sie es erneut versuchen. Beachten Sie Wartezeiten aus Retry-After und fordern Sie abgelaufene Anmelde- oder Aktionscodes neu an.
Anfragebeispiele
Ersetzen Sie Demokennungen, Zeitstempel und Platzhalter durch eigene Werte. Behalten Sie bei Wiederholungen Kennungen, Zeit und Inhalt bei. Diese Beispiele führen auf der Seite keine Anfragen aus.
Halten Sie Anmeldelinks, Codes, Cookies und Schlüssel privat. Schreiben Sie sie nicht in Logs und teilen Sie sie nicht in Hilfeanfragen.
curl --request POST --cookie '__Host-mb_session=<session>' --header 'Origin: https://metribeacon.com' --header 'X-CSRF-Token: <csrf>' --header 'X-MetriBeacon-Session-Context: <context>' --header 'Content-Type: application/json' --header 'Idempotency-Key: 00000000-0000-4000-8000-000000000002' --data '{"revision":1,"confirmed":true,"reason":"Cancelled by owner"}' 'https://metribeacon.com/api/v1/account/orders/00000000-0000-4000-8000-000000000001/cancel'import requests
response = requests.request('POST', 'https://metribeacon.com/api/v1/account/orders/00000000-0000-4000-8000-000000000001/cancel', cookies={'__Host-mb_session': '<session>'}, headers={'Origin': 'https://metribeacon.com', 'X-CSRF-Token': '<csrf>', 'X-MetriBeacon-Session-Context': '<context>', 'Idempotency-Key': '00000000-0000-4000-8000-000000000002'}, json={'revision': 1, 'confirmed': True, 'reason': 'Cancelled by owner'})
response.raise_for_status()const response = await fetch('/api/v1/account/orders/{id}/cancel', {method: 'POST', credentials: 'same-origin', headers: {'Content-Type': 'application/json', 'X-CSRF-Token': '<csrf>', 'X-MetriBeacon-Session-Context': '<context>', 'Idempotency-Key': '00000000-0000-4000-8000-000000000002'}, body: JSON.stringify({"revision":1,"confirmed":true,"reason":"Cancelled by owner"})});package main
import (
"net/http"
"strings"
)
func main() {
req, _ := http.NewRequest("POST", "https://metribeacon.com/api/v1/account/orders/00000000-0000-4000-8000-000000000001/cancel", strings.NewReader("{\"revision\":1,\"confirmed\":true,\"reason\":\"Cancelled by owner\"}"))
req.Header.Set("Cookie", "__Host-mb_session=<session>")
req.Header.Set("Origin", "https://metribeacon.com")
req.Header.Set("X-CSRF-Token", "<csrf>")
req.Header.Set("X-MetriBeacon-Session-Context", "<context>")
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Idempotency-Key", "00000000-0000-4000-8000-000000000002")
response, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer response.Body.Close()
}
Verwandte Anleitungen
- HTTP-API, OAuth und MCP
Finden Sie die Nutzer-API-Endpunkte mit Rechten, Feldern, Beispielen und Antwortformaten.
- GET Paketbestellung lesen
Lesen Sie den unveränderlichen Bestellstand, getrennte Bearbeitungszustände und den Änderungsverlauf. Zugriff erhalten der Eigentümer oder ein aktiver Betreiber am Betreiberendpunkt.
- GET Paketbestellungen auflisten
Listen Sie Bestellungen mit Status-, Paket- und Textfilter sowie Cursor-Pagination mit 50 Zeilen auf. Kundensitzungen sehen nur eigene Bestellungen, Betreiber am Betreiberendpunkt alle Konten. Zusammenfassungen enthalten weder Rechnungsadressen noch vollständige Bedingungen.
- POST Paket kostenpflichtig bestellen
Geben Sie nach Zustimmung zur exakten Bedingungsversion eine gültige Bestellung ab. Verwenden Sie je Abgabe einen neuen UUID-Idempotency-Key und denselben Schlüssel bei manuellen Wiederholungen nach unklarer Antwort. Andere Inhalte mit demselben Schlüssel werden abgelehnt. Je Konto ist höchstens eine offene Bestellung erlaubt. Eine verschlüsselte Mailwarteschlange versendet die Eingangsbestätigung; die Rechnungsadresse wird erst mit erfolgreicher Abgabe aktualisiert. Preise, Steuer, Adresse und Bedingungen bleiben unveränderlich. Rechnung, Zahlung und Aktivierung warten auf die spätere NextOffice-Anbindung. Bisherige Paketgrenzen und Aufbewahrung bleiben unverändert.