> ## Documentation Index
> Fetch the complete documentation index at: https://www.seam.co/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Access Method Events

> Webhook events that Seam emits for the Access Method resource, with example payloads and properties.

## `access_method.issued`

An access method was issued.

<ResponseExample>
  ```json Example webhook payload theme={"dark"}
  {
    "access_grant_ids": [],
    "access_grant_keys": [],
    "access_method_id": "00000000-0000-0000-0000-000000000000",
    "code": "1234",
    "created_at": "2025-01-01T00:00:00.000Z",
    "event_description": "An access method was issued.",
    "event_id": "00000000-0000-0000-0000-000000000000",
    "event_type": "access_method.issued",
    "is_backup_code": true,
    "occurred_at": "2025-01-01T00:00:00.000Z",
    "workspace_id": "00000000-0000-0000-0000-000000000000"
  }
  ```
</ResponseExample>

<Accordion title="Properties">
  <ResponseField name="access_grant_ids" type="Array">
    IDs of the access grants associated with this access method.
  </ResponseField>

  <ResponseField name="access_grant_keys" type="Array">
    Keys of the access grants associated with this access method (if present).
  </ResponseField>

  <ResponseField name="access_method_id" type="String (UUID)">
    ID of the affected access method.
  </ResponseField>

  <ResponseField name="code" type="String">
    The actual PIN code for code access methods (only present when mode is 'code').
  </ResponseField>

  <ResponseField name="created_at" type="String (ISO 8601)">
    Date and time at which the event was created.
  </ResponseField>

  <ResponseField name="event_description" type="String">
    Human-readable description of the event. Persisted when the event is created (so the creating code, including a provider, can supply a tailored description) and otherwise derived from the event.
  </ResponseField>

  <ResponseField name="event_id" type="String (UUID)">
    ID of the event.
  </ResponseField>

  <ResponseField name="event_type" type="Enum (String)">
    Value: `access_method.issued`
  </ResponseField>

  <ResponseField name="is_backup_code" type="Boolean">
    Indicates whether the code is a backup code (only present when mode is 'code' and a backup code was used).
  </ResponseField>

  <ResponseField name="occurred_at" type="String (ISO 8601)">
    Date and time at which the event occurred.
  </ResponseField>

  <ResponseField name="workspace_id" type="String (UUID)">
    ID of the workspace associated with the event.
  </ResponseField>
</Accordion>

## `access_method.revoked`

An access method was revoked.

<ResponseExample>
  ```json Example webhook payload theme={"dark"}
  {
    "access_grant_ids": [],
    "access_grant_keys": [],
    "access_method_id": "00000000-0000-0000-0000-000000000000",
    "created_at": "2025-01-01T00:00:00.000Z",
    "event_description": "An access method was revoked.",
    "event_id": "00000000-0000-0000-0000-000000000000",
    "event_type": "access_method.revoked",
    "occurred_at": "2025-01-01T00:00:00.000Z",
    "workspace_id": "00000000-0000-0000-0000-000000000000"
  }
  ```
</ResponseExample>

<Accordion title="Properties">
  <ResponseField name="access_grant_ids" type="Array">
    IDs of the access grants associated with this access method.
  </ResponseField>

  <ResponseField name="access_grant_keys" type="Array">
    Keys of the access grants associated with this access method (if present).
  </ResponseField>

  <ResponseField name="access_method_id" type="String (UUID)">
    ID of the affected access method.
  </ResponseField>

  <ResponseField name="created_at" type="String (ISO 8601)">
    Date and time at which the event was created.
  </ResponseField>

  <ResponseField name="event_description" type="String">
    Human-readable description of the event. Persisted when the event is created (so the creating code, including a provider, can supply a tailored description) and otherwise derived from the event.
  </ResponseField>

  <ResponseField name="event_id" type="String (UUID)">
    ID of the event.
  </ResponseField>

  <ResponseField name="event_type" type="Enum (String)">
    Value: `access_method.revoked`
  </ResponseField>

  <ResponseField name="occurred_at" type="String (ISO 8601)">
    Date and time at which the event occurred.
  </ResponseField>

  <ResponseField name="workspace_id" type="String (UUID)">
    ID of the workspace associated with the event.
  </ResponseField>
