---
title: "Scan a Credential"
method: POST
path: "/acs/encoders/scan_credential"
tags: ["/acs"]
---

# Scan a Credential

`POST /acs/encoders/scan_credential`

## Request

- Base URL: `https://connect.getseam.com`
- URL: `https://connect.getseam.com/acs/encoders/scan_credential`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer
  - HTTP bearer
- TypeScript: <https://skmtc.dev/seam/apis/seam-connect/docs/acs/encoders/scan_credential/post.ts> (a function with typed inputs; its response is checked against the schema)

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

## Request body

- object
  - `acs_encoder_id` string, uuid, required: ID of the encoder to use for the scan.
  - `salto_ks_metadata` object: Salto KS-specific metadata for the scan action.
    - `detect_new_tags` boolean: 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.

## Response `200`

OK

- object
  - `action_attempt` object, required: Tracks the progress of this operation. Poll using the action_attempt_id. See the [action_attempt object](/api/action_attempts/object).
    - `action_attempt_id` string, uuid, required: ID of the action attempt.
    - `action_type` 'SCAN_CREDENTIAL', required: Type of action being tracked.
    - `status` 'pending' | 'success' | 'error', required: Current status of the action.
    - `result` object, nullable: Result payload on success.
    - `error` object, nullable: Error details on failure.
      - `type` string
      - `message` string

## Other responses

- `400`: Bad Request
- `401`: Unauthorized

---

[API](https://skmtc.dev/seam/apis/seam-connect.md) - [All operations](https://skmtc.dev/seam/apis/seam-connect/llms.txt) - [OpenAPI document](https://skmtc.dev/seam/apis/seam-connect/revisions/00c35395ce12?raw)
