> ## 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.

# List Access Methods

> Lists all access methods, usually filtered by Access Grant.

You must include at least one request parameter.



## OpenAPI

````yaml /openapi.json get /access_methods/list
openapi: 3.0.0
info:
  description: >-
    Programmable API to control locks, thermostats, noise sensors, cameras,
    access control systems, and other IoT devices.


    Prefer the official Seam SDKs over hand-written HTTP calls: they handle

    authentication, request serialization, pagination, and error handling for

    you. The official SDKs are listed in this document under

    `info.x-seam-sdks`.


    If you call the HTTP API directly, your query parameters must be

    serialized compatibly with the Seam API. There is no universal convention

    for serializing arrays, booleans, or nested objects in a query string, so

    use @seamapi/url-search-params-serializer, the language specific serializer
    module provided by each Seam SDK, or follow its specification:

    https://github.com/seamapi/url-search-params-serializer
  title: Seam Connect
  version: 1.0.0
  x-seam-query-serializer:
    description: >-
      Reference implementation and specification for query parameter
      serialization compatible with the Seam API.
    url: https://github.com/seamapi/url-search-params-serializer
  x-seam-sdks:
    - language: javascript
      url: https://github.com/seamapi/javascript
    - language: python
      url: https://github.com/seamapi/python
    - language: ruby
      url: https://github.com/seamapi/ruby
    - language: php
      url: https://github.com/seamapi/php
    - language: csharp
      url: https://github.com/seamapi/csharp
servers:
  - url: https://connect.getseam.com
security: []
tags:
  - description: access_codes
    name: /access_codes
  - description: acs
    name: /acs
  - description: action_attempts
    name: /action_attempts
  - description: client_sessions
    name: /client_sessions
  - description: connected_accounts
    name: /connected_accounts
  - description: connect_webviews
    name: /connect_webviews
  - description: devices
    name: /devices
  - description: events
    name: /events
  - description: health
    name: /health
  - description: locks
    name: /locks
  - description: networks
    name: /networks
  - description: noise_sensors
    name: /noise_sensors
  - description: phones
    name: /phones
  - description: thermostats
    name: /thermostats
  - description: user_identities
    name: /user_identities
  - description: webhooks
    name: /webhooks
  - description: workspaces
    name: /workspaces