</Accordion>

## `access_method.card_encoding_required`

An access method representing a physical card requires encoding.

<ResponseExample>
  ```json Example webhook payload theme={"dark"}
  {
    "access_grant_ids": [],
    "access_grant_keys": [],
    "access_method_id": "00000000-0000-0000-0000-000000000000",
    "created_at": "2025-01-01T00:00:00.000Z",
    "event_description": "An access method representing a physical card requires encoding.",
    "event_id": "00000000-0000-0000-0000-000000000000",
    "event_type": "access_method.card_encoding_required",
    "occurred_at": "2025-01-01T00:00:00.000Z",
    "workspace_id": "00000000-0000-0000-0000-000000000000"
  }
  ```
</ResponseExample>

<Accordion title="Properties">
  <ResponseField name="access_grant_ids" type="Array">
    IDs of the access grants associated with this access method.
  </ResponseField>

  <ResponseField name="access_grant_keys" type="Array">
    Keys of the access grants associated with this access method (if present).
  </ResponseField>

  <ResponseField name="access_method_id" type="String (UUID)">
    ID of the affected access method.
  </ResponseField>

  <ResponseField name="created_at" type="String (ISO 8601)">
    Date and time at which the event was created.
  </ResponseField>

  <ResponseField name="event_description" type="String">
    Human-readable description of the event. Persisted when the event is created (so the creating code, including a provider, can supply a tailored description) and otherwise derived from the event.
  </ResponseField>

  <ResponseField name="event_id" type="String (UUID)">
    ID of the event.
  </ResponseField>

  <ResponseField name="event_type" type="Enum (String)">
    Value: `access_method.card_encoding_required`
  </ResponseField>

  <ResponseField name="occurred_at" type="String (ISO 8601)">
    Date and time at which the event occurred.
  </ResponseField>

  <ResponseField name="workspace_id" type="String (UUID)">
    ID of the workspace associated with the event.
  </ResponseField>
</Accordion>

## `access_method.deleted`

An access method was deleted.

<ResponseExample>
  ```json Example webhook payload theme={"dark"}
  {
    "access_grant_ids": [],
    "access_grant_keys": [],
    "access_method_id": "00000000-0000-0000-0000-000000000000",
    "created_at": "2025-01-01T00:00:00.000Z",
    "event_description": "An access method was deleted.",
    "event_id": "00000000-0000-0000-0000-000000000000",
    "event_type": "access_method.deleted",
    "occurred_at": "2025-01-01T00:00:00.000Z",
    "workspace_id": "00000000-0000-0000-0000-000000000000"
  }
  ```
</ResponseExample>

<Accordion title="Properties">
  <ResponseField name="access_grant_ids" type="Array">
    IDs of the access grants associated with this access method.
  </ResponseField>

  <ResponseField name="access_grant_keys" type="Array">
    Keys of the access grants associated with this access method (if present).
  </ResponseField>

  <ResponseField name="access_method_id" type="String (UUID)">
    ID of the affected access method.
  </ResponseField>

  <ResponseField name="created_at" type="String (ISO 8601)">
    Date and time at which the event was created.
  </ResponseField>

  <ResponseField name="event_description" type="String">
    Human-readable description of the event. Persisted when the event is created (so the creating code, including a provider, can supply a tailored description) and otherwise derived from the event.
  </ResponseField>

  <ResponseField name="event_id" type="String (UUID)">
    ID of the event.
  </ResponseField>

  <ResponseField name="event_type" type="Enum (String)">
    Value: `access_method.deleted`
  </ResponseField>

  <ResponseField name="occurred_at" type="String (ISO 8601)">
    Date and time at which the event occurred.
  </ResponseField>

  <ResponseField name="workspace_id" type="String (UUID)">
    ID of the workspace associated with the event.
  </ResponseField>
</Accordion>

## `access_method.reissued`

An access method was reissued.

