API Documentation

Everything you need to interact with AccessGrid.

List Access Passes

Retrieve a paginated list of Access Passes. Optionally provide a template_id to list passes for a specific card template, or omit it to list all passes across all templates in your account. You can also filter by current state and metadata.

template_id

nullable string

All

state

nullable string

All

metadata

nullable object

All

page

nullable integer

All

per_page

nullable integer

All

Request

Response

{ "status": "success", "count": 2, "total_count": 2, "page": 1, "per_page": 20, "total_pages": 1, "keys": [ { "id": "key_9f3a12bc", "full_name": "John Doe", "employee_id": "EMP-10234", "state": "active", "install_url": "https://install.accessgrid.io/pass/key_9f3a12bc", "card_template_id": "0xd3adb00b5", "expiration_date": "2026-03-31T23:59:59Z", "created_at": "2025-01-15T10:22:11Z", "metadata": { "department": "Engineering", "location": "HQ" }, "card_number": "4920-8833-1122", "site_code": "NYC-HQ", "direct_install_url": "https://pay.google.com/gp/v/save/abcdef123456" }, { "id": "key_b81d77ef", "full_name": "Jane Smith", "employee_id": "EMP-10891", "state": "inactive", "install_url": "https://install.accessgrid.io/pass/key_b81d77ef", "card_template_id": "0xhotel98765", "expiration_date": "2025-12-31T23:59:59Z", "created_at": "2024-11-03T08:45:00Z", "metadata": { "department": "Operations", "role": "Manager" }, "file_data": { "file_name": "hotel_pass.pkpass", "file_size": 24576 }, "is_pass_ready_to_transact": true } ] }

Issue Access Pass

Enable a pass to be added to be created and installed on their mobile device with the constraints set in the AccessGrid console and this API call. Returns a landing page for installing the access pass.

card_template_id

string

All

employee_id

string

Corporate

tag_id

nullable string

All

site_code

nullable string

All

card_number

nullable string

All

file_data

nullable string

All

full_name

string

All

email

nullable string

All

phone_number

nullable string

All

classification

nullable string

Corporate
Apple

department

nullable string

Corporate
Apple

location

nullable string

Corporate
Apple

site_name

nullable string

Corporate
Apple

workstation

nullable string

Corporate
Apple

mail_stop

nullable string

Corporate
Apple

company_address

nullable string

Corporate
Apple

start_date

string

All

temporary

boolean

Corporate
Apple
Android

expiration_date

string

All

employee_photo

string

Corporate
Apple

title

nullable string

Corporate
Apple

member_id

nullable string

Hotel
Apple

membership_status

nullable string

Hotel
Apple

is_pass_ready_to_transact

nullable boolean

Hotel
Apple

tile_data

nullable object

Hotel

checkInAvailableWindowStartDateTime

nullable string

Hotel
Apple

checkInAvailableWindowEndDateTime

nullable string

Hotel
Apple

checkInDateTime

nullable string

Hotel
Android

checkInURL

nullable string

Hotel
All

isCheckedIn

nullable boolean

Hotel
All

numberOfRoomsReserved

nullable integer

Hotel
All

roomNumbers

nullable array

Hotel
All

reservations

nullable object

Hotel
Apple

checkInDateTime

nullable string

Hotel
Apple

isCheckedIn

nullable boolean

Hotel
Apple

numberOfRoomsReserved

nullable integer

Hotel
Apple

propertyLocation

nullable string

Hotel
Apple

propertyName

nullable string

Hotel
Apple

propertyMapUrl

nullable string

Hotel
Apple

propertyCategory

nullable string

Hotel
Apple

restaurantVoucher

nullable string

Hotel
Apple

reservationEndDateTime

nullable string

Hotel
Apple

reservationNumber

nullable string

Hotel
Apple

reservationStartDateTime

nullable string

Hotel
Apple

roomNumbers

nullable array

Hotel
Apple

metadata

nullable object

All

credential_pool_id

nullable string

All

Request

Response

{ "status": "success", "install_url": "https://install.accessgrid.io/pass/key_a91c7e23", "id": "key_a91c7e23", "state": "active", "temporary": false, "full_name": "Employee name", "expiration_date": "2026-03-29T15:34:40.072Z", "metadata": { "department": "engineering", "badgeType": "contractor" }, "card_number": "8472-1093-5561", "site_code": "ENG-HQ-01", "file_data": null }

Get Issued Pass

Retrieve details about a specific issued Access Pass, including its state, devices, and metadata

card_id

string

All

Request

Response

