---
title: "Hold an attributed referral for review"
method: POST
path: "/admin/referrals/{id}/hold"
tags: ["Referrals"]
---

# Hold an attributed referral for review

`POST /admin/referrals/{id}/hold`

## Request

- Base URL: `https://api.crawlora.net/api/v1`
- URL: `https://api.crawlora.net/api/v1/admin/referrals/{id}/hold`
- Auth: API key in header `x-api-key`

Puts an `attributed` referral, identified by path `id`, into manual review. Optional body field `reason` records why. The attribution moves to `review_required`, gets a `manual_review` risk flag and earns no rewards. If it is no longer `attributed`, the current record comes back unchanged.

## Path parameters

- `id` string, required

## Headers

- `x-api-key` string, required

## Request body

- ReferralsAdminReferralRejectRequestDoc
  - `reason` string

## Response `200`

Review result

- ReferralsAdminReferralReviewResponseDoc
  - `attribution` ReferralsAdminReferralAttributionRecordDoc
    - `click_id` string
    - `code` string
    - `created_at` string
    - `error` string
    - `expires_at` string
    - `first_paid_invoice_id` string
    - `id` string
    - `landing_path` string
    - `qualified_at` string
    - `referred_user_id` string
    - `referrer_user_id` string
    - `review_reason` string
    - `reviewed_at` string
    - `reviewed_by` string
    - `rewarded_at` string
    - `risk_flags` string[]
    - `skip_reason` string
    - `status` 'attributed' | 'qualified' | 'review_required' | 'rewarded' | 'expired' | 'capped' | 'failed' | 'rejected'
    - `stripe_event_id` string
    - `stripe_invoice_id` string
    - `utm_campaign` string
    - `utm_medium` string
    - `utm_source` string
  - `rewards` ReferralsAdminReferralRewardDoc[]
    - `attribution_id` string
    - `created_at` string
    - `credits` integer
    - `credits_grant_error` string
    - `credits_grant_key` string
    - `credits_granted_at` string
    - `id` string
    - `role` 'referrer' | 'referred'
    - `stripe_invoice_id` string
    - `user_id` string

## Other responses

- `401`: Authentication required
- `403`: Admin plan required
- `404`: Referral attribution not found
- `500`: Internal server error

---

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