All twins

Klaviyo

live · conformance passing

Models the Klaviyo API a lifecycle marketing or ecommerce support integration actually uses — profiles with upsert semantics and a real duplicate conflict, lists and membership as relationships, consent per channel with suppressions and the bulk jobs that move them, event ingestion that creates its metric and its profile on first use, segments whose membership is derived from their definition on every read rather than stored, campaigns that queue a send job and go out when the environment is advanced, and Customer Hub conversations on WhatsApp, SMS and Instagram whose outbound reply answers 202 with no body at all and is only delivered once the environment is advanced — with private-key authentication, per-resource scope refusals, a dated revision header, per-endpoint burst and steady rate limits with a real Retry-After, and cursor pagination whose links point back at the environment.

Category
Marketing
Environment key
pk_…
Verified against
klaviyo-api 24.0.0
Replaces
Testing lifecycle marketing against a production Klaviyo account

What it models

Records your code can read, write and edit for the life of the environment. A route the twin does not model returns a provider-shaped refusal rather than a plausible response.

  • account
  • profiles
  • lists
  • list_memberships
  • segments
  • metrics
  • events
  • campaigns
  • campaign_messages
  • templates
  • flows
  • suppressions
  • bulk_jobs
  • conversations
  • conversation_messages

Verified in CI against

  • pythonklaviyo-api24.0.0

Live · console.twinbay.ai

Start with one base URL.

Create an environment and point your existing SDK at the hostname it gives you. The environment logs each request your agent makes, and you can edit any record it holds.

Start building

An environment in under a minute, no card required. Twinbay is free for academic researchers.