Corgi Labs transaction metadata

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 keyIntegration flowDescription
corgi_scoreAll supported flowsCorgi'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_ruleCorgi SDK confirm-payment onlyResult 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_ruleStripe Checkout for subscriptions onlyResult 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 keyType / exampleWhen presentDescription
corgi_pre_auth_decisionenum / ALLOW, BLOCK, REVIEW, REQUEST_3DS, or NONEAfter pre-auth evaluationResult 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_rulestring / rule_123, Review new customersAfter pre-auth evaluationMatched rule ID and name before authorization, formatted as rule ID, rule name. An empty string means no rule matched.
corgi_post_auth_decisionenum / ALLOW, BLOCK, REVIEW, or NONEAfter post-auth evaluationResult 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_rulestring / rule_456, Block high riskAfter post-auth evaluationRule ID and name matched after authorization, formatted as rule ID, rule name. An empty string means no rule matched.
corgi_request_3ds_matched_rulestring / rule_789, Require 3DSWhen 3DS is requestedRule 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_rulestring / 0.1, OFAC Comprehensively Embargoed JurisdictionsWhen a global rule matchesNumber 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_blockboolean / true or falseWhen a global rule matchestrue when the matched global rule produces a block action.
corgi_capture_methodenum / automatic or manualWhen Rule Engine evaluates the paymentThe 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_idstring / fp_evt_…When supplied by youYour 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 keyType / exampleWhen presentDescription
corgi_decisionenum / ALLOW, BLOCK, REVIEW, or NONEAfter this Checkout subscription flow is processedCorgi 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_idstring / sub_…When a subscription is createdID 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_rulestring / rule_123, Review new customersWhen a rule matchesMatched rule ID and name, formatted as rule ID, rule name, written to the Checkout Session and related PaymentIntent objects.
corgi_rule_engine_skippedboolean / trueWhen rule evaluation is skippedtrue when Corgi intentionally skips rule evaluation for the transaction. Written to the Checkout Session and the created Subscription's PaymentIntent.
corgi_global_rulestring / 0.1, OFAC Comprehensively Embargoed JurisdictionsWhen a global rule matchesNumber 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_blockboolean / true or falseWhen a global rule matchestrue when the matched global rule produces a block action. Written to the Checkout Session and related PaymentIntent objects.
corgi_decision_atISO 8601 string / 2026-07-28T06:50:21.907ZAfter this Checkout subscription flow is processedISO 8601 timestamp marking completion of this Checkout subscription evaluation, written to the Checkout Session and related PaymentIntent objects.
corgi_checkout_session_idstring / cs_…On the created SubscriptionID of the Checkout Session that originated the Subscription.
corgi_subscription_paramsJSON / {"items":[{"price":"price_…","quantity":1}]}Required for this flowYour 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_idstring / fp_evt_…When supplied by youYour 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:

ValueMeaning
ALLOWAn allow rule matched.
BLOCKA block rule or the Corgi Model blocked the payment.
REVIEWA review rule matched.
REQUEST_3DS3D Secure was requested (pre-auth only).
NONEEvaluation 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