---
title: "Who a deployment failure belongs to"
method: GET
path: "/deployment/{deployment_id}/fault"
tags: ["deployments"]
---

# Who a deployment failure belongs to

`GET /deployment/{deployment_id}/fault`

## Request

- Base URL: `https://api.faable.com`
- URL: `https://api.faable.com/deployment/{deployment_id}/fault`
- Auth: one of:
  - OAuth 2 (authorization code, authorization URL `https://faable.auth.faable.link/authorize`, token URL `https://faable.auth.faable.link/oauth/token`)
  - HTTP bearer
  - OAuth 2 (client credentials, token URL `https://faable.auth.faable.link/oauth/token`)
  - HTTP bearer
  - HTTP basic
  - API key in query parameter `apikey`

Whether a failed deployment is the user's to fix or Faable's, with a stable error code.

## Path parameters

- `deployment_id` string, required

## Response `200`

Default Response

- object
  - `deployment_id` string, required
  - `phase` string, required
  - `failed` boolean, required: True when the deployment ended in BUILD_ERROR or ERROR.
  - `fault_owner` union, required: Who has to act: `user` (the code, the config or the repository), `platform` (Faable — retrying or contacting support is the way out), `unknown` (not classified). Null when the deployment did not fail.
    - 'user'
    - 'platform'
    - 'unknown'
  - `error_code` string, required: Stable code of the failure (e.g. `user_build_command_failed`, `buildpack_not_detected`). Null when unclassified or not failed.

## Other responses

- `400`: `validation_error` — The body, query or path failed schema validation. `details.issues` lists each failing field.
- `401`: `unauthorized` — The request carries no valid credentials. `invalid_token` — The bearer token is missing, malformed or expired.
- `403`: `forbidden` — The credentials are valid but do not allow this operation. `user_suspended` — The account is suspended. Contact support@faable.com.
- `429`: `too_many_requests` — Rate limit exceeded. Honour the `Retry-After` header.
- `500`: `internal_error` — Unexpected server error. Retry later; the request id is logged.
- `503`: `database_unavailable` — Faable cannot reach its database right now. Transient: retry after the `Retry-After` header.

---

[API](https://skmtc.dev/faable/apis/faablecloud-api.md) · [All operations](https://skmtc.dev/faable/apis/faablecloud-api/llms.txt) · [OpenAPI document](https://skmtc.dev/faable/apis/faablecloud-api/revisions/e2fc93da3c49?raw)
