MetorialDocs

Portal Access Requests

Review and resolve access requests for a portal.

The Portal Access Request object

portal_access_request.json
{
  "object": "consumer.access_request",
  "id": "example_id",
  "status": "pending",
  "message": "example_message",
  "resolution_message": "example_resolution_message",
  "consumer_profile": {
    "object": "consumer.profile#preview",
    "id": "example_id",
    "name": "example_name",
    "email": "example_email"
  },
  "target": {
    "type": "provider_template",
    "provider_template": {
      "object": "provider.template#preview",
      "id": "example_id",
      "status": "active",
      "name": "example_name",
      "description": "example_description",
      "metadata": {},
      "integration_id": "example_integration_id",
      "created_at": "2026-10-17T09:50:02.685Z",
      "updated_at": "2026-10-17T09:50:02.685Z"
    }
  },
  "created_at": "2026-10-17T09:50:02.685Z",
  "updated_at": "2026-10-17T09:50:02.685Z",
  "reviewed_at": "2026-10-17T09:50:02.685Z"
}
object"consumer.access_request"required
idstringrequired
status"pending" | "approved" | "rejected"required
messagestringrequirednullable
resolution_messagestringrequirednullable
created_atdaterequired
updated_atdaterequired
reviewed_atdaterequirednullable

Endpoints

List portal access requests

GET/portals/:portal_id/access-requests

Returns a paginated list of access requests for a portal.

Path parameters

portal_idstringrequired

The unique identifier for the portal

Query parameters

status"pending" | "approved" | "rejected" or "pending" | "approved" | "rejected"[]optional
consumer_profile_idstring or string[]optional
searchstringoptional

Example request

curl -X GET "https://api.metorial.com/portals/por_Rm4Mnheq2bfEPhBhP7SY/access-requests" \
  -H "Authorization: Bearer metorial_sk_io2h4..."

Get portal access request

GET/portals/:portal_id/access-requests/:access_request_id

Retrieves a access request by ID.

Path parameters

portal_idstringrequired

The unique identifier for the portal

access_request_idstringrequired

The unique identifier for the access_request

Example request

curl -X GET "https://api.metorial.com/portals/por_Rm4Mnheq2bfEPhBhP7SY/access-requests/acc_Rm4Mnheq2bfEPhBhP7SY" \
  -H "Authorization: Bearer metorial_sk_io2h4..."

Review portal access request

PATCH/portals/:portal_id/access-requests/:access_request_id

Approves or rejects a access request.

Path parameters

portal_idstringrequired

The unique identifier for the portal

access_request_idstringrequired

The unique identifier for the access_request

Request body

status"approved" | "rejected"required
resolution_messagestringoptional
consumer_group_idstringoptional

Example request

curl -X PATCH "https://api.metorial.com/portals/por_Rm4Mnheq2bfEPhBhP7SY/access-requests/acc_Rm4Mnheq2bfEPhBhP7SY" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer metorial_sk_io2h4..." \
  -d '{
  "status": "approved",
  "resolution_message": "example_resolution_message",
  "consumer_group_id": "example_consumer_group_id"
}'