---
title: "Request access to a brand review portal"
method: POST
path: "/v2/scheduler/review-portals/{publicId}"
tags: ["Brand review portal"]
---

# Request access to a brand review portal

`POST /v2/scheduler/review-portals/{publicId}`

## Request

- Base URL: `https://app.metricool.com/api`
- URL: `https://app.metricool.com/api/v2/scheduler/review-portals/{publicId}`
- Auth: none declared

Public. Resolves the portal by its permanent publicId and, if the reviewer has posts pending review, emails a fresh tokenized link to the address on file (subject to a resend cooldown). Returns 202 with result=LINK_SENT when a fresh link was just emailed, 200 with result=RECENT_LINK_STILL_VALID when a recent link is still in the inbox (retryAfterSeconds carries the remaining wait), or 200 with result=NO_PENDING_REVIEW when there is nothing to review. Responds 503 when the portal could not be served.

## Path parameters

- `publicId` string, required

## Response `200`

OK

- JsonOkResponseBrandReviewPortalAccessResponse
  - `metadata` object
  - `page` JsonPaging
    - `next` string
  - `data` BrandReviewPortalAccessResponse
    - `result` 'LINK_SENT' | 'RECENT_LINK_STILL_VALID' | 'NO_PENDING_REVIEW': Outcome of the access request. LINK_SENT: a fresh link was just emailed. RECENT_LINK_STILL_VALID: a link was sent recently and is still in the inbox; none re-sent. NO_PENDING_REVIEW: nothing pending to review, no email sent.
    - `retryAfterSeconds` integer: Seconds the reviewer must wait before another resend will actually send. Present for LINK_SENT (full cooldown) and RECENT_LINK_STILL_VALID (remaining); omitted otherwise.

---

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