> For the complete documentation index, see [llms.txt](https://help.security.gallagher.com/knowledge-hub/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.security.gallagher.com/knowledge-hub/products/integrations/third-party-readers/salto/salto-troubleshooting/salto-unable-to-add-more-salto-doors-to-a-cardholder-or-access-group.md).

# Cannot add more Salto doors to a cardholder or access group

Resolve Salto card door limits and native-mode resync failures for access groups and deleted doors.

## The per-card limit

The error *"too many salto doors applied to this cardholder"* appears because access lives **on the card**, which has limited space. A card can only hold so many doors: a **default 512-byte config caps at about 96 Salto doors or Zones** (this is not fixed). **Workaround:** use **Salto Zones** to group doors into one item. Command Centre **cannot** reliably warn before the limit, because checking would hurt performance.

## Resync failures

A Salto **Native (Mode 2)** resync aligns Command Centre to Salto Space exactly. **One object that cannot be processed stops the whole resync.** Always confirm the exact Command Centre version, because limits and error verbosity vary.

### Too many Salto doors on an Access Group (most common)

Exceeding the max access points per Access Group fails the resync (vEL9.40+): *"ShipError 4 - Max number of locks and zones exceeded"*.

![Event Properties: "SALTO Full Re-sync failed... ShipError 4 - Max number of locks and zones exceeded" for access group 601](https://328339335-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6bM8WhlBE9BYizPWJaPN%2Fuploads%2Fgit-blob-8abf8195c98de2f63aefd5d9309910e70f1b4318%2FSECHUB-SALTO-16-resync-failed-shiperror4.png?alt=media)

On **v9.20 MR3 / v9.30 MR1+**, the log names the **FT Item** (for example `601`). On older versions, manually find the Access Group with **more than 96 Salto doors**. **Fix:** in the Configuration Client, use the **Find Tool** with `[[<FTItemID>]` in the Description field, de-associate the Access Group from the Salto doors, then **create a Salto Zone** with those doors and add the Zone to the Access Group.

!\[Configuration Client Find dialog: Description "\[[601" to locate the door record by FTItemID](https://github.com/GGLSecDev/gitbook-spaces/tree/main/tech-support/products/.gitbook/assets/SECHUB-SALTO-17-find-tool-ftitemid.png)

A Zone groups access points into one item. It also saves key memory (about 230 bytes max) by storing one zone-entry permission instead of many individual ones.

### Salto Space licence causing resync failure (Native mode)

Sites should run the **SPAINT** licence Gallagher generates (a SPABASIC/SPAIDSYS licence must be changed to SPAINT). The log shows `SaltoCommunicator.cpp ... Unspecified error (80004005)`. **Features required for Salto Native mode:** SHIP, Partitions, Lockdown, Automatic Key Assignment, and Card Printing.

![Salto Space Features list: the required features (Alarm events, Antipassback, BLUEnet, Card printing, CU4200, DB synchronization, and so on) with Update License](https://328339335-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6bM8WhlBE9BYizPWJaPN%2Fuploads%2Fgit-blob-45c2fd9314eca9f6e580d9fd0b30b9fe101ee75a%2FSECHUB-SALTO-18-required-features-list.jpg?alt=media)

### Deleted door sync issue

When a door is deleted in one system and a resync is run, Command Centre may keep showing the old door and the resync fails with `C13A0052: This item cannot be deleted as it is assigned to an Access Group` (then `c13a001d The Salto Re-sync failed`, or the partial-success variant `c13a0050`). The `Write <n>` value in the log identifies the door's **FTItemID**. **Fix:** use the Find Tool by FTItemID, remove the Access Group's access to the Salto door(s), **Resync**, then verify (include deleted items).

***

🔗 **Related**

* [Salto connection and sync issues](/knowledge-hub/products/integrations/third-party-readers/salto/salto-troubleshooting/salto-connection-and-sync-issues.md). Set up the connection first.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://help.security.gallagher.com/knowledge-hub/products/integrations/third-party-readers/salto/salto-troubleshooting/salto-unable-to-add-more-salto-doors-to-a-cardholder-or-access-group.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