paths:
  /access_methods/list:
    get:
      tags: []
      summary: List Access Methods
      description: |-
        Lists all access methods, usually filtered by Access Grant.

        You must include at least one request parameter.
      operationId: accessMethodsListGet
      parameters:
        - in: query
          name: access_grant_id
          schema:
            description: ID of Access Grant to list access methods for.
            format: uuid
            type: string
        - in: query
          name: access_grant_key
          schema:
            description: Key of Access Grant to list access methods for.
            minLength: 1
            type: string
        - in: query
          name: device_id
          schema:
            description: >-
              ID of the device by which to filter the returned access methods.
              Must be combined with `access_grant_id`, `access_grant_key`, or
              `acs_entrance_id`.
            format: uuid
            type: string
        - in: query
          name: acs_entrance_id
          schema:
            description: >-
              ID of the entrance for which you want to retrieve all access
              methods that grant access to it.
            format: uuid
            type: string
        - in: query
          name: space_id
          schema:
            description: >-
              ID of the space by which to filter the returned access methods.
              Must be combined with `access_grant_id`, `access_grant_key`, or
              `acs_entrance_id`.
            format: uuid
            type: string
        - in: query
          name: access_code_id
          schema:
            description: >-
              ID of the access code by which to filter the returned access
              methods. Must be combined with `access_grant_id`,
              `access_grant_key`, or `acs_entrance_id`.
            format: uuid
            type: string
        - in: query
          name: limit
          schema:
            default: 500
            description: Maximum number of records to return per page.
            exclusiveMinimum: true
            minimum: 0
            type: integer
        - in: query
          name: page_cursor
          schema:
            description: >-
              Identifies the specific page of results to return, obtained from
              the previous page's `next_page_cursor`.
            nullable: true
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  access_methods:
                    items:
                      $ref: '#/components/schemas/access_method'
                    type: array
                  pagination:
                    $ref: '#/components/schemas/pagination'
                required:
                  - access_methods
                  - pagination
                type: object
          description: OK
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
      security:
        - pat_with_workspace: []
        - console_session_with_workspace: []
        - api_key: []
        - client_session_with_customer: []
        - client_session_with_customer_ro: []
        - support_read_only_token: []
      x-codeSamples:
        - lang: javascript
          label: Seam SDK
          source: |-
            await seam.accessMethods.list({
              access_grant_id: "9072ebcd-95f3-4e4b-8f2f-10053911533b",
            });

            /*
            [
              {
                "access_method_id": "a1b2c3d4-e5f6-4a3b-2c1d-0e9f8a7b6c5d",
                "created_at": "2025-06-16T16:54:17.946606Z",
                "display_name": "PIN Code Credential",
                "is_card_encoding_required": false,
                "mode": "code",
                "workspace_id": "661025d3-c1d2-403c-83a8-af153aaedfbc"
              },
              {
                "access_method_id": "5f4e3d2c-1b0a-9f8e-7d6c-5b4a3c2d1e0f",
                "created_at": "2025-06-16T16:54:19.946606Z",
                "display_name": "Card Credential",
                "is_card_encoding_required": true,
                "mode": "card",
                "workspace_id": "661025d3-c1d2-403c-83a8-af153aaedfbc"
              },
              {
                "access_method_id": "c7d8e9f0-1a2b-3c4d-5e6f-7a8b9c0d1e2f",
                "created_at": "2025-06-16T16:54:21.946606Z",
                "display_name": "Mobile Key Credential",
                "instant_key_url": "https://ik.seam.co/ABCXYZ",
                "is_card_encoding_required": false,
                "mode": "mobile_key",
                "workspace_id": "661025d3-c1d2-403c-83a8-af153aaedfbc"
              }
            ]
            */
        - lang: bash
          label: cURL
          source: >-
            curl --include --request POST
            "https://connect.getseam.com/access_methods/list" \
              --header "Authorization: Bearer $SEAM_API_KEY" \
              --json @- <<EOF
            {
              "access_grant_id": "9072ebcd-95f3-4e4b-8f2f-10053911533b"
            }

            EOF


            # Response:

            # {

            #   "access_methods": [

            #     {

            #       "access_method_id": "a1b2c3d4-e5f6-4a3b-2c1d-0e9f8a7b6c5d",

            #       "created_at": "2025-06-16T16:54:17.946606Z",

            #       "display_name": "PIN Code Credential",

            #       "is_card_encoding_required": false,

            #       "mode": "code",

            #       "workspace_id": "661025d3-c1d2-403c-83a8-af153aaedfbc"

            #     },

            #     {

            #       "access_method_id": "5f4e3d2c-1b0a-9f8e-7d6c-5b4a3c2d1e0f",

            #       "created_at": "2025-06-16T16:54:19.946606Z",

            #       "display_name": "Card Credential",

            #       "is_card_encoding_required": true,

            #       "mode": "card",

            #       "workspace_id": "661025d3-c1d2-403c-83a8-af153aaedfbc"

            #     },

            #     {

            #       "access_method_id": "c7d8e9f0-1a2b-3c4d-5e6f-7a8b9c0d1e2f",

            #       "created_at": "2025-06-16T16:54:21.946606Z",

            #       "display_name": "Mobile Key Credential",

            #       "instant_key_url": "https://ik.seam.co/ABCXYZ",

            #       "is_card_encoding_required": false,

            #       "mode": "mobile_key",

            #       "workspace_id": "661025d3-c1d2-403c-83a8-af153aaedfbc"

            #     }

            #   ]

            # }
        - lang: python
          label: Seam SDK
          source: >-
            seam.access_methods.list(access_grant_id="9072ebcd-95f3-4e4b-8f2f-10053911533b")


            # [
                AccessMethod(
                    access_method_id="a1b2c3d4-e5f6-4a3b-2c1d-0e9f8a7b6c5d",
                    created_at="2025-06-16T16:54:17.946606Z",
                    display_name="PIN Code Credential",
                    is_card_encoding_required=false,
                    mode="code",
                    workspace_id="661025d3-c1d2-403c-83a8-af153aaedfbc",
                ),
                AccessMethod(
                    access_method_id="5f4e3d2c-1b0a-9f8e-7d6c-5b4a3c2d1e0f",
                    created_at="2025-06-16T16:54:19.946606Z",
                    display_name="Card Credential",
                    is_card_encoding_required=true,
                    mode="card",
                    workspace_id="661025d3-c1d2-403c-83a8-af153aaedfbc",
                ),
                AccessMethod(
                    access_method_id="c7d8e9f0-1a2b-3c4d-5e6f-7a8b9c0d1e2f",
                    created_at="2025-06-16T16:54:21.946606Z",
                    display_name="Mobile Key Credential",
                    instant_key_url="https://ik.seam.co/ABCXYZ",
                    is_card_encoding_required=false,
                    mode="mobile_key",
                    workspace_id="661025d3-c1d2-403c-83a8-af153aaedfbc",
                ),
            ]
        - lang: ruby
          label: Seam SDK
          source: >-
            seam.access_methods.list(access_grant_id:
            "9072ebcd-95f3-4e4b-8f2f-10053911533b")


            # => [
              {
                "access_method_id" => "a1b2c3d4-e5f6-4a3b-2c1d-0e9f8a7b6c5d",
                "created_at" => "2025-06-16T16:54:17.946606Z",
                "display_name" => "PIN Code Credential",
                "is_card_encoding_required" => false,
                "mode" => "code",
                "workspace_id" => "661025d3-c1d2-403c-83a8-af153aaedfbc",
              },
              {
                "access_method_id" => "5f4e3d2c-1b0a-9f8e-7d6c-5b4a3c2d1e0f",
                "created_at" => "2025-06-16T16:54:19.946606Z",
                "display_name" => "Card Credential",
                "is_card_encoding_required" => true,
                "mode" => "card",
                "workspace_id" => "661025d3-c1d2-403c-83a8-af153aaedfbc",
              },
              {
                "access_method_id" => "c7d8e9f0-1a2b-3c4d-5e6f-7a8b9c0d1e2f",
                "created_at" => "2025-06-16T16:54:21.946606Z",
                "display_name" => "Mobile Key Credential",
                "instant_key_url" => "https://ik.seam.co/ABCXYZ",
                "is_card_encoding_required" => false,
                "mode" => "mobile_key",
                "workspace_id" => "661025d3-c1d2-403c-83a8-af153aaedfbc",
              },
            ]
        - lang: php
          label: Seam SDK
          source: |-
            $seam->access_methods->list(
                access_grant_id: "9072ebcd-95f3-4e4b-8f2f-10053911533b",
            );

            // [
                [
                    "access_method_id" => "a1b2c3d4-e5f6-4a3b-2c1d-0e9f8a7b6c5d",
                    "created_at" => "2025-06-16T16:54:17.946606Z",
                    "display_name" => "PIN Code Credential",
                    "is_card_encoding_required" => false,
                    "mode" => "code",
                    "workspace_id" => "661025d3-c1d2-403c-83a8-af153aaedfbc",
                ],
                [
                    "access_method_id" => "5f4e3d2c-1b0a-9f8e-7d6c-5b4a3c2d1e0f",
                    "created_at" => "2025-06-16T16:54:19.946606Z",
                    "display_name" => "Card Credential",
                    "is_card_encoding_required" => true,
                    "mode" => "card",
                    "workspace_id" => "661025d3-c1d2-403c-83a8-af153aaedfbc",
                ],
                [
                    "access_method_id" => "c7d8e9f0-1a2b-3c4d-5e6f-7a8b9c0d1e2f",
                    "created_at" => "2025-06-16T16:54:21.946606Z",
                    "display_name" => "Mobile Key Credential",
                    "instant_key_url" => "https://ik.seam.co/ABCXYZ",
                    "is_card_encoding_required" => false,
                    "mode" => "mobile_key",
                    "workspace_id" => "661025d3-c1d2-403c-83a8-af153aaedfbc",
                ],
            ];
        - lang: bash
          label: Seam CLI
          source: >-
            seam access-methods list --access_grant_id
            "9072ebcd-95f3-4e4b-8f2f-10053911533b"


            # [

            #   {

            #     "access_method_id": "a1b2c3d4-e5f6-4a3b-2c1d-0e9f8a7b6c5d",

            #     "created_at": "2025-06-16T16:54:17.946606Z",

            #     "display_name": "PIN Code Credential",

            #     "is_card_encoding_required": false,

            #     "mode": "code",

            #     "workspace_id": "661025d3-c1d2-403c-83a8-af153aaedfbc"

            #   },

            #   {

            #     "access_method_id": "5f4e3d2c-1b0a-9f8e-7d6c-5b4a3c2d1e0f",

            #     "created_at": "2025-06-16T16:54:19.946606Z",

            #     "display_name": "Card Credential",

            #     "is_card_encoding_required": true,

            #     "mode": "card",

            #     "workspace_id": "661025d3-c1d2-403c-83a8-af153aaedfbc"

            #   },

            #   {

            #     "access_method_id": "c7d8e9f0-1a2b-3c4d-5e6f-7a8b9c0d1e2f",

            #     "created_at": "2025-06-16T16:54:21.946606Z",

            #     "display_name": "Mobile Key Credential",

            #     "instant_key_url": "https://ik.seam.co/ABCXYZ",

            #     "is_card_encoding_required": false,

            #     "mode": "mobile_key",

            #     "workspace_id": "661025d3-c1d2-403c-83a8-af153aaedfbc"

            #   }

            # ]
