# Transfer without moving history; organization administrators are restricted to their current organization (/docs/api-reference/machines/MachinesController_transfer)

`POST /api/factories/{factoryId}/machines/{id}/transfer`

Base URL: https://api.xentr.ai

Authentication: bearer token (`Authorization: Bearer <token>`).

## Parameters

| Name | In | Required | Type | Description |
| --- | --- | --- | --- | --- |
| `factoryId` | path | yes | string | Source factory slug |
| `id` | path | yes | string | Source machine UUID or code |

## Request body

Required.

Content type: `application/json`

```json
{
  "type": "object",
  "properties": {
    "destinationFactoryId": {
      "type": "string",
      "description": "Destination factory slug (plant), within an accessible organization"
    },
    "destinationCode": {
      "type": "string",
      "description": "Fresh destination code, different from the source; rejects registered codes, operational history, and existing destination telemetry",
      "minLength": 1,
      "maxLength": 100
    },
    "requestId": {
      "type": "string",
      "description": "Client-generated request UUID retained across retries; destination identity is generated by the server"
    },
    "reason": {
      "type": "string",
      "description": "Reason for retiring the source registration and registering a new destination machine",
      "minLength": 1,
      "maxLength": 1000
    }
  },
  "required": [
    "destinationFactoryId",
    "destinationCode",
    "requestId",
    "reason"
  ]
}
```

## Responses

### 201: New destination machine registration; exact request replays return the same registration

### 409: Active work, existing destination history, or conflicting transfer