# Acknowledge a monitoring incident > "I've got this" on an incident, recorded for everyone. Source: https://docs.vigilbase.com/one/api/reference/customers/customer-incidents-acknowledge `POST https://api.vigilbase.com/one/v1/customers/{customerId}/incidents/{incidentId}/acknowledge` "I've got this" on an incident, recorded for everyone. `incidentId` is the incident key, or any of its event ids. The first acknowledgement wins; a repeat returns it with `created: false`. > Deprecated aliases: `POST https://one.vigilbase.com/api/customers/{id}/incidents/{incidentId}/acknowledge`. They answer with the same bodies, with a `Deprecation` header and a `successor-version` link to this URL. ## Authorizations Send one of these: - `Authorization` (string, header, required): Bearer access token from Vigilbase Identity (`auth.vigilbase.com`), sent as `Authorization: Bearer `. The CLI gets one with `vigilbase login`. Scope: `one:api`. - `Authorization` (string, header, required): Organisation API key (`vb_one_…`) from **Settings → API keys** in Vigilbase One, sent as `Authorization: Bearer vb_one_…`. Needs a key with write access: read-only keys get `403` with the code `read_only_key`. See [organisation API keys](https://docs.vigilbase.com/one/api#organisation-api-keys). - `Authorization` (string, header, required): Vigilbase Identity access token issued to an MCP client (mcp.vigilbase.com). Scope: `one:write`. - Permissions checked: `read:customers` ## Path parameters - `customerId` (string, required) - `incidentId` (string, required) ## Header parameters - `Idempotency-Key` (string): A unique key for this write (a UUID is recommended). A retry with the same key and body returns the first answer (draft-ietf-httpapi-idempotency-key-header-08). Min length 1, max length 255. ## Body (application/json) - `note` (string): Max length 500. ## Responses Errors are problem details (`application/problem+json`). See [errors](https://docs.vigilbase.com/one/api#errors). ### 200 (application/json) Success - `incidentKey` (string, required) - `acknowledgement` (object, required) - `byName` (string | null, required) - `byEmail` (string | null, required) - `at` (string, required) - `note` (string | null, required) - `created` (boolean, required): False when the incident was already acknowledged; that acknowledgement is returned. ### 400 (application/problem+json) Problem: `validation_failed`. - `type` (string, required) - `title` (string, required) - `status` (integer, required): Minimum 400, maximum 599. - `detail` (string, required) - `instance` (string) - `code` (string, required): One of `bad_request`, `validation_failed`, `idempotency_key_invalid`, `unauthorized`, `invalid_api_key`, `api_key_revoked`, `api_key_expired`, `forbidden`, `step_up_required`, `staff_only`, `read_only_key`, `not_for_api_keys`, `insufficient_scope`, `not_found`, `method_not_allowed`, `conflict`, `idempotency_in_progress`, `gone`, `length_required`, `precondition_failed`, `payload_too_large`, `unsupported_media_type`, `unprocessable_entity`, `idempotency_key_reused`, `rate_limit_exceeded`, `internal_error`, `upstream_unavailable`, `service_unavailable`. - `requestId` (string, required) - `docs` (string) - `errors` (object[]) - `pointer` (string, required) - `message` (string, required) - `retryAfterSeconds` (integer): Minimum 0, maximum 9007199254740991. ### 401 (application/problem+json) Problem: `unauthorized`. - `type` (string, required) - `title` (string, required) - `status` (integer, required): Minimum 400, maximum 599. - `detail` (string, required) - `instance` (string) - `code` (string, required): One of `bad_request`, `validation_failed`, `idempotency_key_invalid`, `unauthorized`, `invalid_api_key`, `api_key_revoked`, `api_key_expired`, `forbidden`, `step_up_required`, `staff_only`, `read_only_key`, `not_for_api_keys`, `insufficient_scope`, `not_found`, `method_not_allowed`, `conflict`, `idempotency_in_progress`, `gone`, `length_required`, `precondition_failed`, `payload_too_large`, `unsupported_media_type`, `unprocessable_entity`, `idempotency_key_reused`, `rate_limit_exceeded`, `internal_error`, `upstream_unavailable`, `service_unavailable`. - `requestId` (string, required) - `docs` (string) - `errors` (object[]) - `pointer` (string, required) - `message` (string, required) - `retryAfterSeconds` (integer): Minimum 0, maximum 9007199254740991. ### 403 (application/problem+json) Problem: `forbidden`, `read_only_key`. - `type` (string, required) - `title` (string, required) - `status` (integer, required): Minimum 400, maximum 599. - `detail` (string, required) - `instance` (string) - `code` (string, required): One of `bad_request`, `validation_failed`, `idempotency_key_invalid`, `unauthorized`, `invalid_api_key`, `api_key_revoked`, `api_key_expired`, `forbidden`, `step_up_required`, `staff_only`, `read_only_key`, `not_for_api_keys`, `insufficient_scope`, `not_found`, `method_not_allowed`, `conflict`, `idempotency_in_progress`, `gone`, `length_required`, `precondition_failed`, `payload_too_large`, `unsupported_media_type`, `unprocessable_entity`, `idempotency_key_reused`, `rate_limit_exceeded`, `internal_error`, `upstream_unavailable`, `service_unavailable`. - `requestId` (string, required) - `docs` (string) - `errors` (object[]) - `pointer` (string, required) - `message` (string, required) - `retryAfterSeconds` (integer): Minimum 0, maximum 9007199254740991. ### 404 (application/problem+json) Problem: `not_found`. - `type` (string, required) - `title` (string, required) - `status` (integer, required): Minimum 400, maximum 599. - `detail` (string, required) - `instance` (string) - `code` (string, required): One of `bad_request`, `validation_failed`, `idempotency_key_invalid`, `unauthorized`, `invalid_api_key`, `api_key_revoked`, `api_key_expired`, `forbidden`, `step_up_required`, `staff_only`, `read_only_key`, `not_for_api_keys`, `insufficient_scope`, `not_found`, `method_not_allowed`, `conflict`, `idempotency_in_progress`, `gone`, `length_required`, `precondition_failed`, `payload_too_large`, `unsupported_media_type`, `unprocessable_entity`, `idempotency_key_reused`, `rate_limit_exceeded`, `internal_error`, `upstream_unavailable`, `service_unavailable`. - `requestId` (string, required) - `docs` (string) - `errors` (object[]) - `pointer` (string, required) - `message` (string, required) - `retryAfterSeconds` (integer): Minimum 0, maximum 9007199254740991. ### 409 (application/problem+json) Problem: `conflict`. - `type` (string, required) - `title` (string, required) - `status` (integer, required): Minimum 400, maximum 599. - `detail` (string, required) - `instance` (string) - `code` (string, required): One of `bad_request`, `validation_failed`, `idempotency_key_invalid`, `unauthorized`, `invalid_api_key`, `api_key_revoked`, `api_key_expired`, `forbidden`, `step_up_required`, `staff_only`, `read_only_key`, `not_for_api_keys`, `insufficient_scope`, `not_found`, `method_not_allowed`, `conflict`, `idempotency_in_progress`, `gone`, `length_required`, `precondition_failed`, `payload_too_large`, `unsupported_media_type`, `unprocessable_entity`, `idempotency_key_reused`, `rate_limit_exceeded`, `internal_error`, `upstream_unavailable`, `service_unavailable`. - `requestId` (string, required) - `docs` (string) - `errors` (object[]) - `pointer` (string, required) - `message` (string, required) - `retryAfterSeconds` (integer): Minimum 0, maximum 9007199254740991. ### 422 (application/problem+json) Problem: `unprocessable_entity`. - `type` (string, required) - `title` (string, required) - `status` (integer, required): Minimum 400, maximum 599. - `detail` (string, required) - `instance` (string) - `code` (string, required): One of `bad_request`, `validation_failed`, `idempotency_key_invalid`, `unauthorized`, `invalid_api_key`, `api_key_revoked`, `api_key_expired`, `forbidden`, `step_up_required`, `staff_only`, `read_only_key`, `not_for_api_keys`, `insufficient_scope`, `not_found`, `method_not_allowed`, `conflict`, `idempotency_in_progress`, `gone`, `length_required`, `precondition_failed`, `payload_too_large`, `unsupported_media_type`, `unprocessable_entity`, `idempotency_key_reused`, `rate_limit_exceeded`, `internal_error`, `upstream_unavailable`, `service_unavailable`. - `requestId` (string, required) - `docs` (string) - `errors` (object[]) - `pointer` (string, required) - `message` (string, required) - `retryAfterSeconds` (integer): Minimum 0, maximum 9007199254740991. ### 429 (application/problem+json) Problem: `rate_limit_exceeded`. - `type` (string, required) - `title` (string, required) - `status` (integer, required): Minimum 400, maximum 599. - `detail` (string, required) - `instance` (string) - `code` (string, required): One of `bad_request`, `validation_failed`, `idempotency_key_invalid`, `unauthorized`, `invalid_api_key`, `api_key_revoked`, `api_key_expired`, `forbidden`, `step_up_required`, `staff_only`, `read_only_key`, `not_for_api_keys`, `insufficient_scope`, `not_found`, `method_not_allowed`, `conflict`, `idempotency_in_progress`, `gone`, `length_required`, `precondition_failed`, `payload_too_large`, `unsupported_media_type`, `unprocessable_entity`, `idempotency_key_reused`, `rate_limit_exceeded`, `internal_error`, `upstream_unavailable`, `service_unavailable`. - `requestId` (string, required) - `docs` (string) - `errors` (object[]) - `pointer` (string, required) - `message` (string, required) - `retryAfterSeconds` (integer): Minimum 0, maximum 9007199254740991. ### 503 (application/problem+json) Problem: `service_unavailable`. - `type` (string, required) - `title` (string, required) - `status` (integer, required): Minimum 400, maximum 599. - `detail` (string, required) - `instance` (string) - `code` (string, required): One of `bad_request`, `validation_failed`, `idempotency_key_invalid`, `unauthorized`, `invalid_api_key`, `api_key_revoked`, `api_key_expired`, `forbidden`, `step_up_required`, `staff_only`, `read_only_key`, `not_for_api_keys`, `insufficient_scope`, `not_found`, `method_not_allowed`, `conflict`, `idempotency_in_progress`, `gone`, `length_required`, `precondition_failed`, `payload_too_large`, `unsupported_media_type`, `unprocessable_entity`, `idempotency_key_reused`, `rate_limit_exceeded`, `internal_error`, `upstream_unavailable`, `service_unavailable`. - `requestId` (string, required) - `docs` (string) - `errors` (object[]) - `pointer` (string, required) - `message` (string, required) - `retryAfterSeconds` (integer): Minimum 0, maximum 9007199254740991. ### default (application/problem+json) Problem details (RFC 9457). - `type` (string, required) - `title` (string, required) - `status` (integer, required): Minimum 400, maximum 599. - `detail` (string, required) - `instance` (string) - `code` (string, required): One of `bad_request`, `validation_failed`, `idempotency_key_invalid`, `unauthorized`, `invalid_api_key`, `api_key_revoked`, `api_key_expired`, `forbidden`, `step_up_required`, `staff_only`, `read_only_key`, `not_for_api_keys`, `insufficient_scope`, `not_found`, `method_not_allowed`, `conflict`, `idempotency_in_progress`, `gone`, `length_required`, `precondition_failed`, `payload_too_large`, `unsupported_media_type`, `unprocessable_entity`, `idempotency_key_reused`, `rate_limit_exceeded`, `internal_error`, `upstream_unavailable`, `service_unavailable`. - `requestId` (string, required) - `docs` (string) - `errors` (object[]) - `pointer` (string, required) - `message` (string, required) - `retryAfterSeconds` (integer): Minimum 0, maximum 9007199254740991. ## Example request ```bash # Token from `vigilbase login`, or a write API key (vb_one_…) curl --request POST \ --url 'https://api.vigilbase.com/one/v1/customers/{customerId}/incidents/{incidentId}/acknowledge' \ --header "Authorization: Bearer $VIGILBASE_TOKEN" \ --header 'Content-Type: application/json' \ --data '{"note":""}' ``` ## Example response (200) ```json { "incidentKey": "", "acknowledgement": { "byName": "", "byEmail": "", "at": "", "note": "" }, "created": true } ``` See also the [guide](https://docs.vigilbase.com/one/api/watchdog-and-monitoring).