components:
  schemas:
    access_method:
      description: >-
        Represents an access method for an Access Grant. Access methods describe
        the modes of access, such as PIN codes, plastic cards, and mobile keys.
        For a mobile key, the access method also stores the URL for the
        associated Instant Key. See the [access_method
        object](/api/access_methods/object).
      properties:
        access_method_id:
          description: ID of the access method.
          format: uuid
          type: string
        client_session_token:
          description: Token of the client session associated with the access method.
          type: string
        code:
          description: The actual PIN code for code access methods.
          nullable: true
          type: string
        created_at:
          description: Date and time at which the access method was created.
          format: date-time
          type: string
        customization_profile_id:
          description: ID of the customization profile associated with the access method.
          format: uuid
          type: string
        display_name:
          description: Display name of the access method.
          type: string
        display_status:
          description: >-
            Human-readable sentence describing where the access method sits in
            its relationship with the device or access system, for example
            `Awaiting encoding`. For display only. The wording is not stable and
            is not an enumeration — it may change at any time, so never compare
            against or branch on it. To make decisions, read `is_issued`,
            `errors`, and `pending_mutations`.
          type: string
        errors:
          description: >-
            Errors associated with the [access
            method](/use-cases/granting-access/creating-an-access-grant).
          items:
            description: >-
              Error associated with the [access
              method](/use-cases/granting-access/creating-an-access-grant).
            discriminator:
              propertyName: error_code
            oneOf:
              - description: >-
                  Indicates that Seam was unable to issue this [access
                  method](/use-cases/granting-access/creating-an-access-grant)
                  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 this error clears
                  automatically if the access method is eventually issued.
                properties:
                  created_at:
                    description: Date and time at which Seam created the error.
                    format: date-time
                    type: string
                  error_code:
                    description: >-
                      Unique identifier of the type of error. Enables quick
                      recognition and categorization of the issue.
                    enum:
                      - failed_to_issue
                    type: string
                  message:
                    description: >-
                      Detailed description of the error. Provides insights into
                      the issue and potentially how to rectify it.
                    type: string
                required:
                  - created_at
                  - message
                  - error_code
                type: object
                x-resource-type: access_method
          type: array
        instant_key_url:
          description: URL of the Instant Key for mobile key access methods.
          format: uri
          type: string
        is_assignment_required:
          description: >-
            Indicates whether an existing card credential must be assigned to
            this access method before it can be issued. Only applies to
            card-mode access methods on systems that support credential
            assignment.
          type: boolean
        is_encoding_required:
          description: >-
            Indicates whether encoding with an card encoder is required to issue
            or reissue the plastic card associated with the access method.
          type: boolean
        is_issued:
          description: Indicates whether the access method has been issued.
          type: boolean
        is_ready_for_assignment:
          description: >-
            Indicates whether the access method is ready for card assignment.
            This is true when the access method is in card mode, has not yet
            been issued, and the system supports credential assignment.
          type: boolean
        is_ready_for_encoding:
          description: >-
            Indicates whether the access method is ready to be encoded. This is
            true when the credential has been created and the card has not yet
            been issued.
          type: boolean
        issued_at:
          description: Date and time at which the access method was issued.
          format: date-time
          nullable: true
          type: string
        mode:
          description: >-
            Access method mode. Supported values: `code`, `card`, `mobile_key`,
            `cloud_key`.
          enum:
            - code
            - card
            - mobile_key
            - cloud_key
          type: string
        pending_mutations:
          description: >-
            Pending mutations for the [access
            method](/use-cases/granting-access/creating-an-access-grant).
            Indicates operations that are in progress.
          items:
            discriminator:
              propertyName: mutation_code
            oneOf:
              - description: >-
                  Seam is in the process of provisioning access for this access
                  method on new devices.
                properties:
                  created_at:
                    description: Date and time at which the mutation was created.
                    format: date-time
                    type: string
                  from:
                    description: Previous device configuration.
                    properties:
                      device_ids:
                        description: Previous device IDs where access was provisioned.
                        items:
                          format: uuid
                          type: string
                        type: array
                    required:
                      - device_ids
                    type: object
                  message:
                    description: Detailed description of the mutation.
                    type: string
                  mutation_code:
                    description: >-
                      Mutation code to indicate that Seam is in the process of
                      provisioning access for this access method on new devices.
                    enum:
                      - provisioning_access
                    type: string
                  to:
                    description: New device configuration.
                    properties:
                      device_ids:
                        description: New device IDs where access is being provisioned.
                        items:
                          format: uuid
                          type: string
                        type: array
                    required:
                      - device_ids
                    type: object
                required:
                  - created_at
                  - message
                  - mutation_code
                  - from
                  - to
                type: object
              - description: >-
                  Seam is in the process of revoking access for this access
                  method from devices.
                properties:
                  created_at:
                    description: Date and time at which the mutation was created.
                    format: date-time
                    type: string
                  from:
                    description: Previous device configuration.
                    properties:
                      device_ids:
                        description: Previous device IDs where access existed.
                        items:
                          format: uuid
                          type: string
                        type: array
                    required:
                      - device_ids
                    type: object
                  message:
                    description: Detailed description of the mutation.
                    type: string
                  mutation_code:
                    description: >-
                      Mutation code to indicate that Seam is in the process of
                      revoking access for this access method from devices.
                    enum:
                      - revoking_access
                    type: string
                  to:
                    description: New device configuration.
                    properties:
                      device_ids:
                        description: New device IDs where access should remain.
                        items:
                          format: uuid
                          type: string
                        type: array
                    required:
                      - device_ids
                    type: object
                required:
                  - created_at
                  - message
                  - mutation_code
                  - from
                  - to
                type: object
              - description: >-
                  Seam is in the process of updating the access times for this
                  access method.
                properties:
                  created_at:
                    description: Date and time at which the mutation was created.
                    format: date-time
                    type: string
                  from:
                    description: Previous access time configuration.
                    properties:
                      ends_at:
                        description: Previous end time for access.
                        format: date-time
                        nullable: true
                        type: string
                      starts_at:
                        description: Previous start time for access.
                        format: date-time
                        nullable: true
                        type: string
                    required:
                      - starts_at
                      - ends_at
                    type: object
                  message:
                    description: Detailed description of the mutation.
                    type: string
                  mutation_code:
                    description: >-
                      Mutation code to indicate that Seam is in the process of
                      updating the access times for this access method.
                    enum:
                      - updating_access_times
                    type: string
                  to:
                    description: New access time configuration.
                    properties:
                      ends_at:
                        description: New end time for access.
                        format: date-time
                        nullable: true
                        type: string
                      starts_at:
                        description: New start time for access.
                        format: date-time
                        nullable: true
                        type: string
                    required:
                      - starts_at
                      - ends_at
                    type: object
                required:
                  - created_at
                  - message
                  - mutation_code
                  - from
                  - to
                type: object
          type: array
        warnings:
          type: array
          description: >-
            Warnings associated with the [access
            method](/use-cases/granting-access/creating-an-access-grant).
          items:
            type: object
            properties:
              error_code:
                type: string
                description: Error or warning code.
              message:
                type: string
                description: Human-readable description.
              created_at:
                type: string
                format: date-time
                description: When this error or warning was generated.
        workspace_id:
          description: ID of the Seam workspace associated with the access method.
          format: uuid
          type: string
      required:
        - workspace_id
        - access_method_id
        - display_name
        - mode
        - created_at
        - issued_at
        - is_issued
        - display_status
        - warnings
        - errors
        - pending_mutations
      type: object
      x-route-path: /access_methods
    pagination:
      description: Information about the current page of results.
      properties:
        has_next_page:
          description: Indicates whether there is another page of results after this one.
          type: boolean
        next_page_cursor:
          description: >-
            Opaque value that can be used to select the next page of results via
            the `page_cursor` parameter.
          nullable: true
          type: string
        next_page_url:
          description: URL to get the next page of results.
          format: uri
          nullable: true
          type: string
      required:
        - next_page_cursor
        - has_next_page
        - next_page_url
      type: object
  securitySchemes:
    pat_with_workspace:
      bearerFormat: API Token
      scheme: bearer
      type: http
    console_session_with_workspace:
      bearerFormat: Console Session Token
      scheme: bearer
      type: http
    api_key:
      bearerFormat: API Key
      scheme: bearer
      type: http
    client_session_with_customer:
      bearerFormat: Customer Client Session Token
      scheme: bearer
      type: http
    client_session_with_customer_ro:
      bearerFormat: Customer Client Session Token (Read-Only)
      scheme: bearer
      type: http
    support_read_only_token:
      bearerFormat: Support Read-Only Token
      scheme: bearer
      type: http

````