> ## Documentation Index
> Fetch the complete documentation index at: https://docs.apinizer.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List Deploy History

> Returns the deploy/undeploy history list of the specified API Proxy. Each record includes the revision number, deployment timestamp, user, environment, description, persistent flag, and backend API version at the time of deployment.

## Endpoint

```
GET /apiops/projects/{projectName}/apiProxies/{apiProxyName}/deploy-histories/
```

## Authentication

Requires a Personal API Access Token.

### Header

```
Authorization: Bearer YOUR_TOKEN
```

## Request

### Headers

| Header        | Value          | Required |
| ------------- | -------------- | -------- |
| Authorization | Bearer {token} | Yes      |

### Path Parameters

| Parameter    | Type   | Required | Description                 |
| ------------ | ------ | -------- | --------------------------- |
| projectName  | string | Yes      | Project name                |
| apiProxyName | string | Yes      | API Proxy name (must exist) |

### Query Parameters

None

### Request Body

This endpoint does not require a request body.

## Response

### Success Response (200 OK)

```json theme={null}
{
  "status": "SUCCESS",
  "resultList": [
    {
      "revision": 12,
      "username": "admin",
      "deploymentTime": "2026-04-16T10:30:00Z",
      "description": "v2.1 release",
      "environment": "production",
      "deploy": true,
      "persistent": false,
      "backendApiVersion": "1.0.0"
    },
    {
      "revision": 11,
      "username": "admin",
      "deploymentTime": "2026-04-15T08:00:00Z",
      "description": "Undeployed for maintenance",
      "environment": "production",
      "deploy": false,
      "persistent": true,
      "backendApiVersion": "1.0.0"
    }
  ],
  "resultCount": 2
}
```

#### Response Fields

| Field                           | Type    | Description                                               |
| ------------------------------- | ------- | --------------------------------------------------------- |
| status                          | string  | Request status (`SUCCESS` or `FAILURE`)                   |
| resultList                      | array   | List of deploy history records                            |
| resultList\[].revision          | integer | Sequentially incrementing revision number (per API Proxy) |
| resultList\[].username          | string  | User who performed the deployment                         |
| resultList\[].deploymentTime    | string  | ISO 8601 deployment timestamp                             |
| resultList\[].description       | string  | Deployment description/notes                              |
| resultList\[].environment       | string  | Target environment name                                   |
| resultList\[].deploy            | boolean | `true` for deploy, `false` for undeploy                   |
| resultList\[].persistent        | boolean | Whether this record is protected from auto-deletion       |
| resultList\[].backendApiVersion | string  | Backend API version at the time of deployment             |
| resultCount                     | integer | Total number of records                                   |

### Error Response (400 Bad Request)

```json theme={null}
{
  "error": "bad_request",
  "error_description": "ApiProxy with name (petstore-api) is not found!"
}
```

### Error Response (401 Unauthorized)

```json theme={null}
{
  "error": "unauthorized_client",
  "error_description": "Invalid token"
}
```

## cURL Example

```bash theme={null}
curl -X GET \
  "https://demo.apinizer.com/apiops/projects/MyProject/apiProxies/petstore-api/deploy-histories/" \
  -H "Authorization: Bearer YOUR_TOKEN"
```

## Notes and Warnings

* **Revision Number**: Each deploy/undeploy operation receives a sequentially incrementing `revision` per API Proxy. Use this value in detail, delete, and rollback endpoints.
* **Persistent Records**: Records marked as `persistent: true` are never auto-deleted, even when the system-wide deploy history retention limit is exceeded.
* **Backend API Version**: The `backendApiVersion` field shows the API version at the time of deployment, which may differ from the current version.

## Permissions

User must have **`API_MANAGEMENT` + `VIEW`** permission in the project.

## Related Documentation

* [Deploy API Proxy](/api-reference/api-proxies/deployment/deploy-api-proxy) - Deploy API proxy to environment
* [Get Deploy History Detail](/api-reference/api-proxies/deployment/get-deploy-history-detail) - Get full detail of a deploy history record
* [Rollback Deploy History](/api-reference/api-proxies/deployment/rollback-deploy-history) - Rollback API proxy to a previous deployment
