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

# Response envelope

> Understand the response shape returned by the Fibery HTTP API.

Every call to `/api/commands` returns a JSON envelope with two keys: `success` (boolean) and `result` (the command's payload on success, the error on failure).

```json theme={null}
{"success": true, "result": [{"fibery/id": "7dcf4730-82d2-11e9-8a28-82a9c787ee9d", "user/name": "Arthur Dent"}]}
```

## Errors

When `success` is `false`, `result` holds the error:

| Key       | Description                                                               |
| --------- | ------------------------------------------------------------------------- |
| `name`    | Stable error code, safe to switch on.                                     |
| `message` | Human-readable explanation.                                               |
| `data`    | Error-specific context (e.g. the query, offending field, schema version). |

```json theme={null}
{
  "success": false,
  "result": {
    "name": "entity.error/schema-type-not-found",
    "message": "\"Cricket/Nope\" database was not found.",
    "data": {
      "error/schema-version": 15738,
      "type": "Cricket/Nope",
      "query": {"q/from": "Cricket/Nope", "q/select": ["fibery/id"], "q/limit": 1},
      "params": {},
      "param-types": {},
      "param-collections": null
    }
  }
}
```

## Transport errors

Returned without the `success`/`result` envelope — the command never reached the dispatcher.

| HTTP  | When                                                                                              | Body                                             |
| ----- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------ |
| `401` | Missing or invalid API token                                                                      | Plain text `Unauthorized`                        |
| `429` | Rate limit exceeded (see [Request limits](/guides/getting-started/authentication#request-limits)) | Plain text                                       |
| `500` | Unknown command name, malformed JSON body, or unexpected server error                             | `{"name": "...", "message": "...", "data": ...}` |
