Docs
API 2026-05-27.dahlia Dashboard

API reference

2 operations, with parameters and examples.

An Event records something that happened to one of the store's objects. Fluveo sends each event to the store's webhook endpoints and keeps it for reading through the API. The event types Fluveo sends are listed in Event types.

Send every request to https://api.fluveo.com/v1 with your secret key as a Bearer token. This page lists only what Fluveo serves; the OpenAPI file holds the same operations.

Lists event objects, newest first#

GET/v1/eventsrak_event_read

Query parameters
  • createdobjectOptional

    Filter on the creation time, a Unix timestamp: created=<t> for an exact match, or created[gt], created[gte], created[lt], created[lte].

  • delivery_successbooleanOptional

    true for events whose webhook deliveries all succeeded, false for events that still have a delivery not received (pending or failed).

  • ending_beforestringOptional

    Cursor: the id of the first object of the current page, to get the previous page. Do not send it with starting_after.

  • limitintegerOptional

    How many objects to return, from 1 to 100. Default 10.

  • starting_afterstringOptional

    Cursor: the id of the last object of the previous page, to get the next page. Do not send it with ending_before.

  • typestringOptional

    Only events of this type. A * matches any run of characters anywhere in the type, as payment_intent.* or *.succeeded; * alone matches all. Do not send it with types.

  • typesarray of stringOptional

    Several event types at once, as types[]=a&types[]=b; at most 20. Do not send it with type.

Headers
  • Fluveo-VersionenumOptional

    Optional. The only version Fluveo serves is 2026-05-27.dahlia; any other value is refused with a 400. Every answer names that version in its own Fluveo-Version header, except the refusals Fluveo gives before it reads the request (no key, an unknown key, an unknown URL, a body that is not a form) and a file's bytes, which name no version and no Request-Id.

    One of: 2026-05-27.dahlia.

Returns a list of event objects.

Request
curl -G https://api.fluveo.com/v1/events \
  -H "Authorization: Bearer sk_test_..." \
  --data-urlencode "limit=3" \
  --data-urlencode "type=payment_intent.succeeded"
const response = await fetch("https://api.fluveo.com/v1/events" + "?" + new URLSearchParams([["limit","3"],["type","payment_intent.succeeded"]]), {
  method: "GET",
  headers: {
    "Authorization": "Bearer sk_test_...",
  },
});
console.log(await response.json());
import requests

response = requests.get(
    "https://api.fluveo.com/v1/events",
    headers={"Authorization": "Bearer sk_test_..."},
    params=[("limit", "3"), ("type", "payment_intent.succeeded")],
)
print(response.json())
<?php
$ch = curl_init("https://api.fluveo.com/v1/events?limit=3&type=payment_intent.succeeded");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_HTTPHEADER => [
        "Authorization: Bearer sk_test_...",
    ],
]);
echo curl_exec($ch);
Response (abridged example)
{
  "data": [
    {
      "api_version": "2026-05-27.dahlia",
      "created": 1767225600,
      "data": {
        "object": {
          "amount": 2000,
          "currency": "usd",
          "id": "pi_123",
          "object": "payment_intent",
          "status": "succeeded"
        }
      },
      "id": "evt_123",
      "livemode": false,
      "object": "event",
      "pending_webhooks": 0,
      "type": "payment_intent.succeeded"
    }
  ],
  "has_more": false,
  "object": "list",
  "url": "/v1/events"
}

Retrieves a event#

GET/v1/events/{id}rak_event_read

Path parameters
  • idstringRequired

    The object's id.

Headers
  • Fluveo-VersionenumOptional

    Optional. The only version Fluveo serves is 2026-05-27.dahlia; any other value is refused with a 400. Every answer names that version in its own Fluveo-Version header, except the refusals Fluveo gives before it reads the request (no key, an unknown key, an unknown URL, a body that is not a form) and a file's bytes, which name no version and no Request-Id.

    One of: 2026-05-27.dahlia.

Returns a event object.

Request
curl https://api.fluveo.com/v1/events/evt_123 \
  -H "Authorization: Bearer sk_test_..."
const response = await fetch("https://api.fluveo.com/v1/events/evt_123", {
  method: "GET",
  headers: {
    "Authorization": "Bearer sk_test_...",
  },
});
console.log(await response.json());
import requests

response = requests.get(
    "https://api.fluveo.com/v1/events/evt_123",
    headers={"Authorization": "Bearer sk_test_..."},
)
print(response.json())
<?php
$ch = curl_init("https://api.fluveo.com/v1/events/evt_123");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_HTTPHEADER => [
        "Authorization: Bearer sk_test_...",
    ],
]);
echo curl_exec($ch);
Response (abridged example)
{
  "api_version": "2026-05-27.dahlia",
  "created": 1767225600,
  "data": {
    "object": {
      "amount": 2000,
      "currency": "usd",
      "id": "pi_123",
      "object": "payment_intent",
      "status": "succeeded"
    }
  },
  "id": "evt_123",
  "livemode": false,
  "object": "event",
  "pending_webhooks": 0,
  "type": "payment_intent.succeeded"
}

The event object#

Ids start with evt_.

