Docs menu
API reference

GET /api/v1/reviews/{reviewId}

Get a held sign-up's review. Held sign-ups. Generated from the OpenAPI file.

Last updated

Overview

GET https://api.inlineshield.io/api/v1/reviews/{reviewId}

The status of a held sign-up: pending until someone decides it in the console, then approved or rejected. A review nobody decides is rejected when it expires (decisionReason: "expired"). Limited to 60 requests per minute per key; not counted against the quota. Test mode creates no reviews.

Authentication

Send your secret API key in the X-Api-Key header.

Your secret API key (bs_live_… or bs_test_…), from the console under Settings › Keys. Never put it in a browser or an app. The header name X-ApiKey is also accepted (deprecated).

Parameters

NameInTypeRequiredDescription
reviewIdpathstringyesThe reviewId of a held screening.

Request

No request body.

cURL
curl https://api.inlineshield.io/api/v1/reviews/rev_Hk3pQ9xZ2mV7cN4bL1kJ8hG5 \
  -H "X-Api-Key: $INLINESHIELD_API_KEY"

Responses

200 OK

The review.

FieldTypeRequiredDescription
reviewIdstringyesmatches ^rev_
statusstringyesValues: pending, approved, rejected
decisionReasonstring or nullyesoperator: decided in the console. expired: nobody decided in time (rejected).Values: operator, expired, null
decidedAtstring (date-time) or nullyes
expiresAtstring (date-time)yes
{
  "reviewId": "rev_Hk3pQ9xZ2mV7cN4bL1kJ8hG5",
  "status": "pending",
  "decisionReason": null,
  "decidedAt": null,
  "expiresAt": "2026-11-09T12:00:00.000Z"
}

401 Unauthorized

No X-Api-Key header, or an unknown, revoked or expired key.

FieldTypeRequiredDescription
errorstringyesValues: UNAUTHORIZED, INVALID_API_KEY, EXPIRED_API_KEY, ORGANIZATION_NOT_FOUND
messagestringyes
{
  "error": "UNAUTHORIZED",
  "message": "Access denied: Missing required X-Api-Key header."
}

403 Forbidden

The account is suspended.

FieldTypeRequiredDescription
errorstringyesValues: TENANT_SUSPENDED
messagestringyes

404 Not Found

No such review in this account.

FieldTypeRequiredDescription
errorstringyesValues: NOT_FOUND
messagestringyes
notFound
{
  "error": "NOT_FOUND",
  "message": "Review not found."
}

429 Too Many Requests

More than 60 requests per minute with this key.

Headers: Retry-After.

FieldTypeRequiredDescription
errorstringyesValues: RATE_LIMIT_EXCEEDED
messagestringyes

500 Internal Server Error

Internal error.

FieldTypeRequiredDescription
errorstringyesValues: REVIEW_ERROR, AUTH_ERROR
messagestringyes

503 Service Unavailable

The key could not be checked right now. Try again.

FieldTypeRequiredDescription
errorstringyesValues: DATABASE_ERROR
messagestringyes

Errors

Errors are JSON, { "error": "CODE", "message": "…" }. Branch on error, never on message.

HTTP statuserrorWhen
401UNAUTHORIZED, INVALID_API_KEY, EXPIRED_API_KEY, ORGANIZATION_NOT_FOUNDNo X-Api-Key header, or an unknown, revoked or expired key.
403TENANT_SUSPENDEDThe account is suspended.
404NOT_FOUNDNo such review in this account.
429RATE_LIMIT_EXCEEDEDMore than 60 requests per minute with this key.
500REVIEW_ERROR, AUTH_ERRORInternal error.
503DATABASE_ERRORThe key could not be checked right now. Try again.

See all errors for every endpoint.

Headers and limits

Response headerMeaning
Retry-AfterSeconds to wait before trying again.

The limits per endpoint and plan are on Rate limits and quotas.