{ "status": "success", "install_url": "https://install.accessgrid.io/pass/key_a91c7e23", "id": "key_a91c7e23", "state": "active", "temporary": false, "full_name": "Employee name", "expiration_date": "2026-03-29T15:34:40.072Z", "metadata": { "department": "engineering", "badgeType": "contractor" }, "card_number": "8472-1093-5561", "site_code": "ENG-HQ-01", "file_data": { "file_name": "access_pass.pkpass", "file_size": 31245, "content_type": "application/vnd.apple.pkpass" }, "devices": [ { "id": "dev_7f3b2a9c", "platform": "ios", "device_type": "iphone", "status": "active" }, { "id": "dev_c91d88aa", "platform": "android", "device_type": "phone", "status": "pending_install" } ] }

Update Access Pass

When you need to make an informational update to an Access Pass such as name, photo, etc

card_id

string

All

employee_id

nullable string

Corporate

full_name

nullable string

All

classification

nullable string

Corporate
Apple

department

nullable string

Corporate
Apple

location

nullable string

Corporate
Apple

site_name

nullable string

Corporate
Apple

workstation

nullable string

Corporate
Apple

mail_stop

nullable string

Corporate
Apple

company_address

nullable string

Corporate
Apple

expiration_date

nullable string

All

employee_photo

nullable string

Corporate
Apple

title

nullable string

Corporate
Apple

file_data

nullable string

Android

is_pass_ready_to_transact

nullable boolean

Hotel
Apple

tile_data

nullable object

Hotel

checkInAvailableWindowStartDateTime

nullable string

Hotel
Apple

checkInAvailableWindowEndDateTime

nullable string

Hotel
Apple

checkInDateTime

nullable string

Hotel
Android

checkInURL

nullable string

Hotel
All

isCheckedIn

nullable boolean

Hotel
All

numberOfRoomsReserved

nullable integer

Hotel
All

roomNumbers

nullable array

Hotel
All

reservations

nullable object

Hotel
Apple

checkInDateTime

nullable string

Hotel
Apple

isCheckedIn

nullable boolean

Hotel
Apple

numberOfRoomsReserved

nullable integer

Hotel
Apple

propertyLocation

nullable string

Hotel
Apple

propertyName

nullable string

Hotel
Apple

propertyMapUrl

nullable string

Hotel
Apple

propertyCategory

nullable string

Hotel
Apple

restaurantVoucher

nullable string

Hotel
Apple

reservationEndDateTime

nullable string

Hotel
Apple

reservationNumber

nullable string

Hotel
Apple

reservationStartDateTime

nullable string

Hotel
Apple

roomNumbers

nullable array

Hotel
Apple

metadata

nullable object

All

Request

Response

{ "status": "success", "install_url": "https://install.accessgrid.io/pass/key_a91c7e23", "id": "key_a91c7e23", "state": "active", "temporary": false, "full_name": "Updated Employee Name", "expiration_date": "2026-06-15T23:59:59Z", "metadata": { "department": "engineering", "badgeType": "contractor" }, "card_number": "8472-1093-5561", "site_code": "ENG-HQ-01", "file_data": null }

Suspend Access Pass

When you need to temporarily disable an Access Pass for a short period of time

card_id

string

All

Request

Response

{ "status": "success", "install_url": "https://install.accessgrid.io/pass/key_a91c7e23", "id": "key_a91c7e23", "state": "suspended", "temporary": false, "full_name": "Employee name", "expiration_date": "2026-06-15T23:59:59Z", "metadata": {}, "card_number": "8472-1093-5561", "site_code": "ENG-HQ-01", "file_data": null }

Resume Access Pass

If you have previously suspended an Access Pass, you can re-enable it with the resume action

card_id

string

All

Request

Response

{ "status": "success", "install_url": "https://install.accessgrid.io/pass/key_a91c7e23", "id": "key_a91c7e23", "state": "active", "temporary": false, "full_name": "Employee name", "expiration_date": "2026-06-15T23:59:59Z", "metadata": {}, "card_number": "8472-1093-5561", "site_code": "ENG-HQ-01", "file_data": null }

If you'd like to force the removal of an Access Pass from it's current holder - unlinking does not make a key uninstallable, it simply disables it on the users phone.

card_id

string

All

Request

Response

{ "status": "success", "install_url": "https://install.accessgrid.io/pass/key_a91c7e23", "id": "key_a91c7e23", "state": "unlink", "temporary": false, "full_name": "Employee name", "expiration_date": "2026-06-15T23:59:59Z", "metadata": {}, "card_number": "8472-1093-5561", "site_code": "ENG-HQ-01", "file_data": null }

Delete Access Pass

If you'd like to delete Access Pass and prevent additional installs - deleting a key unlinks it and makes prevents any additional installs

card_id

string

All

Request

Response

{ "status": "success", "install_url": "https://install.accessgrid.io/pass/key_a91c7e23", "id": "key_a91c7e23", "state": "deleted", "temporary": false, "full_name": "Employee name", "expiration_date": "2026-06-15T23:59:59Z", "metadata": {}, "card_number": "8472-1093-5561", "site_code": "ENG-HQ-01", "file_data": null }