# Admin: Transfer Config
## Endpoint
`/api/admin/cluster/primary/transferConfig`
## Method
GET
## Description
Used by Secondary nodes to sync the complete configuration data from the Primary node. This call can only be made at the Primary node.
## Authentication
Required. Token must be provided via the `token` parameter.
## Permissions
Administration: Delete
## Parameters
| `token` | string | Yes | No | The session token generated by the `login` or the `createToken` call. |
| `includeZones` | string | No | No | A comma-separated list of domain names of zones that should be included to transfer DNSSEC private keys. |
## Request Headers
| `If-Modified-Since` | No | The datetime stamp of the last config transfer, to allow transferring only changes made after the specified date. Uses standard HTTP `If-Modified-Since` header format. |
## Response
This endpoint does NOT return JSON. Instead it returns:
- **Content-Type**: `application/zip`
- **Content-Disposition**: `attachment`
- **Body**: A zip file containing the configuration data.
## Conditional Logic Notes
- This call can only be made at the Primary node.
- When `If-Modified-Since` is provided, the response may contain only incremental changes since that timestamp.
- The `includeZones` parameter controls which zones' DNSSEC private keys are included in the transfer.
- Typically invoked programmatically by Secondary nodes during config sync, not by end users.
## Edge Cases
- The response is a binary zip file, not JSON. Callers must handle the binary response appropriately.
- Without `If-Modified-Since`, the full configuration is transferred, which may be large.
- DNSSEC private keys are only included for zones explicitly listed in `includeZones`.