AccessGrid.AccessPasses (AccessGrid v0.1.0)

Copy Markdown View Source

Manages access-pass lifecycle operations against /v1/key-cards.

All functions accept an optional :client in opts. If not provided, credentials are loaded from application config via Gestalt.

Examples

# Using explicit client
client = AccessGrid.Client.new(account_id: "...", api_secret: "...")
AccessGrid.AccessPasses.issue(%{card_template_id: "tmpl_123"}, client: client)

# Using config (client resolved automatically)
AccessGrid.AccessPasses.get("card_abc123")

Summary

Functions

Deletes a key card.

Retrieves a key card by ID.

Issues a new key card.

Lists key cards for a template.

Resumes a suspended key card.

Suspends a key card.

Unlinks a key card from its device.

Types

list_result()

@type list_result() ::
  {:ok, [AccessGrid.AccessPass.t()]}
  | {:error, AccessGrid.Types.api_error_reason(),
     AccessGrid.HttpFailure.t() | [atom(), ...]}

result()

@type result() ::
  {:ok, AccessGrid.AccessPass.t()}
  | {:error, AccessGrid.Types.api_error_reason(),
     AccessGrid.HttpFailure.t() | [atom(), ...]}

Functions

delete(card_id, opts \\ [])

@spec delete(
  String.t(),
  keyword()
) :: result()

Deletes a key card.

Examples

AccessGrid.AccessPasses.delete("card_abc123")

get(card_id, opts \\ [])

@spec get(
  String.t(),
  keyword()
) :: result()

Retrieves a key card by ID.

Examples

AccessGrid.AccessPasses.get("card_abc123")

issue(params, opts \\ [])

@spec issue(
  map(),
  keyword()
) :: result()

Issues a new key card.

Parameters

  • params - Map with card parameters (card_template_id, full_name, etc.)
  • opts - Options including :client

Examples

AccessGrid.AccessPasses.issue(%{
  card_template_id: "tmpl_123",
  full_name: "John Doe"
})

list(template_id, opts \\ [])

@spec list(
  String.t(),
  keyword()
) :: list_result()

Lists key cards for a template.

Options

  • :state - Filter by card state (e.g., "active", "suspended")
  • :client - Client for authentication

Examples

AccessGrid.AccessPasses.list("tmpl_123")
AccessGrid.AccessPasses.list("tmpl_123", state: "active")

resume(card_id, opts \\ [])

@spec resume(
  String.t(),
  keyword()
) :: result()

Resumes a suspended key card.

Examples

AccessGrid.AccessPasses.resume("card_abc123")

suspend(card_id, opts \\ [])

@spec suspend(
  String.t(),
  keyword()
) :: result()

Suspends a key card.

Examples

AccessGrid.AccessPasses.suspend("card_abc123")

unlink(card_id, opts \\ [])

@spec unlink(
  String.t(),
  keyword()
) :: result()

Unlinks a key card from its device.

Examples

AccessGrid.AccessPasses.unlink("card_abc123")

update(card_id, params, opts \\ [])

@spec update(String.t(), map(), keyword()) :: result()

Updates a key card.

Examples

AccessGrid.AccessPasses.update("card_abc123", %{full_name: "New Name"})