> For the complete documentation index, see [llms.txt](https://docs.medable.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.medable.com/cortex-api/faults.md).

# Faults

Faults generated from API requests are .json documents with `fault` as the `object` property value. When reading and writing context properties, a `path` property will usually be available, representing the full property path. A fault may also have children, especially in the case of `cortex.invalidArgument.validation`, where property validation errors are represented as children, whose `path` property can be examined to pinpoint the error source.

Here's an example of listing a non-existent object:

{% tabs %}
{% tab title="" %}

```
$ mdctl api GET /missing
```

{% endtab %}

{% tab title="Response" %}

```javascript
{
    "object": "fault",
    "name": "error",
    "code": "kInvalidObject",
    "errCode": "cortex.invalidArgument.object",
    "status": 400,
    "message": "Invalid or unknown object.",
    "path": "missing"
}
```

{% endtab %}
{% endtabs %}

{% hint style="info" %}
There are two faults, `cortex.success.newLocation` and `cortex.accepted.mediaNotReady`, whose HTTP statuses are in the 2XX range. In these cases, clients must handle a seemingly successful response as a fault.
{% endhint %}

{% hint style="info" %}
Some faults may also have child faults represented as a `faults` array. For example, most validation errors (`cortex.invalidArgument.validation`) contains child faults so clients can pinpoint the source of each error.
{% endhint %}
