# List all certificates.

**GET /api/v1/files/certificates**

Returns a list of certificates. The certificates are returned sorted by creation date, with the most recently created certificates appearing first. Supports pagination using `starting_after` and `ending_before`.

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

## Parameters

### Query parameters

- **limit** (integer)  
  A limit on the number of objects to be returned. The limit can range between `1` and `100`, and the default is `10`.

- **starting_after** (string)  
  A cursor for use in pagination. `starting_after` is a certificate ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `ca_123`, your subsequent call can include `starting_after=ca_123` in order to fetch the next page of the list.

- **ending_before** (string)  
  A cursor for use in pagination. `ending_before` is a certificate ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `ca_456`, your subsequent call can include `ending_before=ca_456` in order to fetch the previous page of the list.

- **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 an array of certificate objects. If no more certificates are available, the resulting array will be empty.

#### Body: application/json (array[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.
