Engineered to be built on.

An open, documented API, signed events, and every rail your customers are on. Operated in the open, with enterprise agreements on request.

Every link on this page goes to the live thing it describes. Last verified: October 2026.

One API for the whole pass lifecycle.

Create a pass, issue it to a holder, update it in place, redeem it. The Studio, the Zapier app and your own code all drive the same operations.

  • Documented end to end. Every endpoint lives under /v1 with request and response examples, an error catalog, and a quickstart that issues a first pass in minutes. API reference → · Error codes → · Quickstart →
  • Idempotent by design. Issue calls take a clientRequestId; a replay returns the pass already created instead of creating and charging a second one. Updates take an externalRef; a repeated ref returns the original result with no second push and no second notification. Idempotency →
  • One code per holder. In unique mode no two holders share a barcode value, so a scan resolves to one holder and one campaign, and a retried automation never mints a duplicate code. Issue a pass →
  • Paginated everywhere. Every list endpoint takes limit and cursor and returns nextCursor and hasMore. Follow the cursor until it is null. List endpoints →
  • Keys with scopes. Read-only keys, pass-restricted keys, and team keys that create in a team workspace. A key cannot do what it was not scoped to do. API keys →
  • Bulk issuance as jobs. Event Ticket, Generic and Custom passes issue in bulk through a job you can poll at /jobs/{jobId}. Bulk issuance →
  • Published rate limits. Requests per minute per key, remaining-count headers on every response, and a retry-after header on a 429. The limit is written down, not discovered. Rate limits →

Every event is signed, named once, and yours.

A pass being saved, updated, scanned or removed is one event with one name, whether it reaches you as a webhook, a Segment track, a Zapier trigger or a warehouse row. Every install and every redemption, online or in store, arrives attributed to the campaign that first acquired the holder.

  • Signed webhooks. Each delivery carries identifying headers and an HMAC-SHA256 signature over the timestamp and the raw body, so your receiver can reject anything that is not from us. Webhooks →
  • One event vocabulary. The Event Reference maps the webhook name, the Segment event and the Zapier trigger for every event, and promises additive-only changes with a changelog. Event Reference →
  • Your warehouse, not ours. Connect the Segment source and add a warehouse destination: BigQuery, Snowflake, Redshift, Postgres or Databricks. Events arrive pre-attributed, with no joins required. Segment source →
  • Partner attribution and postbacks. Register a publisher or partner with a postback URL template and the events they should receive, the affiliate-network pattern. Attribution is first-touch: a holder who already has the pass keeps the partner that acquired them. Partner postbacks →

Native where it matters, open everywhere else.

  • Shopify. A native app, listed on the App Store: paid orders issue and update passes in a closed loop. Shopify setup →
  • Square. Scan the pass at the register for an instant discount: the rule lives in your Square catalog, so it applies on the device even without a connection, and the pass updates when the sale completes. A full loyalty loop without Square's paid add-on. Square sellers →
  • WooCommerce and WordPress. A WooCommerce integration and WordPress event tickets. WooCommerce → · WordPress event tickets →
  • Zapier. A public Zapier app with the same operations as the API. Zapier →
  • In store. The POS staff app scans Apple Wallet and Google Wallet passes at a register and records the redemption as an event, attributed exactly like an online one. POS staff app →
  • Live passes and journeys. Silent push, campaigns, journey arrival, and location-triggered reminders: the pass surfaces on the lock screen near your stores. A pass that moves to its next stage on every purchase, online and in store, is how one offer becomes repeat purchases. Live passes & journeys →

One card per holder, on both wallets.

  • Google Wallet. One object per holder, updated server-side and paced against Google's API limit: a few holders inline, larger audiences through a queue that finishes within minutes. Updates →
  • Apple Wallet. Passes ship signed under Pass Studio's certificate with no Apple Developer account required. Bring your own Pass Type ID and push credentials when you want your name on the signature. Certificates →
  • Brand workspaces. Each brand in its own workspace with its own passes, holders, keys and certificate, under one billing account. Organizations → · Teams →

What we run, and how.

  • Status. A live status page. Status →
  • Security. Hosting, encryption, secrets, access control, privacy and compliance, data retention, availability and monitoring, and how to report an issue, on one page. Security →
  • Data processing. A standard Data Processing Addendum, Privacy Policy and Terms of Service. DPA → · Privacy → · Terms →
  • Who you are dealing with. Pass Studio is operated by IDARDIRECT LLC. Support & contact →

Enterprise agreements, on request.

A committed SLA is available under an enterprise contract; terms and pricing are set per agreement. The same conversation covers custom terms, data-processing commitments beyond the standard DPA, and bring-your-own certificates for white label. Write to support@thepassstudio.com or use the support page.

Ready to make the first call? Create an account — 50 free credits →