Skip to main content
Snappy APIs are authenticated using scoped API keys passed in the X-Api-Key header. OAuth2 is not used. Enterprise customers may optionally enable Mutual TLS (mTLS) for additional network-level security.
The same API key works for both V2 and V3. Pick the API version that matches the endpoint path (/v2/... vs /v3/...) - the authentication header is identical.

Authentication at a glance


Authenticating Requests

To communicate with the Snappy API, you need an API key. You must include it in the header of every request using the X-Api-Key header:
Example request against a V3 endpoint:
The same key against a V2 endpoint:
Create your first API key in the Snappy dashboard on the Sharing & Access page. After that you can manage keys in the dashboard or programmatically via the API Keys endpoints - see Managing API Keys below.

Base URLs


Optional Scoping Header (V3)

V3 endpoints accept an optional header that narrows a request to a specific sub-entity inside your organization. It is not required for getting started - omit it and the request runs against the full org reachable by the API key.
A small number of V3 endpoints - currently the Collections list and by-ID endpoints - require Snappy-Account-Id because the response depends on account-level visibility. Each endpoint’s reference page notes when this applies.

Managing API Keys

There are two ways to manage your Company’s API keys:
  • Dashboard (UI) - create and manage keys on the Sharing & Access page under Company Settings. This is where you create your first key.
  • API - list, create, and delete keys programmatically by authenticating with an existing API key (X-Api-Key). A key can only create or revoke other keys with permissions equal to or more restrictive than its own, which prevents privilege escalation.
See API Keys V3 for the full management reference.

API Permissions & Key Management

Overview

To help you meet modern enterprise security standards and enforce the Principle of Least Privilege, Snappy uses scoped API keys. You can restrict exactly what each key is allowed to do, minimizing security risks. When generating a key in the dashboard, you can assign specific permissions based on the integration’s exact needs:
  • Read-only access: Allow an integration to retrieve data (gift statuses, catalog items, order tracking) without the ability to spend budget or place orders.
  • Full access: Allow an integration to create orders, manage recipients, and run campaigns.
  • Account-level scoping: Restrict a key so it can only operate within a specific sub-account rather than your entire Company.
Each environment (Testing and Production) has its own set of API keys. Never use a Production key in your test environment or vice versa.
Always assign the minimum required permissions necessary for your integration to function.

Available Scopes

Scopes are common across V2 and V3 - assigning products:read to a key, for example, grants access to both /v2/products and /v3/products endpoints. The table below lists every available scope and which endpoints it unlocks.

Data Privacy & PII Masking

To protect employee and recipient privacy, Snappy masks Personally Identifiable Information (PII) in API responses by default. If a key does not have explicit permission to view sensitive data, fields are returned partially redacted. For example:
  • Email: j*******@e*****.com
  • Name: J*** D***
  • Phone: (***) ***-1234
  • IDs: 3**** To retrieve unmasked data, toggle the “Expose Sensitive Information” setting when generating the API key in the dashboard. This determines whether reads against PII-bearing endpoints resolve to the :read:masked or :read:unmasked permission tier.

Creating an API Key

Snappy supports up to 100 active API keys per Company.
  1. Log in to your Snappy Dashboard at https://login.snappy.com/login.
  2. Navigate to Sharing & Access under Company Settings (https://login.snappy.com/company-settings/general).
  3. Scroll to API Access and enable API access for your organization if not already enabled.
  4. Click Generate Key.
  5. Name your key.
  6. Set Expiration: Select your key rotation policy (keys can be set to expire in up to one year).
  7. Check the mTLS checkbox if you are an Enterprise customer using enhanced network security.
  8. Assign Permissions: Select the specific scopes this key will have access to.
  9. Configure Privacy & Security: Toggle sensitive information access on or off depending on your PII requirements.
  10. Click Generate Key.
  11. Copy the key immediately. For security reasons, the secret key is never displayed again.

Rotating a Key

To reset a compromised key or comply with your company’s security policies, rotate keys without integration downtime:
  1. Follow the Creating an API Key steps above to generate a new scoped key.
  2. Update your application’s environment variables with the new key.
  3. Verify the new key is working in production.
  4. Delete the old key from the Snappy Dashboard. This pattern lets you cut over with zero downtime - both keys remain valid until you delete the old one.

The API Key Object

When you retrieve your API keys via the management endpoint, each key is returned as an object with the following fields:
For security reasons, the secret key value itself is returned only once - at the moment of creation. It is never included in subsequent GET responses. If you lose your key, you’ll need to rotate it.

Enterprise Security: Mutual TLS (mTLS)

For environments requiring strict network security (such as financial institutions or highly regulated microservices), Snappy offers Mutual TLS (mTLS). In a standard API request, the client verifies the server’s identity. With mTLS, the authentication goes both ways: Snappy verifies the client’s SSL certificate, and the client verifies Snappy’s SSL certificate. This guarantees a secure, encrypted communication channel and actively prevents man-in-the-middle attacks.

mTLS Base URL

mTLS requests go to a dedicated base URL with a separate certificate-validating endpoint:
All V2 and V3 endpoints are accessible at this base URL - append /v2/... or /v3/... as you would on the standard URL.

Setting up mTLS

  1. Contact your Snappy account representative to request mTLS provisioning for your organization.
  2. Snappy issues your client SSL certificate.
  3. When generating an API key in the dashboard, check the mTLS checkbox to enforce mutual authentication for requests using that key.
  4. Configure your HTTP client to present the issued certificate when making requests to mtls-api.snappy.com.
Static API keys cover all standard integrations. Enable mTLS in addition to your API key only if your security policy requires certificate-based mutual authentication.
Last modified on June 30, 2026