# Stell - [Stell documentation](https://docs.getstell.com/index.md): Deliver loyalty cards, tickets, and access credentials to Apple Wallet and Google Wallet - [Your first login](https://docs.getstell.com/getting-started/first-login.md): Sign in to the merchant portal and set up two-factor authentication - [Portal overview](https://docs.getstell.com/getting-started/portal-overview.md): A tour of the merchant portal dashboard and navigation - [Programs](https://docs.getstell.com/programs/overview.md): What a program is and how to manage your company's programs - [The program page](https://docs.getstell.com/programs/the-program-page.md): What you see and what you can do when you open a program - [The template editor](https://docs.getstell.com/pass-templates/overview.md): Design how your program's passes look in Apple Wallet and Google Wallet - [Anatomy of a pass](https://docs.getstell.com/pass-templates/anatomy.md): The areas of a wallet pass and how the pass style shapes them - [Images](https://docs.getstell.com/pass-templates/images.md): Every image slot on the pass, its dimensions, and when it's shown - [Fields and dynamic content](https://docs.getstell.com/pass-templates/fields.md): Pass fields, placeholders, and per-customer values - [Barcodes and NFC](https://docs.getstell.com/pass-templates/barcodes.md): How passes are read at checkout — barcode formats, NFC, and dynamic barcode content - [Apple Wallet vs Google Wallet](https://docs.getstell.com/pass-templates/apple-vs-google.md): How one template renders on the two wallets, and what to check - [Passes](https://docs.getstell.com/passes/overview.md): Browse and search the passes issued for your programs - [Issue a pass](https://docs.getstell.com/passes/issuing.md): Issue a new pass to a customer - [Pass lifecycle](https://docs.getstell.com/passes/lifecycle.md): Pass statuses, voiding a pass, and wallet installation history - [Engage](https://docs.getstell.com/engage/overview.md): Reach your customers with campaigns, automations, and notifications - [Campaigns](https://docs.getstell.com/engage/campaigns.md): Send one-off push messages to your customers' wallet passes - [Automations](https://docs.getstell.com/engage/automations.md): Set up messages that trigger automatically on customer events - [Contacts and segments](https://docs.getstell.com/engage/contacts-and-segments.md): Manage your contacts and group them into audience segments - [Message templates](https://docs.getstell.com/engage/templates.md): Ready-made push messages with personalization placeholders - [Notification history](https://docs.getstell.com/engage/notifications.md): Review every push notification sent to your customers - [Transaction log](https://docs.getstell.com/transactions/overview.md): Investigate how passes are used across your stores and terminals - [Your organization](https://docs.getstell.com/organization/overview.md): View your company's merchants, stores, and terminals - [Account security](https://docs.getstell.com/account/security.md): Manage your password, two-factor authentication, and account preferences - [Launch & grow your program](https://docs.getstell.com/launch-and-grow/overview.md): Take your program from the invitation email to a growing customer base - [Merchant onboarding checklist](https://docs.getstell.com/onboarding/checklist.md): From invite email to your first live program - [How enrollment works](https://docs.getstell.com/enrollment/how-enrollment-works.md): How customers get their pass through the web or App Clip enrollment flow - [Adding the pass to a wallet](https://docs.getstell.com/enrollment/adding-to-wallet.md): Which wallet buttons customers see on each device, and what happens when they tap them - [Wallet button widget](https://docs.getstell.com/enrollment/wallet-button-widget.md): Add an Add to Wallet button to your own website or emails so customers can save their pass in a tap - [Enrollment troubleshooting](https://docs.getstell.com/enrollment/troubleshooting.md): Help customers who run into problems getting their pass - [Promote your program](https://docs.getstell.com/promote/overview.md): Plan the launch of your pass program and keep it growing across email, social media, your website, and your stores - [Email](https://docs.getstell.com/promote/email.md): Announce your program and invite existing customers to add their pass, with rendered example emails to model yours on - [Social media](https://docs.getstell.com/promote/social-media.md): Post ideas and example copy for announcing your program and keeping it visible - [Website and my page](https://docs.getstell.com/promote/website.md): Invite new visitors on your public site and give signed-in members a one-tap button on their account page - [In-store material](https://docs.getstell.com/promote/in-store.md): Posters, stands, hanging banners, counter cards, and screens with QR codes, plus what your staff should say - [Frequently asked questions](https://docs.getstell.com/support/faq.md): Answers to common questions about the merchant portal - [Contact support](https://docs.getstell.com/support/contact.md): How to reach Stell support and what to include - [Introduction](https://docs.getstell.com/api-reference/introduction.md): Create and manage wallet passes programmatically with the Stell API - [API keys](https://docs.getstell.com/api-reference/api-keys.md): Create and manage API keys for your integrations - [Authentication](https://docs.getstell.com/api-reference/authentication.md): Authenticate API requests with your company's API key - [Errors](https://docs.getstell.com/api-reference/errors.md): How the Stell API reports errors and what each status code means - [Integration overview](https://docs.getstell.com/api-reference/integration/overview.md): The flows, concepts, and endpoints behind a direct API integration - [Add to Wallet](https://docs.getstell.com/api-reference/integration/add-to-wallet.md): From a button on your page to a live pass in the customer's wallet - [Updating a pass](https://docs.getstell.com/api-reference/integration/updating-passes.md): One call from your backend; Stell fans out to every device - [In-store: scan or tap](https://docs.getstell.com/api-reference/integration/in-store.md): Identify the customer at checkout, without checkout depending on Stell - [Webhooks and go-live](https://docs.getstell.com/api-reference/integration/go-live.md): Close the loop with webhooks, handle the pass lifecycle, and check off go-live - [Event webhooks](https://docs.getstell.com/api-reference/webhooks/overview.md): Send a program's pass events to your own systems - [Webhook deliveries](https://docs.getstell.com/api-reference/webhooks/deliveries.md): The requests Stell sends to your webhook endpoint: headers, payloads, retries, and signature verification - [Get pass transactions](https://docs.getstell.com/api-reference/passes/get-pass-transactions.md): Retrieve transaction history for a specific pass. - [Get pass details](https://docs.getstell.com/api-reference/passes/get-pass-details.md): Retrieve details of a specific pass. - [Void pass](https://docs.getstell.com/api-reference/passes/void-pass.md): Void an existing pass. This performs a soft delete by setting the pass status to VOIDED. This action cannot be undone. - [Update pass](https://docs.getstell.com/api-reference/passes/update-pass.md): Update an existing pass including customer information, status, and semantic tags. Changes propagate to the customer's mobile wallet asynchronously (eventually consistent) once the pass record is written, so a wallet may briefly still show the previous values. The response includes the permanent lin… - [Generate Google Wallet save link](https://docs.getstell.com/api-reference/passes/generate-google-wallet-save-link.md): Generate a time-limited URL for adding the pass to Google Wallet. The link expires after 24 hours. Deprecated: prefer the permanent link field returned on every pass object, which never expires and resolves to the applicable wallet action for any wallet type. - [Create pass image upload](https://docs.getstell.com/api-reference/passes/create-pass-image-upload.md): Request an upload URL for a per-pass image override. Send the PNG or JPEG bytes to the returned URL with the declared Content-Type, then pass the uploadId as templateOverrides.images.{slot} when creating or updating a pass. You can also skip this step and pass a public HTTPS sourceUrl on the pass re… - [List passes](https://docs.getstell.com/api-reference/passes/list-passes.md): Returns passes for your company. Supports filtering, sorting, and pagination. - [Create new pass](https://docs.getstell.com/api-reference/passes/create-new-pass.md): Create a new pass for a program. The pass is created in PREACTIVE status and includes a unique authentication token. The response includes the permanent link field for the pass. - [Generate Apple Wallet installation link](https://docs.getstell.com/api-reference/passes/generate-apple-wallet-installation-link.md): Generate a time-limited URL for adding the pass to Apple Wallet. Deprecated: prefer the permanent link field returned on every pass object, which never expires and resolves to the applicable wallet action for any wallet type. - [Create secure Apple Wallet pass](https://docs.getstell.com/api-reference/passes/create-secure-apple-wallet-pass.md): Create a secure Apple Wallet pass with account binding and enhanced security. - [Get pass registrations](https://docs.getstell.com/api-reference/passes/get-pass-registrations.md): Retrieve Apple Wallet device registrations for a specific pass. - [Batch create passes](https://docs.getstell.com/api-reference/passes/batch-create-passes.md): Create multiple passes in a single request. Supports up to 1000 passes per call with automatic duplicate detection. - [List all pass templates](https://docs.getstell.com/api-reference/pass-templates/list-all-pass-templates.md): Retrieve all pass templates across programs with filtering and pagination. - [Get program pass template](https://docs.getstell.com/api-reference/pass-templates/get-program-pass-template.md): Retrieve complete details about a specific template within a program. - [Delete program pass template](https://docs.getstell.com/api-reference/pass-templates/delete-program-pass-template.md): Permanently deletes a pass template from a program. Fails if the program has non-voided passes. - [Update program pass template](https://docs.getstell.com/api-reference/pass-templates/update-program-pass-template.md): Update design configuration or settings for an existing template within a program. - [Get pass template details](https://docs.getstell.com/api-reference/pass-templates/get-pass-template-details.md): Retrieve complete details about a specific pass template. - [List program pass templates](https://docs.getstell.com/api-reference/pass-templates/list-program-pass-templates.md): Retrieve all pass templates for a specific program. - [Create program pass template](https://docs.getstell.com/api-reference/pass-templates/create-program-pass-template.md): Create a new pass template within a program. Each program supports at most one template. - [Get pass geofences](https://docs.getstell.com/api-reference/engagement/get-pass-geofences.md): Retrieve effective geofences for a specific pass including program-level defaults and pass-level overrides - [Replace all pass geofences](https://docs.getstell.com/api-reference/engagement/replace-all-pass-geofences.md): Set pass-level geofence overrides that replace all program-level geofences - [Add pass geofence](https://docs.getstell.com/api-reference/engagement/add-pass-geofence.md): Add a single geofence to a pass. Maximum 10 geofences per pass. - [Delete all pass geofences](https://docs.getstell.com/api-reference/engagement/delete-all-pass-geofences.md): Remove all pass-level geofence overrides and revert to using program-level geofences - [Delete pass geofence by ID](https://docs.getstell.com/api-reference/engagement/delete-pass-geofence-by-id.md): Remove a specific geofence from a pass by its ID. - [Update pass geofence by ID](https://docs.getstell.com/api-reference/engagement/update-pass-geofence-by-id.md): Update a specific geofence on a pass. Supports partial updates. - [Get encryption key](https://docs.getstell.com/api-reference/programs/get-encryption-key.md): Retrieve the ECDH P-256 encryption key pair for a program. Returns both compressed (Apple VAS) and uncompressed (Google Smart Tap) public key formats when available, alongside the private key needed to derive the shared secret during an NFC tap. A program has at most one key pair; a program that has… - [List programs](https://docs.getstell.com/api-reference/programs/list-programs.md): Returns programs for your company. Supports filtering by type and status. - [Create new program](https://docs.getstell.com/api-reference/programs/create-new-program.md): Create a new loyalty or entry program. The program will be created in DRAFT status and can be published later. - [Get program details](https://docs.getstell.com/api-reference/programs/get-program-details.md): Retrieve details of a specific program - [Delete program](https://docs.getstell.com/api-reference/programs/delete-program.md): Deletes a program permanently. Fails if the program has non-voided passes. - [Update program](https://docs.getstell.com/api-reference/programs/update-program.md): Update an existing program. Supports partial updates. - [List companies](https://docs.getstell.com/api-reference/companies/list-companies.md): Returns companies accessible to your API key. Supports cursor-based pagination. - [Get company details](https://docs.getstell.com/api-reference/companies/get-company-details.md): Returns details for a specific company. - [List stores](https://docs.getstell.com/api-reference/stores/list-stores.md): Returns stores for your company. Supports filtering by merchant. - [Create store](https://docs.getstell.com/api-reference/stores/create-store.md): Creates a new store for a merchant. - [Get store details](https://docs.getstell.com/api-reference/stores/get-store-details.md): Returns details for a specific store. - [Delete store](https://docs.getstell.com/api-reference/stores/delete-store.md): Deletes a store permanently. Fails if store has existing terminals or transactions. - [Update store](https://docs.getstell.com/api-reference/stores/update-store.md): Update store information. Supports partial updates. - [List merchants](https://docs.getstell.com/api-reference/merchants/list-merchants.md): Returns merchants for your company. Supports filtering and pagination. - [Create merchant](https://docs.getstell.com/api-reference/merchants/create-merchant.md): Creates a new merchant within your company. - [Get merchant details](https://docs.getstell.com/api-reference/merchants/get-merchant-details.md): Returns details for a specific merchant. - [Delete merchant](https://docs.getstell.com/api-reference/merchants/delete-merchant.md): Deletes a merchant permanently. Fails if merchant has existing stores. - [Update merchant](https://docs.getstell.com/api-reference/merchants/update-merchant.md): Updates an existing merchant. Only provided fields will be modified. - [Get terminal details](https://docs.getstell.com/api-reference/terminals/get-terminal-details.md): Retrieve details of a specific terminal. - [Delete terminal](https://docs.getstell.com/api-reference/terminals/delete-terminal.md): Deletes a terminal permanently. - [Update terminal](https://docs.getstell.com/api-reference/terminals/update-terminal.md): Update terminal information. Supports partial updates. - [List terminals](https://docs.getstell.com/api-reference/terminals/list-terminals.md): List all terminals with optional filters. - [Create terminal](https://docs.getstell.com/api-reference/terminals/create-terminal.md): Create a new terminal at a store. - [Get transaction details](https://docs.getstell.com/api-reference/transactions/get-transaction-details.md): Retrieve details of a specific transaction. - [List transactions](https://docs.getstell.com/api-reference/transactions/list-transactions.md): List all transactions with optional filters. - [Create transaction](https://docs.getstell.com/api-reference/transactions/create-transaction.md): Record a new transaction against a pass. - [Health check](https://docs.getstell.com/api-reference/system/health-check.md): Returns service status, version, and environment details. Does not require authentication. ## OpenAPI Specs - [openapi](/api-reference/openapi.json)