<ResponseExample>
  ```json Example webhook payload theme={"dark"}
  {
    "access_grant_ids": [],
    "access_grant_keys": [],
    "access_method_id": "00000000-0000-0000-0000-000000000000",
    "code": "1234",
    "created_at": "2025-01-01T00:00:00.000Z",
    "event_description": "An access method was reissued.",
    "event_id": "00000000-0000-0000-0000-000000000000",
    "event_type": "access_method.reissued",
    "is_backup_code": true,
    "occurred_at": "2025-01-01T00:00:00.000Z",
    "workspace_id": "00000000-0000-0000-0000-000000000000"
  }
  ```
</ResponseExample>

<Accordion title="Properties">
  <ResponseField name="access_grant_ids" type="Array">
    IDs of the access grants associated with this access method.
  </ResponseField>

  <ResponseField name="access_grant_keys" type="Array">
    Keys of the access grants associated with this access method (if present).
  </ResponseField>

  <ResponseField name="access_method_id" type="String (UUID)">
    ID of the affected access method.
  </ResponseField>

  <ResponseField name="code" type="String">
    The actual PIN code for code access methods (only present when mode is 'code').
  </ResponseField>

  <ResponseField name="created_at" type="String (ISO 8601)">
    Date and time at which the event was created.
  </ResponseField>

  <ResponseField name="event_description" type="String">
    Human-readable description of the event. Persisted when the event is created (so the creating code, including a provider, can supply a tailored description) and otherwise derived from the event.
  </ResponseField>

  <ResponseField name="event_id" type="String (UUID)">
    ID of the event.
  </ResponseField>

  <ResponseField name="event_type" type="Enum (String)">
    Value: `access_method.reissued`
  </ResponseField>

  <ResponseField name="is_backup_code" type="Boolean">
    Indicates whether the code is a backup code (only present when mode is 'code' and a backup code was used).
  </ResponseField>

  <ResponseField name="occurred_at" type="String (ISO 8601)">
    Date and time at which the event occurred.
  </ResponseField>

  <ResponseField name="workspace_id" type="String (UUID)">
    ID of the workspace associated with the event.
  </ResponseField>
</Accordion>

## `access_method.created`

An access method was created.

<ResponseExample>
  ```json Example webhook payload theme={"dark"}
  {
    "access_grant_ids": [],
    "access_grant_keys": [],
    "access_method_id": "00000000-0000-0000-0000-000000000000",
    "created_at": "2025-01-01T00:00:00.000Z",
    "event_description": "An access method was created.",
    "event_id": "00000000-0000-0000-0000-000000000000",
    "event_type": "access_method.created",
    "occurred_at": "2025-01-01T00:00:00.000Z",
    "workspace_id": "00000000-0000-0000-0000-000000000000"
  }
  ```
</ResponseExample>

<Accordion title="Properties">
  <ResponseField name="access_grant_ids" type="Array">
    IDs of the access grants associated with this access method.
  </ResponseField>

  <ResponseField name="access_grant_keys" type="Array">
    Keys of the access grants associated with this access method (if present).
  </ResponseField>

  <ResponseField name="access_method_id" type="String (UUID)">
    ID of the affected access method.
  </ResponseField>

  <ResponseField name="created_at" type="String (ISO 8601)">
    Date and time at which the event was created.
  </ResponseField>

  <ResponseField name="event_description" type="String">
    Human-readable description of the event. Persisted when the event is created (so the creating code, including a provider, can supply a tailored description) and otherwise derived from the event.
  </ResponseField>

  <ResponseField name="event_id" type="String (UUID)">
    ID of the event.
  </ResponseField>

  <ResponseField name="event_type" type="Enum (String)">
    Value: `access_method.created`
  </ResponseField>

  <ResponseField name="occurred_at" type="String (ISO 8601)">
    Date and time at which the event occurred.
  </ResponseField>

  <ResponseField name="workspace_id" type="String (UUID)">
    ID of the workspace associated with the event.
  </ResponseField>
</Accordion>

## `access_method.delay_in_issuing`

Seam has not yet issued this access method, even though its access grant is about to begin, so access may not be ready when the recipient arrives. Seam is still attempting to issue it, and the accompanying `delay_in_issuing` warning clears automatically once issuance succeeds.

