Delete a review
const url = 'https://api.proofql.dev/v1/reviews/2f1c9e5a-3b7d-4c1e-9f0a-6d2b8e4a1c3f';const options = {method: 'DELETE', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request DELETE \ --url https://api.proofql.dev/v1/reviews/2f1c9e5a-3b7d-4c1e-9f0a-6d2b8e4a1c3f \ --header 'Authorization: Bearer <token>'Removes the review and its excerpts and purges the project’s query
cache. Not idempotent at the HTTP level: a second call is a 404.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”The review’s id. A value that is not a UUID is a 404.
Example
2f1c9e5a-3b7d-4c1e-9f0a-6d2b8e4a1c3fResponses
Section titled “Responses”Deleted. No body.
Headers
Section titled “Headers”This request’s id, on every response. Reuses the caller’s
x-request-id when sent (up to 128 chars), else Cloudflare’s ray id,
else a fresh UUID. Also inside every error envelope.
The key’s rate-limit policy as <limit>;w=<window seconds> (IETF
draft ratelimit headers), e.g. 300;w=60 for a secret key,
120;w=60 for a publishable key. Present once the key is known.
The request limit per window for this key’s kind.
unauthorized: no Authorization header (and no ?key= where that
is allowed), a header that is not Bearer <key>, a key that does not
look like pq_(sk|pk)_(live|test)_…, a secret key in the URL, a
?key= on POST /v1/query, or an unknown or revoked key. Rate-limit
headers are absent (the key was not resolved).
object
object
Stable error codes. Status by code: unauthorized 401, forbidden
403, not_found 404, payload_too_large 413,
unsupported_media_type 415, validation_failed 422,
review_limit_reached 422, rate_limited 429,
query_quota_exceeded 429, internal 500, embedding_unavailable
503, service_unavailable 503.
For humans; may change between releases. Switch on code.
https://docs.proofql.dev/errors#<code>.
Same value as the x-request-id header.
Present for validation_failed only.
object
Dotted path to the offending field ("0.rating", "filters.since"); "" or "(body)" for the whole body.
object
Examples
{ "error": { "code": "unauthorized", "message": "Missing Authorization header. Send `Authorization: Bearer <api key>`.", "doc_url": "https://docs.proofql.dev/errors#unauthorized", "request_id": "1b7c3d9e-2f4a-4b6c-8d0e-1f2a3b4c5d6e" }}Headers
Section titled “Headers”This request’s id, on every response. Reuses the caller’s
x-request-id when sent (up to 128 chars), else Cloudflare’s ray id,
else a fresh UUID. Also inside every error envelope.
forbidden: a publishable key (pq_pk_…) on a route that requires a
secret key. Decided before the key is looked up, so rate-limit
headers are absent.
object
object
Stable error codes. Status by code: unauthorized 401, forbidden
403, not_found 404, payload_too_large 413,
unsupported_media_type 415, validation_failed 422,
review_limit_reached 422, rate_limited 429,
query_quota_exceeded 429, internal 500, embedding_unavailable
503, service_unavailable 503.
For humans; may change between releases. Switch on code.
https://docs.proofql.dev/errors#<code>.
Same value as the x-request-id header.
Present for validation_failed only.
object
Dotted path to the offending field ("0.rating", "filters.since"); "" or "(body)" for the whole body.
object
Example
{ "error": { "code": "forbidden" }}Headers
Section titled “Headers”This request’s id, on every response. Reuses the caller’s
x-request-id when sent (up to 128 chars), else Cloudflare’s ray id,
else a fresh UUID. Also inside every error envelope.
not_found: no review with this id in the key’s project and
environment (another project’s or environment’s review looks the
same as a nonexistent one), or an id that is not a UUID.
object
object
Stable error codes. Status by code: unauthorized 401, forbidden
403, not_found 404, payload_too_large 413,
unsupported_media_type 415, validation_failed 422,
review_limit_reached 422, rate_limited 429,
query_quota_exceeded 429, internal 500, embedding_unavailable
503, service_unavailable 503.
For humans; may change between releases. Switch on code.
https://docs.proofql.dev/errors#<code>.
Same value as the x-request-id header.
Present for validation_failed only.
object
Dotted path to the offending field ("0.rating", "filters.since"); "" or "(body)" for the whole body.
object
Example
{ "error": { "code": "not_found" }}Headers
Section titled “Headers”This request’s id, on every response. Reuses the caller’s
x-request-id when sent (up to 128 chars), else Cloudflare’s ray id,
else a fresh UUID. Also inside every error envelope.
The key’s rate-limit policy as <limit>;w=<window seconds> (IETF
draft ratelimit headers), e.g. 300;w=60 for a secret key,
120;w=60 for a publishable key. Present once the key is known.
The request limit per window for this key’s kind.
rate_limited: over this key’s per-minute limit. Wait Retry-After seconds.
object
object
Stable error codes. Status by code: unauthorized 401, forbidden
403, not_found 404, payload_too_large 413,
unsupported_media_type 415, validation_failed 422,
review_limit_reached 422, rate_limited 429,
query_quota_exceeded 429, internal 500, embedding_unavailable
503, service_unavailable 503.
For humans; may change between releases. Switch on code.
https://docs.proofql.dev/errors#<code>.
Same value as the x-request-id header.
Present for validation_failed only.
object
Dotted path to the offending field ("0.rating", "filters.since"); "" or "(body)" for the whole body.
object
Example
{ "error": { "code": "rate_limited" }}Headers
Section titled “Headers”This request’s id, on every response. Reuses the caller’s
x-request-id when sent (up to 128 chars), else Cloudflare’s ray id,
else a fresh UUID. Also inside every error envelope.
The key’s rate-limit policy as <limit>;w=<window seconds> (IETF
draft ratelimit headers), e.g. 300;w=60 for a secret key,
120;w=60 for a publishable key. Present once the key is known.
The request limit per window for this key’s kind.
Whole seconds to wait. For rate_limited, until the current window
ends; for query_quota_exceeded, until the next UTC month begins.
internal: something unexpected. The message carries the request id and nothing about the cause.
object
object
Stable error codes. Status by code: unauthorized 401, forbidden
403, not_found 404, payload_too_large 413,
unsupported_media_type 415, validation_failed 422,
review_limit_reached 422, rate_limited 429,
query_quota_exceeded 429, internal 500, embedding_unavailable
503, service_unavailable 503.
For humans; may change between releases. Switch on code.
https://docs.proofql.dev/errors#<code>.
Same value as the x-request-id header.
Present for validation_failed only.
object
Dotted path to the offending field ("0.rating", "filters.since"); "" or "(body)" for the whole body.
object
Example
{ "error": { "code": "internal" }}Headers
Section titled “Headers”This request’s id, on every response. Reuses the caller’s
x-request-id when sent (up to 128 chars), else Cloudflare’s ray id,
else a fresh UUID. Also inside every error envelope.
service_unavailable: the database refused or timed out a connection
(a connection storm, a paused compute; Retry-After: 1), or a daily
platform allowance is spent (Retry-After is the seconds until it
renews, at most a day). Nothing about the request was wrong; retry
after Retry-After seconds. The message carries the request id and
nothing about the cause.
object
object
Stable error codes. Status by code: unauthorized 401, forbidden
403, not_found 404, payload_too_large 413,
unsupported_media_type 415, validation_failed 422,
review_limit_reached 422, rate_limited 429,
query_quota_exceeded 429, internal 500, embedding_unavailable
503, service_unavailable 503.
For humans; may change between releases. Switch on code.
https://docs.proofql.dev/errors#<code>.
Same value as the x-request-id header.
Present for validation_failed only.
object
Dotted path to the offending field ("0.rating", "filters.since"); "" or "(body)" for the whole body.
object
Example
{ "error": { "code": "service_unavailable" }}Headers
Section titled “Headers”This request’s id, on every response. Reuses the caller’s
x-request-id when sent (up to 128 chars), else Cloudflare’s ray id,
else a fresh UUID. Also inside every error envelope.
Whole seconds to wait. For rate_limited, until the current window
ends; for query_quota_exceeded, until the next UTC month begins.