# Encoders

## The acs\_encoder Object

* [Properties](#properties)
* [Errors](#errors)
* [Warnings](#warnings)
* [Events](#events)
* [Endpoints](#endpoints)

Represents a hardware device that encodes [credential](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/capability-guides/access-systems/managing-credentials) data onto physical cards within an [access control system](https://docs.seam.co/latest/capability-guides/access-systems).

Some access control systems require credentials to be encoded onto plastic key cards using a card encoder. This process involves the following two key steps:

1. Credential creation\
   Configure the access parameters for the credential.
2. Card encoding\
   Write the credential data onto the card using a compatible card encoder.

Separately, the Seam API also supports card scanning, which enables you to scan and read the encoded data on a card. You can use this action to confirm consistency with access control system records or diagnose discrepancies if needed.

See [Working with Card Encoders and Scanners](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/capability-guides/access-systems/working-with-card-encoders-and-scanners).

To verify if your access control system requires a card encoder, see the corresponding [system integration guide](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/device-and-system-integration-guides/overview#access-control-systems).

{% tabs %}
{% tab title="JSON" %}

```json
{
  acs_encoder_id: [example value],
  acs_system_id: [example value],
  created_at: [example value],
  display_name: [example value],
  errors: [example value],
  workspace_id: [example value]
}
```

{% endtab %}
{% endtabs %}

***

## Properties

**`acs_encoder_id`** *UUID*

ID of the \[encoder]\(<https://docs.seam.co/latest/capability-guides/access-systems/working-with-card-encoders-and-scanners>.

***

**`acs_system_id`** *UUID*

ID of the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) that contains the [encoder](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/capability-guides/access-systems/working-with-card-encoders-and-scanners).

***

**`created_at`** *Datetime*

Date and time at which the [encoder](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/capability-guides/access-systems/working-with-card-encoders-and-scanners) was created.

***

**`display_name`** *String*

Display name for the [encoder](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/capability-guides/access-systems/working-with-card-encoders-and-scanners).

***

**`errors`** *List* *of Objects*

Errors associated with the [encoder](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/capability-guides/access-systems/working-with-card-encoders-and-scanners).

<details>

<summary>Child Object Properties</summary>

**`created_at`** *Datetime*

```
Date and time at which Seam created the error.
```

**`error_code`** *Enum*

```
Unique identifier of the type of error. Enables quick recognition and categorization of the issue.
```

**`message`** *String*

```
Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
```

</details>

***

**`workspace_id`** *UUID*

ID of the [workspace](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/core-concepts/workspaces) that contains the [encoder](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/capability-guides/access-systems/working-with-card-encoders-and-scanners).

***

## Events

**`acs_encoder.added`**

An [ACS encoder](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/capability-guides/access-systems/working-with-card-encoders-and-scanners) was added.

<details>

<summary>Properties</summary>

**`acs_encoder_id`** *UUID*

ID of the affected encoder.

**`acs_system_id`** *UUID*

ID of the access system.

**`connected_account_id`** *UUID*

ID of the connected account.

**`created_at`** *Datetime*

Date and time at which the event was created.

**`event_id`** *UUID*

ID of the event.

**`event_type`** *Enum*

Value: `acs_encoder.added`

**`occurred_at`** *Datetime*

Date and time at which the event occurred.

**`workspace_id`** *UUID*

ID of the workspace associated with the event.

</details>

***

**`acs_encoder.removed`**

An [ACS encoder](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/capability-guides/access-systems/working-with-card-encoders-and-scanners) was removed.

<details>

<summary>Properties</summary>

**`acs_encoder_id`** *UUID*

ID of the affected encoder.

**`acs_system_id`** *UUID*

ID of the access system.

**`connected_account_id`** *UUID*

ID of the connected account.

**`created_at`** *Datetime*

Date and time at which the event was created.

**`event_id`** *UUID*

ID of the event.

**`event_type`** *Enum*

Value: `acs_encoder.removed`

**`occurred_at`** *Datetime*

Date and time at which the event occurred.

**`workspace_id`** *UUID*

ID of the workspace associated with the event.

</details>

***

## Endpoints

[**`/acs/encoders/encode_access_method`**](https://github.com/seamapi/docs/blob/main/docs/api/acs/encoders/encode_access_method.md)

Encodes an existing access method onto a plastic card placed on the specified [encoder](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/capability-guides/access-systems/working-with-card-encoders-and-scanners).

[**`/acs/encoders/encode_credential`**](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/api/acs/encoders/encode_credential)

Encodes an existing [credential](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/capability-guides/access-systems/managing-credentials) onto a plastic card placed on the specified [encoder](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/capability-guides/access-systems/working-with-card-encoders-and-scanners).

[**`/acs/encoders/get`**](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/api/acs/encoders/get)

Returns a specified [encoder](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/capability-guides/access-systems/working-with-card-encoders-and-scanners).

[**`/acs/encoders/list`**](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/api/acs/encoders/list)

Returns a list of all [encoders](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/capability-guides/access-systems/working-with-card-encoders-and-scanners).

[**`/acs/encoders/scan_credential`**](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/api/acs/encoders/scan_credential)

Scans an encoded [acs\_credential](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/capability-guides/access-systems/managing-credentials) from a plastic card placed on the specified [encoder](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/capability-guides/access-systems/working-with-card-encoders-and-scanners).
