---
title: "Get a staged attachment handle"
method: GET
path: "/v1/attachments/{id}"
tags: ["attachments"]
---

# Get a staged attachment handle

`GET /v1/attachments/{id}`

## Request

- Base URL: `https://api.replylayer.ai`
- URL: `https://api.replylayer.ai/v1/attachments/{id}`
- Auth: HTTP bearer

## Path parameters

- `id` string, uuid, required

## Response `200`

Success

- object
  - `consumed_at` string
  - `consumed_message_id` string, nullable
  - `content_scan_status` 'pending' | 'clean' | 'flagged' | 'error'
  - `content_type` string
  - `filename` string
  - `hash` string
  - `id` string, required
  - `scan` object, nullable
    - `categories` object[], required
      - `category` string, required
      - `decision` 'allow' | 'allow_with_warning' | 'quarantine' | 'require_human_approval' | 'block', required
    - `findings` object[], required
      - `agent_instructions` string[]
      - `attachment_filename` string
      - `attachment_index` integer
      - `attachment_policy_action` 'quarantine_message' | 'metadata_only_after_rewrite' | 'derived_text_finding'
      - `category` string, required
      - `decision` 'allow' | 'allow_with_warning' | 'quarantine' | 'require_human_approval' | 'block', required
      - `expires_at` string, date-time
      - `failure_class` 'inference_error' | 'model_judgment'
      - `pii_type` 'ssn' | 'credit_card' | 'phone_number'
      - `reason` string, nullable, required
      - `retryable` boolean
      - `subtype` string
      - `warning` object
        - `affected_urls` string[], required
        - `attribution_text` string, required
        - `attribution_url` string, required
        - `learn_more` object[], required
          - `threat_type` 'MALWARE' | 'SOCIAL_ENGINEERING' | 'UNWANTED_SOFTWARE' | 'SOCIAL_ENGINEERING_EXTENDED_COVERAGE', required
          - `url` string, required
        - `qualified_wording` string, required
    - `verdict` 'clean' | 'warning' | 'review_required' | 'blocked' | 'quarantined', required
  - `size` integer
  - `status` 'consumed'

## Other responses

- `400`: Validation error
- `401`: Missing or invalid API key (code: UNAUTHORIZED)
- `404`: Not found
- `429`: Rate limited (code: RATE_LIMITED)
- `500`: Internal error (code: INTERNAL_ERROR)

---

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