# Get assessment detail

```
GET https://www.example.com/api/v2/assessments/:id
```

Returns full assessment detail including the form with current answers, per-question visibility flags, and progress.

## Request

### Path Parameters

**id** string required  
Assessment UUID

### Header Parameters

**authorization** string required  
**Example:** `Bearer privacy_api_key.abc123`

## Responses

- 200  
Assessment detail returned
- application/json

### Schema

**data** object

- **id** uuid  
- **name** string  
  **Example:** `Vendor Risk Assessment - Acme Analytics`  
- **status** string  
  **Possible values:** `not_started`, `in_progress`, `pending_approval`, `approved`
- **template_id** uuid  
- **template_name** string  
  **Example:** `Vendor Risk Assessment`  
- **due_date** date nullable  
- **renewal_frequency** string nullable  
  **Possible values:** `Week`, `Month`, `Year`
- **renewal_interval** integer | null nullable  
- **systems** object[]  
  Array [  
    **system_id** uuid nullable  
    **display_name** string  
    **Example:** `Acme Analytics`  
  ]
- **sections** object[]  
  Array [  
    **key** string  
    **Example:** `s1`  
    **title** string  
    **Example:** `Overview`  
    **description** string  
    **Example:** `General information about the system`  
    **questions** object[]  
    Array [  
      **uuid** string  
      **Example:** `abc-123`  
      **key** string  
      Informational path key. Do not use for answer submission.  
      **Example:** `s1.questions.q1`  
      **type** string  
      **Example:** `radio`  
      **description** string  
      **Example:** `Does this system process personal data?`  
      **help_text** string | null nullable  
      **Example:** `Select yes if the system handles any PII`  
      **required** boolean  
      **options** object[]  
      Array [  
        **key** string  
        **text** string  
      ]  
      **answer** nullable  
      Current answer value. Format depends on question type.  
      **answered** boolean  
      True when answer is not null/empty  
      **visible** boolean  
    ]  
  ]
- **progress** object

- **total_questions** integer  
    **Example:** `24`  
  - **answered_questions** integer  
    **Example:** `12`  
  - **required_remaining** integer  
    **Example:** `5`  
  - **last_updated** string  
    Millisecond epoch timestamp. Pass this value as last_updated when submitting answers.
    **Example:** `1714500000000`
  - **created_at** date-time
  - **updated_at** date-time

```json
{
  "data": {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "name": "Vendor Risk Assessment - Acme Analytics",
    "status": "not_started",
    "template_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "template_name": "Vendor Risk Assessment",
    "due_date": "2024-07-29",
    "renewal_frequency": "Week",
    "renewal_interval": 0,
    "systems": [
      {
        "system_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "display_name": "Acme Analytics"
      }
    ],
    "sections": [
      {
        "key": "s1",
        "title": "Overview",
        "description": "General information about the system",
        "questions": [
          {
            "uuid": "abc-123",
            "key": "s1.questions.q1",
            "type": "radio",
            "description": "Does this system process personal data?",
            "help_text": "Select yes if the system handles any PII",
            "required": true,
            "options": "Unknown Type: array,null",
            "answered": true,
            "visible": true
          }
        ]
      }
    ],
    "progress": {
      "total_questions": 24,
      "answered_questions": 12,
      "required_remaining": 5
    },
    "last_updated": "1714500000000",
    "created_at": "2024-07-29T15:51:28.071Z",
    "updated_at": "2024-07-29T15:51:28.071Z"
  }
}
```

Assessment not found

- curl
- go
- java
- nodejs
- php
- python
- ruby
- rust
- swift

- CURL

```bash
curl -L 'https://www.example.com/api/v2/assessments/:id' \
-H 'Accept: application/json'
```
