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

# Scan a Credential

> Scans an encoded [acs_credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) from a plastic card placed on the specified [encoder](https://docs.seam.co/low-level-apis/access-systems/working-with-card-encoders-and-scanners).



## OpenAPI

````yaml /openapi.json post /acs/encoders/scan_credential
openapi: 3.0.0
info:
  title: Seam Connect
  version: 1.0.0
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:
  /acs/encoders/scan_credential:
    post:
      tags:
        - /acs
      summary: Scan a Credential
      description: >-
        Scans an encoded
        [acs_credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials)
        from a plastic card placed on the specified
        [encoder](https://docs.seam.co/low-level-apis/access-systems/working-with-card-encoders-and-scanners).
      operationId: acsEncodersScanCredentialPost
      requestBody:
        content:
          application/json:
            schema:
              properties:
                acs_encoder_id:
                  description: ID of the encoder to use for the scan.
                  format: uuid
                  type: string
                salto_ks_metadata:
                  description: Salto KS-specific metadata for the scan action.
                  properties:
                    detect_new_tags:
                      default: false
                      description: >-
                        When true, activates tag registration mode on the
                        encoder to detect new, unregistered tags. When false,
                        only detects existing tags already registered in the
                        system. Defaults to false.
                      type: boolean
                  type: object
              required:
                - acs_encoder_id
              type: object
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  action_attempt:
                    type: object
                    description: >-
                      Tracks the progress of this operation. Poll using the
                      action_attempt_id.
                    properties:
                      action_attempt_id:
                        type: string
                        format: uuid
                        description: ID of the action attempt.
                      action_type:
                        type: string
                        enum:
                          - SCAN_CREDENTIAL
                        description: Type of action being tracked.
                      status:
                        type: string
                        enum:
                          - pending
                          - success
                          - error
                        description: Current status of the action.
                      result:
                        type: object
                        nullable: true
                        description: Result payload on success.
                      error:
                        type: object
                        nullable: true
                        description: Error details on failure.
                        properties:
                          type:
                            type: string
                          message:
                            type: string
                    required:
                      - action_attempt_id
                      - action_type
                      - status
                  ok:
                    type: boolean
                required:
                  - action_attempt
                  - ok
                type: object
          description: OK
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
      security:
        - pat_with_workspace: []
        - console_session_with_workspace: []
        - api_key: []
      x-codeSamples:
        - lang: javascript
          label: Seam SDK
          source: |-
            await seam.acs.encoders.scanCredential({
              acs_encoder_id: "b062df92-91c6-482c-a3f9-6e578f062d36",
            });

            /*
            {
              "action_attempt_id": "123e4567-e89b-12d3-a456-426614174000",
              "action_type": "SCAN_CREDENTIAL",
              "error": null,
              "result": {
                "acs_credential_on_encoder": {
                  "card_number": "164d29dc4a09b65f",
                  "created_at": "2025-06-16T16:54:17.946514Z",
                  "ends_at": "2025-07-13T16:54:17.946512Z",
                  "is_issued": true,
                  "starts_at": "2025-07-10T16:54:17.946512Z",
                  "visionline_metadata": {
                    "cancelled": false,
                    "card_format": "guest",
                    "card_holder": "Guest",
                    "card_id": "5",
                    "common_acs_entrance_ids": [
                      "5f4e3d2c-1b0a-9f8e-7d6c-5b4a3c2d1e0f"
                    ],
                    "discarded": false,
                    "expired": false,
                    "guest_acs_entrance_ids": [
                      "a1b2c3d4-e5f6-4a3b-2c1d-0e9f8a7b6c5d"
                    ],
                    "number_of_issued_cards": 1,
                    "overridden": false,
                    "overwritten": false,
                    "pending_auto_update": false
                  }
                },
                "acs_credential_on_seam": {
                  "access_method": "card",
                  "acs_credential_id": "73a0a199-024f-454d-a916-9bbda8502c12",
                  "acs_system_id": "b1d03165-2759-474b-a342-e02223f27b39",
                  "acs_user_id": "0fc82df4-391b-4d00-a234-86378f1c3952",
                  "card_number": "164d29dc4a09b65f",
                  "created_at": "2025-06-16T16:54:17.946514Z",
                  "display_name": "Guest Lock 1, Vingcard Lock 2",
                  "ends_at": "2025-07-12T16:54:17.946512Z",
                  "errors": [],
                  "external_type": "visionline_card",
                  "external_type_display_name": "Visionline Card",
                  "is_issued": true,
                  "is_latest_desired_state_synced_with_provider": true,
                  "is_managed": true,
                  "is_multi_phone_sync_credential": false,
                  "issued_at": "2025-06-16T16:54:17.946512Z",
                  "latest_desired_state_synced_with_provider_at": "2025-06-18T16:54:17.946514Z",
                  "starts_at": "2025-07-10T16:54:17.946512Z",
                  "visionline_metadata": {
                    "card_function_type": "guest",
                    "card_id": "5",
                    "common_acs_entrance_ids": [
                      "5f4e3d2c-1b0a-9f8e-7d6c-5b4a3c2d1e0f"
                    ],
                    "credential_id": "15",
                    "guest_acs_entrance_ids": [
                      "a1b2c3d4-e5f6-4a3b-2c1d-0e9f8a7b6c5d"
                    ],
                    "is_valid": true
                  },
                  "warnings": [],
                  "workspace_id": "005f1e54-5360-40db-8c31-4ef6baaad1fd"
                },
                "warnings": [
                  {
                    "warning_code": "acs_credential_on_encoder_out_of_sync",
                    "warning_message": "The following properties are out of sync between acs_credential_on_encoder and acs_credential_on_seam: ends_at"
                  }
                ]
              },
              "status": "success"
            }
            */
        - lang: bash
          label: cURL
          source: >-
            curl --include --request POST
            "https://connect.getseam.com/acs/encoders/scan_credential" \
              --header "Authorization: Bearer $SEAM_API_KEY" \
              --json @- <<EOF
            {
              "acs_encoder_id": "b062df92-91c6-482c-a3f9-6e578f062d36"
            }

            EOF


            # Response:

            # {

            #   "action_attempt": {

            #     "action_attempt_id": "123e4567-e89b-12d3-a456-426614174000",

            #     "action_type": "SCAN_CREDENTIAL",

            #     "error": null,

            #     "result": {

            #       "acs_credential_on_encoder": {

            #         "card_number": "164d29dc4a09b65f",

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

            #         "ends_at": "2025-07-13T16:54:17.946512Z",

            #         "is_issued": true,

            #         "starts_at": "2025-07-10T16:54:17.946512Z",

            #         "visionline_metadata": {

            #           "cancelled": false,

            #           "card_format": "guest",

            #           "card_holder": "Guest",

            #           "card_id": "5",

            #           "common_acs_entrance_ids": [

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

            #           ],

            #           "discarded": false,

            #           "expired": false,

            #           "guest_acs_entrance_ids": [

            #             "a1b2c3d4-e5f6-4a3b-2c1d-0e9f8a7b6c5d"

            #           ],

            #           "number_of_issued_cards": 1,

            #           "overridden": false,

            #           "overwritten": false,

            #           "pending_auto_update": false

            #         }

            #       },

            #       "acs_credential_on_seam": {

            #         "access_method": "card",

            #         "acs_credential_id":
            "73a0a199-024f-454d-a916-9bbda8502c12",

            #         "acs_system_id": "b1d03165-2759-474b-a342-e02223f27b39",

            #         "acs_user_id": "0fc82df4-391b-4d00-a234-86378f1c3952",

            #         "card_number": "164d29dc4a09b65f",

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

            #         "display_name": "Guest Lock 1, Vingcard Lock 2",

            #         "ends_at": "2025-07-12T16:54:17.946512Z",

            #         "errors": [],

            #         "external_type": "visionline_card",

            #         "external_type_display_name": "Visionline Card",

            #         "is_issued": true,

            #         "is_latest_desired_state_synced_with_provider": true,

            #         "is_managed": true,

            #         "is_multi_phone_sync_credential": false,

            #         "issued_at": "2025-06-16T16:54:17.946512Z",

            #         "latest_desired_state_synced_with_provider_at":
            "2025-06-18T16:54:17.946514Z",

            #         "starts_at": "2025-07-10T16:54:17.946512Z",

            #         "visionline_metadata": {

            #           "card_function_type": "guest",

            #           "card_id": "5",

            #           "common_acs_entrance_ids": [

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

            #           ],

            #           "credential_id": "15",

            #           "guest_acs_entrance_ids": [

            #             "a1b2c3d4-e5f6-4a3b-2c1d-0e9f8a7b6c5d"

            #           ],

            #           "is_valid": true

            #         },

            #         "warnings": [],

            #         "workspace_id": "005f1e54-5360-40db-8c31-4ef6baaad1fd"

            #       },

            #       "warnings": [

            #         {

            #           "warning_code": "acs_credential_on_encoder_out_of_sync",

            #           "warning_message": "The following properties are out of
            sync between acs_credential_on_encoder and acs_credential_on_seam:
            ends_at"

            #         }

            #       ]

            #     },

            #     "status": "success"

            #   }

            # }
        - lang: python
          label: Seam SDK
          source: >-
            seam.acs.encoders.scan_credential(acs_encoder_id="b062df92-91c6-482c-a3f9-6e578f062d36")


            # ActionAttempt(
                action_attempt_id="123e4567-e89b-12d3-a456-426614174000",
                action_type="SCAN_CREDENTIAL",
                error=None,
                result={
                    "acs_credential_on_encoder": {
                        "card_number": "164d29dc4a09b65f",
                        "created_at": "2025-06-16T16:54:17.946514Z",
                        "ends_at": "2025-07-13T16:54:17.946512Z",
                        "is_issued": true,
                        "starts_at": "2025-07-10T16:54:17.946512Z",
                        "visionline_metadata": {
                            "cancelled": false,
                            "card_format": "guest",
                            "card_holder": "Guest",
                            "card_id": "5",
                            "common_acs_entrance_ids": ["5f4e3d2c-1b0a-9f8e-7d6c-5b4a3c2d1e0f"],
                            "discarded": false,
                            "expired": false,
                            "guest_acs_entrance_ids": ["a1b2c3d4-e5f6-4a3b-2c1d-0e9f8a7b6c5d"],
                            "number_of_issued_cards": 1,
                            "overridden": false,
                            "overwritten": false,
                            "pending_auto_update": false,
                        },
                    },
                    "acs_credential_on_seam": {
                        "access_method": "card",
                        "acs_credential_id": "73a0a199-024f-454d-a916-9bbda8502c12",
                        "acs_system_id": "b1d03165-2759-474b-a342-e02223f27b39",
                        "acs_user_id": "0fc82df4-391b-4d00-a234-86378f1c3952",
                        "card_number": "164d29dc4a09b65f",
                        "created_at": "2025-06-16T16:54:17.946514Z",
                        "display_name": "Guest Lock 1, Vingcard Lock 2",
                        "ends_at": "2025-07-12T16:54:17.946512Z",
                        "errors": [],
                        "external_type": "visionline_card",
                        "external_type_display_name": "Visionline Card",
                        "is_issued": true,
                        "is_latest_desired_state_synced_with_provider": true,
                        "is_managed": true,
                        "is_multi_phone_sync_credential": false,
                        "issued_at": "2025-06-16T16:54:17.946512Z",
                        "latest_desired_state_synced_with_provider_at": "2025-06-18T16:54:17.946514Z",
                        "starts_at": "2025-07-10T16:54:17.946512Z",
                        "visionline_metadata": {
                            "card_function_type": "guest",
                            "card_id": "5",
                            "common_acs_entrance_ids": ["5f4e3d2c-1b0a-9f8e-7d6c-5b4a3c2d1e0f"],
                            "credential_id": "15",
                            "guest_acs_entrance_ids": ["a1b2c3d4-e5f6-4a3b-2c1d-0e9f8a7b6c5d"],
                            "is_valid": true,
                        },
                        "warnings": [],
                        "workspace_id": "005f1e54-5360-40db-8c31-4ef6baaad1fd",
                    },
                    "warnings": [
                        {
                            "warning_code": "acs_credential_on_encoder_out_of_sync",
                            "warning_message": "The following properties are out of sync between acs_credential_on_encoder and acs_credential_on_seam: ends_at",
                        }
                    ],
                },
                status="success",
            )
        - lang: ruby
          label: Seam SDK
          source: >-
            seam.acs.encoders.scan_credential(acs_encoder_id:
            "b062df92-91c6-482c-a3f9-6e578f062d36")


            # => {
              "action_attempt_id" => "123e4567-e89b-12d3-a456-426614174000",
              "action_type" => "SCAN_CREDENTIAL",
              "error" => nil,
              "result" => {
                acs_credential_on_encoder: {
                  card_number: "164d29dc4a09b65f",
                  created_at: "2025-06-16T16:54:17.946514Z",
                  ends_at: "2025-07-13T16:54:17.946512Z",
                  is_issued: true,
                  starts_at: "2025-07-10T16:54:17.946512Z",
                  visionline_metadata: {
                    cancelled: false,
                    card_format: "guest",
                    card_holder: "Guest",
                    card_id: "5",
                    common_acs_entrance_ids: ["5f4e3d2c-1b0a-9f8e-7d6c-5b4a3c2d1e0f"],
                    discarded: false,
                    expired: false,
                    guest_acs_entrance_ids: ["a1b2c3d4-e5f6-4a3b-2c1d-0e9f8a7b6c5d"],
                    number_of_issued_cards: 1,
                    overridden: false,
                    overwritten: false,
                    pending_auto_update: false,
                  },
                },
                acs_credential_on_seam: {
                  access_method: "card",
                  acs_credential_id: "73a0a199-024f-454d-a916-9bbda8502c12",
                  acs_system_id: "b1d03165-2759-474b-a342-e02223f27b39",
                  acs_user_id: "0fc82df4-391b-4d00-a234-86378f1c3952",
                  card_number: "164d29dc4a09b65f",
                  created_at: "2025-06-16T16:54:17.946514Z",
                  display_name: "Guest Lock 1, Vingcard Lock 2",
                  ends_at: "2025-07-12T16:54:17.946512Z",
                  errors: [],
                  external_type: "visionline_card",
                  external_type_display_name: "Visionline Card",
                  is_issued: true,
                  is_latest_desired_state_synced_with_provider: true,
                  is_managed: true,
                  is_multi_phone_sync_credential: false,
                  issued_at: "2025-06-16T16:54:17.946512Z",
                  latest_desired_state_synced_with_provider_at: "2025-06-18T16:54:17.946514Z",
                  starts_at: "2025-07-10T16:54:17.946512Z",
                  visionline_metadata: {
                    card_function_type: "guest",
                    card_id: "5",
                    common_acs_entrance_ids: ["5f4e3d2c-1b0a-9f8e-7d6c-5b4a3c2d1e0f"],
                    credential_id: "15",
                    guest_acs_entrance_ids: ["a1b2c3d4-e5f6-4a3b-2c1d-0e9f8a7b6c5d"],
                    is_valid: true,
                  },
                  warnings: [],
                  workspace_id: "005f1e54-5360-40db-8c31-4ef6baaad1fd",
                },
                warnings: [
                  {
                    warning_code: "acs_credential_on_encoder_out_of_sync",
                    warning_message:
                      "The following properties are out of sync between acs_credential_on_encoder and acs_credential_on_seam: ends_at",
                  },
                ],
              },
              "status" => "success",
            }
        - lang: php
          label: Seam SDK
          source: |-
            $seam->acs->encoders->scan_credential(
                acs_encoder_id: "b062df92-91c6-482c-a3f9-6e578f062d36",
            );

            // [
                "action_attempt_id" => "123e4567-e89b-12d3-a456-426614174000",
                "action_type" => "SCAN_CREDENTIAL",
                "error" => null,
                "result" => [
                    "acs_credential_on_encoder" => [
                        "card_number" => "164d29dc4a09b65f",
                        "created_at" => "2025-06-16T16:54:17.946514Z",
                        "ends_at" => "2025-07-13T16:54:17.946512Z",
                        "is_issued" => true,
                        "starts_at" => "2025-07-10T16:54:17.946512Z",
                        "visionline_metadata" => [
                            "cancelled" => false,
                            "card_format" => "guest",
                            "card_holder" => "Guest",
                            "card_id" => "5",
                            "common_acs_entrance_ids" => [
                                "5f4e3d2c-1b0a-9f8e-7d6c-5b4a3c2d1e0f",
                            ],
                            "discarded" => false,
                            "expired" => false,
                            "guest_acs_entrance_ids" => [
                                "a1b2c3d4-e5f6-4a3b-2c1d-0e9f8a7b6c5d",
                            ],
                            "number_of_issued_cards" => 1,
                            "overridden" => false,
                            "overwritten" => false,
                            "pending_auto_update" => false,
                        ],
                    ],
                    "acs_credential_on_seam" => [
                        "access_method" => "card",
                        "acs_credential_id" => "73a0a199-024f-454d-a916-9bbda8502c12",
                        "acs_system_id" => "b1d03165-2759-474b-a342-e02223f27b39",
                        "acs_user_id" => "0fc82df4-391b-4d00-a234-86378f1c3952",
                        "card_number" => "164d29dc4a09b65f",
                        "created_at" => "2025-06-16T16:54:17.946514Z",
                        "display_name" => "Guest Lock 1, Vingcard Lock 2",
                        "ends_at" => "2025-07-12T16:54:17.946512Z",
                        "errors" => [],
                        "external_type" => "visionline_card",
                        "external_type_display_name" => "Visionline Card",
                        "is_issued" => true,
                        "is_latest_desired_state_synced_with_provider" => true,
                        "is_managed" => true,
                        "is_multi_phone_sync_credential" => false,
                        "issued_at" => "2025-06-16T16:54:17.946512Z",
                        "latest_desired_state_synced_with_provider_at" =>
                            "2025-06-18T16:54:17.946514Z",
                        "starts_at" => "2025-07-10T16:54:17.946512Z",
                        "visionline_metadata" => [
                            "card_function_type" => "guest",
                            "card_id" => "5",
                            "common_acs_entrance_ids" => [
                                "5f4e3d2c-1b0a-9f8e-7d6c-5b4a3c2d1e0f",
                            ],
                            "credential_id" => "15",
                            "guest_acs_entrance_ids" => [
                                "a1b2c3d4-e5f6-4a3b-2c1d-0e9f8a7b6c5d",
                            ],
                            "is_valid" => true,
                        ],
                        "warnings" => [],
                        "workspace_id" => "005f1e54-5360-40db-8c31-4ef6baaad1fd",
                    ],
                    "warnings" => [
                        [
                            "warning_code" => "acs_credential_on_encoder_out_of_sync",
                            "warning_message" =>
                                "The following properties are out of sync between acs_credential_on_encoder and acs_credential_on_seam: ends_at",
                        ],
                    ],
                ],
                "status" => "success",
            ];
        - lang: bash
          label: Seam CLI
          source: >-
            seam acs encoders scan-credential --acs_encoder_id
            "b062df92-91c6-482c-a3f9-6e578f062d36"


            # {

            #   "action_attempt_id": "123e4567-e89b-12d3-a456-426614174000",

            #   "action_type": "SCAN_CREDENTIAL",

            #   "error": null,

            #   "result": {

            #     "acs_credential_on_encoder": {

            #       "card_number": "164d29dc4a09b65f",

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

            #       "ends_at": "2025-07-13T16:54:17.946512Z",

            #       "is_issued": true,

            #       "starts_at": "2025-07-10T16:54:17.946512Z",

            #       "visionline_metadata": {

            #         "cancelled": false,

            #         "card_format": "guest",

            #         "card_holder": "Guest",

            #         "card_id": "5",

            #         "common_acs_entrance_ids": [

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

            #         ],

            #         "discarded": false,

            #         "expired": false,

            #         "guest_acs_entrance_ids": [

            #           "a1b2c3d4-e5f6-4a3b-2c1d-0e9f8a7b6c5d"

            #         ],

            #         "number_of_issued_cards": 1,

            #         "overridden": false,

            #         "overwritten": false,

            #         "pending_auto_update": false

            #       }

            #     },

            #     "acs_credential_on_seam": {

            #       "access_method": "card",

            #       "acs_credential_id": "73a0a199-024f-454d-a916-9bbda8502c12",

            #       "acs_system_id": "b1d03165-2759-474b-a342-e02223f27b39",

            #       "acs_user_id": "0fc82df4-391b-4d00-a234-86378f1c3952",

            #       "card_number": "164d29dc4a09b65f",

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

            #       "display_name": "Guest Lock 1, Vingcard Lock 2",

            #       "ends_at": "2025-07-12T16:54:17.946512Z",

            #       "errors": [],

            #       "external_type": "visionline_card",

            #       "external_type_display_name": "Visionline Card",

            #       "is_issued": true,

            #       "is_latest_desired_state_synced_with_provider": true,

            #       "is_managed": true,

            #       "is_multi_phone_sync_credential": false,

            #       "issued_at": "2025-06-16T16:54:17.946512Z",

            #       "latest_desired_state_synced_with_provider_at":
            "2025-06-18T16:54:17.946514Z",

            #       "starts_at": "2025-07-10T16:54:17.946512Z",

            #       "visionline_metadata": {

            #         "card_function_type": "guest",

            #         "card_id": "5",

            #         "common_acs_entrance_ids": [

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

            #         ],

            #         "credential_id": "15",

            #         "guest_acs_entrance_ids": [

            #           "a1b2c3d4-e5f6-4a3b-2c1d-0e9f8a7b6c5d"

            #         ],

            #         "is_valid": true

            #       },

            #       "warnings": [],

            #       "workspace_id": "005f1e54-5360-40db-8c31-4ef6baaad1fd"

            #     },

            #     "warnings": [

            #       {

            #         "warning_code": "acs_credential_on_encoder_out_of_sync",

            #         "warning_message": "The following properties are out of
            sync between acs_credential_on_encoder and acs_credential_on_seam:
            ends_at"

            #       }

            #     ]

            #   },

            #   "status": "success"

            # }
components:
  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

````