# Pause or resume recording for a card payment

`POST https://api.morevoice.ai/v1/calls/{id}/pci`

PCI DSS scope reduction: while paused the call is neither recorded nor transcribed, live listeners hear silence and keypad digits are logged masked; with DTMF masking on, keypad tones are removed for everyone except the payment line. Pausing a paused call (or resuming a running one) is a 409. Needs the organisation's PCI mode.

Authenticate with a secret API key: `Authorization: Bearer $MOREVOICE_API_KEY`.

Operation ID: `calls_pci`.

## Parameters

### Path parameters

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | `string` | yes | A call ID (`call_…`). |

### Headers

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `MoreVoice-Version` | `string` | no | The API version to use for this request. Defaults to the version the API key is pinned to. |
| `Idempotency-Key` | `string` | no | A unique key (for example a UUID) that makes this request safe to retry: for 24 hours, a retry with the same key and parameters returns the first response instead of acting twice. |

## Request body

Required, `application/json`.

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `action` | `"pause" \| "resume"` | yes | pause: stop recording and transcription for a card payment; resume: start them again. |
| `destination_participant_id` | `string` | no | Human-handled calls: the participant (a payment IVR or keypad-capture line you added) that receives the caller's keys. |
| `max_seconds` | `integer` | no | Resume by itself after this long (capped by the organisation's maximum, which is also the default). |
| `reason` | `string` | no | Shown in the call log (default `payment`). |

Example:

```json
{
  "action": "pause",
  "max_seconds": 180,
  "reason": "payment"
}
```

## Responses

### 200 OK

OK Returns `CallPci`.

| Field | Type | Description |
| --- | --- | --- |
| `object` | `"call_pci"` | — |
| `call_id` | `string` | A call ID (prefix `call_`). |
| `paused` | `boolean` | Recording and transcription are paused for a payment. |
| `reason` | `string \| null` | Why (e.g. `payment`), while paused. |
| `paused_at` | `string \| null` | — |
| `resumes_at` | `string \| null` | When the pause ends by itself unless resumed earlier. |
| `destination_participant_id` | `string \| null` | The participant the pause named as the payment line, if any (otherwise a participant on one of the organisation's payment numbers). |

Example:

```json
{
  "call_id": "call_2fT0a8Kq1Lb3Xc9Zp4Rm",
  "destination_participant_id": null,
  "object": "call_pci",
  "paused": true,
  "paused_at": "2026-10-05T12:00:00.000Z",
  "reason": "payment",
  "resumes_at": "2026-10-05T12:05:00.000Z"
}
```

### 400 Bad Request

The request is invalid: a parameter is missing, malformed or unknown, or the version header is unknown. Returns `ErrorEnvelope`.

### 401 Unauthorized

No valid API key was sent. Returns `ErrorEnvelope`.

### 403 Forbidden

The key may not do this (a missing scope, a plan limit, or a compliance block). Returns `ErrorEnvelope`.

### 404 Not Found

No object with this ID exists in this organisation and mode. Returns `ErrorEnvelope`.

### 409 Conflict

The request conflicts with the object's state, or the Idempotency-Key was reused with other parameters. Returns `ErrorEnvelope`.

### 429 Too Many Requests

Too many requests, or no call capacity right now. Retry after the Retry-After delay. Returns `ErrorEnvelope`.

### 500 Internal Server Error

Something went wrong on MoreVoice's side. Retry with the same Idempotency-Key. Returns `ErrorEnvelope`.

## Code samples

**TypeScript**

```ts
import MoreVoice from "@morevoice/sdk";

const mv = new MoreVoice(); // MOREVOICE_API_KEY from the environment

const callPci = await mv.calls.pci("call_7Hk2Lm9Qp", {
	action: "pause",
	max_seconds: 180,
	reason: "payment",
});
console.log(callPci);
```

**Python**

```python
from morevoice import MoreVoice

client = MoreVoice()  # MOREVOICE_API_KEY from the environment

call_pci = client.calls.pci("call_7Hk2Lm9Qp", {
    "action": "pause",
    "max_seconds": 180,
    "reason": "payment",
})
print(call_pci)
```

**cURL**

```sh
curl -X POST https://api.morevoice.ai/v1/calls/call_7Hk2Lm9Qp/pci \
  -H "Authorization: Bearer $MOREVOICE_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "action": "pause",
  "max_seconds": 180,
  "reason": "payment"
}'
```
