# Retrieve a certificate.

**GET /api/v1/files/certificates/{certificate}**

Retrieves the details of an existing certificate by its ID. Use this endpoint to poll for certificate status updates during asynchronous processing.

**Certificate Status Lifecycle:**

The certificate status transitions through the following states:
- `pending` - Certificate has been uploaded but processing has not started
- `processing` - Certificate is currently being processed
- `approved` - Certificate passed all insurance requirements
- `flagged` - Certificate failed some requirements (may require manual review)
- `denied` - Certificate was denied
- `error` - An error occurred during processing

**Retrieving Review Results:**

Once processing is complete, use the `expand` parameter to retrieve review results:
- `expand[]=review_results` - Returns abbreviated results with summary counts
- `expand[]=review_results.full` - Returns full parsed certificate data and detailed audit results for each insurance requirement

## Servers
- Production server: https://api.1099policy.com (Production server)

## Parameters

### Path parameters

- **certificate** (string)  
  The ID of the desired certificate.

### Query parameters

- **expand** (array[string])  
  Specifies which fields in the response should be expanded. Use `expand[]=review_results` for abbreviated review results, or `expand[]=review_results.full` for full review results including parsed certificate data and detailed audit results.

## Responses
### 200
Returns a certificate object if a valid certificate ID was provided. The `status` field indicates the current processing state, and `review_results` will be `null` until processing completes.

#### Body: application/json (object)
- **contractor** (string)  
  The ID of the contractor associated with this certificate.
- **created** (integer(int64))  
  Time at which the certificate was uploaded.
- **filename** (string)  
  The original filename of the uploaded PDF.
- **id** (string)  
  Unique identifier for the certificate.
- **pdf_url** (string | null)  
  URL to access the certificate PDF. This will be `null` until the certificate has been processed and stored.
- **review_results** (object | null)  
  Review results from the certificate evaluation. This will be `null` until processing completes. Use `expand[]=review_results` to include abbreviated results, or `expand[]=review_results.full` for complete details.
- **status** (string)  
  The current processing status of the certificate. Status transitions: `pending` → `processing` → (`approved` | `flagged` | `denied` | `error`). Use polling or webhooks to monitor status changes.
- **updated** (integer(int64))  
  Time at which the certificate was last updated.

### 404
Certificate not found