Attributes
  • accountstring
  • api_versionstringNullable
  • contextstring
  • createdinteger
  • dataobject

    data.object is the object as GET /v1/<object> shows it at the time of the event, with the buyer's data in it: a Customer's name, email, phone, address and shipping, a tax id's value, a PaymentMethod's and a Charge's billing_details, a PaymentIntent's and a Charge's receipt_email and shipping, a Checkout Session's customer_details and collected_information. No object holds a card's number or CVC or an API key, so no event does. data.previous_attributes holds the old value of each field the update changed, buyer fields too. Webhook deliveries, their retries and GET /v1/events serve the same body.

  • idstring
  • livemodeboolean
  • objectenum

    One of: event.

  • requestobjectNullable
  • typeenum

    One of: account.application.authorized, account.application.deauthorized, account.external_account.created, account.external_account.deleted, account.external_account.updated, account.updated, application_fee.created, application_fee.refund.updated, application_fee.refunded, balance.available, balance_settings.updated, capability.updated, cash_balance.funds_available, charge.captured, charge.dispute.closed, charge.dispute.created, charge.dispute.funds_reinstated, charge.dispute.funds_withdrawn, charge.dispute.updated, charge.expired, charge.failed, charge.pending, charge.refund.updated, charge.refunded, charge.succeeded, charge.updated, checkout.session.async_payment_failed, checkout.session.async_payment_succeeded, checkout.session.completed, checkout.session.expired, climate.order.canceled, climate.order.created, climate.order.delayed, climate.order.delivered, climate.order.product_substituted, climate.product.created, climate.product.pricing_updated, customer.created, customer.deleted, customer.source.created, customer.source.deleted, customer.source.expiring, customer.source.updated, customer.tax_id.created, customer.tax_id.deleted, customer.tax_id.updated, customer.updated, customer_cash_balance_transaction.created, entitlements.active_entitlement_summary.updated, file.created, financial_connections.account.account_numbers_updated, financial_connections.account.created, financial_connections.account.deactivated, financial_connections.account.disconnected, financial_connections.account.reactivated, financial_connections.account.refreshed_balance, financial_connections.account.refreshed_ownership, financial_connections.account.refreshed_transactions, financial_connections.account.upcoming_account_number_expiry, identity.verification_session.canceled, identity.verification_session.created, identity.verification_session.processing, identity.verification_session.redacted, identity.verification_session.requires_input, identity.verification_session.verified, issuing_authorization.created, issuing_authorization.request, issuing_authorization.updated, issuing_card.created, issuing_card.updated, issuing_cardholder.created, issuing_cardholder.updated, issuing_dispute.closed, issuing_dispute.created, issuing_dispute.funds_reinstated, issuing_dispute.funds_rescinded, issuing_dispute.submitted, issuing_dispute.updated, issuing_personalization_design.activated, issuing_personalization_design.deactivated, issuing_personalization_design.rejected, issuing_personalization_design.updated, issuing_token.created, issuing_token.updated, issuing_transaction.created, issuing_transaction.purchase_details_receipt_updated, issuing_transaction.updated, mandate.updated, payment_intent.amount_capturable_updated, payment_intent.canceled, payment_intent.created, payment_intent.partially_funded, payment_intent.payment_failed, payment_intent.processing, payment_intent.requires_action, payment_intent.succeeded, payment_link.created, payment_link.updated, payment_method.attached, payment_method.automatically_updated, payment_method.detached, payment_method.updated, payout.canceled, payout.created, payout.failed, payout.paid, payout.reconciliation_completed, payout.updated, person.created, person.deleted, person.updated, price.created, price.deleted, price.updated, product.created, product.deleted, product.updated, quote.accepted, quote.canceled, quote.created, quote.finalized, radar.early_fraud_warning.created, radar.early_fraud_warning.updated, refund.created, refund.failed, refund.updated, reporting.report_run.failed, reporting.report_run.succeeded, reporting.report_type.updated, reserve.hold.created, reserve.hold.updated, reserve.plan.created, reserve.plan.disabled, reserve.plan.expired, reserve.plan.updated, reserve.release.created, review.closed, review.opened, setup_intent.canceled, setup_intent.created, setup_intent.requires_action, setup_intent.setup_failed, setup_intent.succeeded, sigma.scheduled_query_run.created, source.canceled, source.chargeable, source.failed, source.mandate_notification, source.refund_attributes_required, source.transaction.created, source.transaction.updated, tax.settings.updated, tax_rate.created, tax_rate.updated, terminal.reader.action_failed, terminal.reader.action_succeeded, terminal.reader.action_updated, test_helpers.test_clock.advancing, test_helpers.test_clock.created, test_helpers.test_clock.deleted, test_helpers.test_clock.internal_failure, test_helpers.test_clock.ready, topup.canceled, topup.created, topup.failed, topup.reversed, topup.succeeded, transfer.created, transfer.reversed, transfer.updated, treasury.credit_reversal.created, treasury.credit_reversal.posted, treasury.debit_reversal.completed, treasury.debit_reversal.created, treasury.financial_account.closed, treasury.financial_account.created, treasury.financial_account.features_status_updated, treasury.inbound_transfer.canceled, treasury.inbound_transfer.created, treasury.inbound_transfer.failed, treasury.inbound_transfer.succeeded, treasury.outbound_payment.canceled, treasury.outbound_payment.created, treasury.outbound_payment.expected_arrival_date_updated, treasury.outbound_payment.failed, treasury.outbound_payment.posted, treasury.outbound_payment.returned, treasury.outbound_payment.tracking_details_updated, treasury.outbound_transfer.canceled, treasury.outbound_transfer.created, treasury.outbound_transfer.expected_arrival_date_updated, treasury.outbound_transfer.failed, treasury.outbound_transfer.posted, treasury.outbound_transfer.returned, treasury.outbound_transfer.tracking_details_updated, treasury.received_credit.created, treasury.received_credit.failed, treasury.received_credit.succeeded, treasury.received_debit.created.