## Start a line reputation audit

`phone_numbers.start_reputation_audit(strphone_number)  -> ReputationAuditStarted`

**post** `/v3/phone_numbers/{phoneNumber}/reputation_audit`

Starts an asynchronous reputation audit for a line and returns an
`audit_id`. Poll the GET endpoint for the result.

Rate limited per line: only one audit may run at a time. Starting one
while another is still running returns `202` with the running audit's
`audit_id` rather than an error, so a retried start picks that audit
back up instead of losing it — poll the id you were given.

Once an audit finishes, a new one can't be started for the same line
until a cooldown elapses (`429`, with `Retry-After` carrying the wait).
Keep the `audit_id` from the original `202`: it stays readable on the
GET endpoint for 24 hours, and the cooldown response does not repeat
it.

### Parameters

- `phone_number: str`

### Returns

- `class ReputationAuditStarted: …`

  - `audit_id: str`

    Identifier for this audit. Poll `GET /v3/phone_numbers/{phoneNumber}/reputation_audit/{auditId}` until `status` is `complete` or `error`.

  - `status: Literal["pending", "complete", "error"]`

    A newly started audit is `pending`.

    - `"pending"`

    - `"complete"`

    - `"error"`

### Example

```python
import os
from linq import LinqAPIV3

client = LinqAPIV3(
    api_key=os.environ.get("LINQ_API_V3_API_KEY"),  # This is the default and can be omitted
)
reputation_audit_started = client.phone_numbers.start_reputation_audit(
    "phoneNumber",
)
print(reputation_audit_started.audit_id)
```

#### Response

```json
{
  "audit_id": "audit_id",
  "status": "pending"
}
```