<ResponseExample>
  ```json Example webhook payload theme={"dark"}
  {
    "access_grant_ids": [],
    "access_grant_keys": [],
    "access_method_id": "00000000-0000-0000-0000-000000000000",
    "created_at": "2025-01-01T00:00:00.000Z",
    "event_description": "Seam has not yet issued this access method, even though its access grant is about to begin, so access may not be ready when the recipient arrives. Seam is still attempting to issue it, and the accompanying `delay_in_issuing` warning clears automatically once issuance succeeds.",
    "event_id": "00000000-0000-0000-0000-000000000000",
    "event_type": "access_method.delay_in_issuing",
    "occurred_at": "2025-01-01T00:00:00.000Z",
    "workspace_id": "00000000-0000-0000-0000-000000000000"
  }
  ```
</ResponseExample>

<Accordion title="Properties">
  <ResponseField name="access_grant_ids" type="Array">
    IDs of the access grants associated with this access method.
  </ResponseField>

  <ResponseField name="access_grant_keys" type="Array">
    Keys of the access grants associated with this access method (if present).
  </ResponseField>

  <ResponseField name="access_method_id" type="String (UUID)">
    ID of the affected access method.
  </ResponseField>

  <ResponseField name="created_at" type="String (ISO 8601)">
    Date and time at which the event was created.
  </ResponseField>

  <ResponseField name="event_description" type="String">
    Human-readable description of the event. Persisted when the event is created (so the creating code, including a provider, can supply a tailored description) and otherwise derived from the event.
  </ResponseField>

  <ResponseField name="event_id" type="String (UUID)">
    ID of the event.
  </ResponseField>

  <ResponseField name="event_type" type="Enum (String)">
    Value: `access_method.delay_in_issuing`
  </ResponseField>

  <ResponseField name="occurred_at" type="String (ISO 8601)">
    Date and time at which the event occurred.
  </ResponseField>

  <ResponseField name="workspace_id" type="String (UUID)">
    ID of the workspace associated with the event.
  </ResponseField>
</Accordion>

## `access_method.failed_to_issue`

Seam was unable to issue this access method before its access grant started, so the recipient may be unable to access the space. This usually points to a problem that needs attention, such as an offline or disconnected device. Seam keeps retrying, and the accompanying `failed_to_issue` error clears automatically if the access method is eventually issued.

<ResponseExample>
  ```json Example webhook payload theme={"dark"}
  {
    "access_grant_ids": [],
    "access_grant_keys": [],
    "access_method_id": "00000000-0000-0000-0000-000000000000",
    "created_at": "2025-01-01T00:00:00.000Z",
    "event_description": "Seam was unable to issue this access method before its access grant started, so the recipient may be unable to access the space. This usually points to a problem that needs attention, such as an offline or disconnected device. Seam keeps retrying, and the accompanying `failed_to_issue` error clears automatically if the access method is eventually issued.",
    "event_id": "00000000-0000-0000-0000-000000000000",
    "event_type": "access_method.failed_to_issue",
    "occurred_at": "2025-01-01T00:00:00.000Z",
    "workspace_id": "00000000-0000-0000-0000-000000000000"
  }
  ```
</ResponseExample>

<Accordion title="Properties">
  <ResponseField name="access_grant_ids" type="Array">
    IDs of the access grants associated with this access method.
  </ResponseField>

  <ResponseField name="access_grant_keys" type="Array">
    Keys of the access grants associated with this access method (if present).
  </ResponseField>

  <ResponseField name="access_method_id" type="String (UUID)">
    ID of the affected access method.
  </ResponseField>

  <ResponseField name="created_at" type="String (ISO 8601)">
    Date and time at which the event was created.
  </ResponseField>

  <ResponseField name="event_description" type="String">
    Human-readable description of the event. Persisted when the event is created (so the creating code, including a provider, can supply a tailored description) and otherwise derived from the event.
  </ResponseField>

  <ResponseField name="event_id" type="String (UUID)">
    ID of the event.
  </ResponseField>

  <ResponseField name="event_type" type="Enum (String)">
    Value: `access_method.failed_to_issue`
  </ResponseField>

  <ResponseField name="occurred_at" type="String (ISO 8601)">
    Date and time at which the event occurred.
  </ResponseField>

  <ResponseField name="workspace_id" type="String (UUID)">
    ID of the workspace associated with the event.
  </ResponseField>
</Accordion>
