> ## Documentation Index
> Fetch the complete documentation index at: https://docs.osis.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Lock a dedicated line

> POST /api/v1/comms/lines/{e164}/lock — irreversibly lock a dedicated line for one port attempt.

Irreversibly locks a dedicated line owned by your org so it can receive exactly one number-port attempt.

<Warning>
  **Access required.** Request permission to use the Line Port API before calling this endpoint. This is not unrestricted self-serve porting.
</Warning>

**Scope:** `comms_lines_write`

## Request

```bash theme={null}
curl -X POST "https://osis.co/api/v1/comms/lines/%2B16285551212/lock" \
  -H "Authorization: Bearer $COMMS_API_KEY"
```

### Path parameters

<ParamField path="e164" type="string" required>
  Dedicated line E.164 to lock (URL-encoded, e.g. `%2B16285551212`). Must be owned by your org in dedicated mode. Shared lines are rejected.
</ParamField>

## Response

### 201 Created

```json theme={null}
{
  "port": {
    "id": "lport_…",
    "org_id": "comms_usr_…",
    "locked_e164": "+16285551212",
    "target_e164": null,
    "status": "number_locked",
    "error_code": null,
    "error_message": null,
    "submitted_at": null,
    "foc_at": null,
    "completed_at": null,
    "created_at": "2026-08-12T14:00:00.000Z",
    "updated_at": "2026-08-12T14:00:00.000Z"
  }
}
```

### Errors

| Status | Meaning                                      |
| ------ | -------------------------------------------- |
| `400`  | Not dedicated, shared line, or invalid E.164 |
| `404`  | Line not found for your org                  |
| `409`  | Already locked                               |
| `429`  | Rate limited (5 / 15 minutes per org+line)   |
