API Documentation

Everything you need to interact with AccessGrid.

Create Card Template

Enterprise only
Contact us

Only available for enterprise customers - allows you to create an empty card template using our console API.

name

string

All

platform

string

All

use_case

string

All

protocol

string

Apple

allow_on_multiple_devices

nullable boolean

All

watch_count

nullable integer

Apple

iphone_count

nullable integer

Apple

background_color

nullable string

Apple

label_color

nullable string

Apple

label_secondary_color

nullable string

Apple

support_url

nullable string

Apple

support_phone_number

nullable string

Apple

support_email

nullable string

Apple

privacy_policy_url

nullable string

Apple

terms_and_conditions_url

nullable string

Apple

metadata

nullable object

All

background

nullable string

All

logo

nullable string

All

icon

nullable string

All

Request

Response

{ "id": "tpl_0xd3adb00b5", "estimated_publishing_date": "2026-01-05T12:00:00Z", "metadata": { "version": "2.1", "approvalStatus": "approved" } }

Update Card Template

Enterprise only
Contact us

Only available for enterprise customers - allows you to update certain attributes of an existing card template using our console API.

card_template_id

string

All

name

nullable string

All

platform

nullable string

All

use_case

nullable string

All

protocol

nullable string

Apple

allow_on_multiple_devices

nullable boolean

All

watch_count

nullable integer

Apple

iphone_count

nullable integer

Apple

background_color

nullable string

Apple

label_color

nullable string

Apple

label_secondary_color

nullable string

Apple

support_url

nullable string

Apple

support_phone_number

nullable string

Apple

support_email

nullable string

Apple

privacy_policy_url

nullable string

Apple

terms_and_conditions_url

nullable string

Apple

metadata

nullable object

All

background

nullable string

All

logo

nullable string

All

icon

nullable string

All

Request

Response

{ "id": "tpl_0xd3adb00b5", "estimated_publishing_date": "2026-01-05T12:00:00Z", "metadata": { "version": "2.1", "approvalStatus": "approved" } }

Read Card Template

Enterprise only
Contact us

Only available for enterprise customers - allows you to read basic info about an existing card template using our console API.

card_template_id

nullable string

All

Request

Response

{ "id": "tpl_0xd3adb00b5", "name": "Employee Access Pass", "platform": "apple", "use_case": "corporate_id", "protocol": "desfire", "created_at": "2025-12-01T09:15:30Z", "last_published_at": "2025-12-10T14:42:00Z", "issued_keys_count": 125, "active_keys_count": 118, "allowed_device_counts": { "allow_on_multiple_devices": true, "watch": 2, "iphone": 3 }, "support_settings": { "url": "https://help.yourcompany.com", "phone": "+1-555-123-4567", "email": "[email protected]" }, "terms_settings": { "privacy_policy_url": "https://yourcompany.com/privacy", "terms_and_conditions_url": "https://yourcompany.com/terms" }, "style_settings": { "background_color": "#FFFFFF", "label_color": "#000000", "label_secondary_color": "#333333" }, "metadata": { "version": "2.1", "approvalStatus": "approved" } }

Reveal SmartTap Private Key

Enterprise only
Contact us

Only available for enterprise customers with a Google Wallet SmartTap template. Returns the SmartTap private key encrypted to a caller-supplied P-256 public key using ECDH-ES + AES-256-GCM. Each public key can only be used once per account and the endpoint is rate-limited to 1 request per minute per account. Use this to configure your own reader / collector hardware. Use the response's ephemeral_public_key as a one-time P-256 public key generated server-side for this response. Combine it with your local private key via ECDH to derive the AES-256-GCM key (HKDF-SHA256, info accessgrid-smart-tap-reveal-v1, salt empty, 32 bytes).

card_template_id

string

All

client_public_key

string

All

Request

Response

{ "key_version": 42, "collector_id": 12345678, "fingerprint": "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2", "encrypted_private_key": { "alg": "ECDH-ES+A256GCM", "ephemeral_public_key": "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE...\n-----END PUBLIC KEY-----\n", "iv": "gK7B5Jh1dQwHn2Qp", "ciphertext": "xS9hQ0aV0...base64...0r2k=", "tag": "4K7x3p9VYpAqY1Zc9C2nLw==" } }