Corgi Labs transaction metadata
Reference for every metadata key Corgi writes to your transactions, with integration-specific details and decision semantics.
On this page
When Corgi Labs processes a transaction, Corgi Model and Corgi Rule Engine add metadata that explains the risk evaluation and the resulting action. The exact metadata keys available depend on your integration flow and payment service provider.
This reference lists every metadata key Corgi writes, when it appears, and what it means. Use it to debug transactions, build reporting, or integrate Corgi data into your own systems.
CORGI Model metadata
Corgi Model is managed by Corgi and does not appear as a merchant-configurable rule in the Rule Engine. When Corgi Model evaluates a transaction, scoring and decision metadata populate automatically.
| Metadata key | Integration flow | Description |
|---|---|---|
corgi_score | All supported flows | Corgi's payment risk score from 0 to 100. Higher values indicate a higher predicted likelihood of dispute. During staged rollout, Corgi Model may evaluate 30%, 70%, or 100% of eligible traffic. Payments outside the selected model traffic do not have this key. |
corgi_pre_auth_decision, corgi_pre_auth_matched_rule | Corgi SDK confirm-payment only | Result of the Corgi Model and Rule Engine evaluation before payment authorization. When Corgi Model approves the payment, corgi_pre_auth_decision is NONE unless a rule also matched. When Corgi Model blocks the payment, corgi_pre_auth_decision is BLOCK, and corgi_pre_auth_matched_rule is corgi-model-rule-id, CORGI model. |
corgi_decision, corgi_matched_rule | Stripe Checkout for subscriptions only | Result of the Corgi Model and Rule Engine evaluation. When Corgi Model approves the payment, corgi_decision is NONE unless a rule also matched. When Corgi Model blocks the payment, corgi_decision is BLOCK, and corgi_matched_rule is corgi-model-rule-id, CORGI model. |
corgi-model-rule-id is a reserved, stable identifier that represents the Corgi-managed model rule consistently across integrations.
All transaction metadata by integration type
Corgi SDK confirm-payment for Stripe
Calls to POST /api/v1/corgi-sdk/confirm-payment may be routed through a two-phase evaluation. Corgi Rule Engine evaluates the payment before authorization and, when required, after authorization. Corgi writes the metadata below to the Stripe PaymentIntent it creates and preserves any metadata you supplied in paymentIntentParams.metadata.
| Metadata key | Type / example | When present | Description |
|---|---|---|---|
corgi_pre_auth_decision | enum / ALLOW, BLOCK, REVIEW, REQUEST_3DS, or NONE | After pre-auth evaluation | Result of the Corgi Model and Corgi Rule Engine evaluation before payment authorization. NONE means evaluation completed and no model or rule produced an action. |
corgi_pre_auth_matched_rule | string / rule_123, Review new customers | After pre-auth evaluation | Matched rule ID and name before authorization, formatted as rule ID, rule name. An empty string means no rule matched. |
corgi_post_auth_decision | enum / ALLOW, BLOCK, REVIEW, or NONE | After post-auth evaluation | Result of the Corgi Rule Engine evaluation after payment authorization. ALLOW means an allow rule matched; NONE means evaluation completed and no post-authorization rule produced an action. This key is absent when post-authorization evaluation does not run. |
corgi_post_auth_matched_rule | string / rule_456, Block high risk | After post-auth evaluation | Rule ID and name matched after authorization, formatted as rule ID, rule name. An empty string means no rule matched. |
corgi_request_3ds_matched_rule | string / rule_789, Require 3DS | When 3DS is requested | Rule ID and name that requested 3D Secure, formatted as rule ID, rule name. When present, corgi_pre_auth_decision is REQUEST_3DS. The authentication result is available on the Stripe PaymentIntent or Charge. |
corgi_global_rule | string / 0.1, OFAC Comprehensively Embargoed Jurisdictions | When a global rule matches | Number and name of the matched global rule, formatted as number, name. Global rules are Corgi-managed compliance and network-level fraud rules. You cannot configure them, but this metadata identifies the matched rule. |
corgi_global_block | boolean / true or false | When a global rule matches | true when the matched global rule produces a block action. |
corgi_capture_method | enum / automatic or manual | When Rule Engine evaluates the payment | The capture method requested in paymentIntentParams.capture_method; defaults to automatic. Corgi creates the PaymentIntent with manual capture while evaluating risk, then uses this value to preserve your requested capture behavior. This is separate from the Stripe Payment Element configuration. The ConfirmationToken must be created with captureMethod: "manual" for this flow. |
fp_event_id | string / fp_evt_… | When supplied by you | Your event ID from fingerprint.com, provided through paymentIntentParams.metadata. Corgi copies it to the PaymentIntent and uses the event to evaluate device, browser, IP, and other device signals. |
Stripe Checkout for subscriptions
This flow is for subscription businesses using Stripe Checkout. It uses a payment-mode Checkout Session for a temporary manual-capture authorization. After checkout.session.completed, Corgi evaluates the authorized payment, cancels the authorization, and creates a Subscription unless the payment is blocked.
Your Checkout Session must use mode: "payment" with payment_intent_data.capture_method: "manual" and setup_future_usage: "off_session".
| Metadata key | Type / example | When present | Description |
|---|---|---|---|
corgi_decision | enum / ALLOW, BLOCK, REVIEW, or NONE | After this Checkout subscription flow is processed | Corgi Model or Corgi Rule Engine evaluation result written to the Checkout Session and related PaymentIntent objects. This value records the evaluated action; enforcement may depend on your project's action settings. NONE means no model or rule produced an action, unless corgi_rule_engine_skipped is true. |
corgi_subscription_id | string / sub_… | When a subscription is created | ID of the Subscription created by this Stripe Checkout subscription flow, written to the Checkout Session and related PaymentIntent objects. This key is absent when the payment is blocked or no Subscription is created. |
corgi_matched_rule | string / rule_123, Review new customers | When a rule matches | Matched rule ID and name, formatted as rule ID, rule name, written to the Checkout Session and related PaymentIntent objects. |
corgi_rule_engine_skipped | boolean / true | When rule evaluation is skipped | true when Corgi intentionally skips rule evaluation for the transaction. Written to the Checkout Session and the created Subscription's PaymentIntent. |
corgi_global_rule | string / 0.1, OFAC Comprehensively Embargoed Jurisdictions | When a global rule matches | Number and name of the matched global rule, formatted as number, name, written to the Checkout Session and related PaymentIntent objects. Global rules are Corgi-managed compliance and network-level fraud rules. You cannot configure them, but this metadata identifies the matched rule. |
corgi_global_block | boolean / true or false | When a global rule matches | true when the matched global rule produces a block action. Written to the Checkout Session and related PaymentIntent objects. |
corgi_decision_at | ISO 8601 string / 2026-07-28T06:50:21.907Z | After this Checkout subscription flow is processed | ISO 8601 timestamp marking completion of this Checkout subscription evaluation, written to the Checkout Session and related PaymentIntent objects. |
corgi_checkout_session_id | string / cs_… | On the created Subscription | ID of the Checkout Session that originated the Subscription. |
corgi_subscription_params | JSON / {"items":[{"price":"price_…","quantity":1}]} | Required for this flow | Your Stripe Subscription creation parameters stored on the Checkout Session. The JSON value must contain at least one items entry. When the payment is permitted, Corgi creates the Subscription from these parameters and derives the customer and default payment method from the completed Checkout flow. |
fp_event_id | string / fp_evt_… | When supplied by you | Your event ID from fingerprint.com, provided through paymentIntentParams.metadata. Corgi copies it to the PaymentIntent and uses the event to evaluate device, browser, IP, and other device signals. |
Decision values
The following enum values appear in corgi_pre_auth_decision, corgi_post_auth_decision, and corgi_decision:
| Value | Meaning |
|---|---|
ALLOW | An allow rule matched. |
BLOCK | A block rule or the Corgi Model blocked the payment. |
REVIEW | A review rule matched. |
REQUEST_3DS | 3D Secure was requested (pre-auth only). |
NONE | Evaluation completed and no model or rule produced an action. |
Global rules
Global rules are Corgi-managed compliance and network-level fraud rules. You cannot configure them, but Corgi exposes when they match through metadata.
Last updated: 2026-08-03