# InteractionProcessCredentialFailure

A model key that failed during a run, so the run moved on to the next one: which key, why and when. Use these to find keys that need fixing or replacing.

**Kind:** an object, used in responses.

## Fields

Every field is present in a response; empty ones are `null`.

| Field | Type | Description |
|---|---|---|
| `credentialId` | `string` | The `credentialId` of the key that failed. |
| `provider` | `string` | The provider of the key that failed. |
| `failureReason` | `string` | Why it failed: `Auth` (the key was refused), `RateLimit`, `Quota`, `EndpointModelNotFound` (the key's endpoint has no deployment of, or no access to, the model) or `Endpoint` (the endpoint answered "not found", usually a wrong `baseUrl`). The two endpoint reasons say the key can't serve this model, not that the key is bad. |
| `detail` | `string \| null` | The provider's error message, shortened. Null when there was none. |
| `dateUtc` | `datetime` | When the failure happened (UTC). |
| `retryAfterSeconds` | `integer \| null` | For a `RateLimit` failure: how many seconds the provider said to wait, when its error said. Null otherwise. |

## Example

```json
{
  "credentialId": "...",
  "provider": "...",
  "failureReason": "...",
  "detail": "...",
  "dateUtc": "2026-10-26T12:00:00.0000000Z",
  "retryAfterSeconds": 0
}
```

## Where it's used

- Inside [`InteractionProcess`](https://docs.maitento.com/reference/types/interaction-process.md)
- Inside [`InteractionProcessWithDetails`](https://docs.maitento.com/reference/types/interaction-process-with-details.md)
