> ## 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.

# Overview Details

> The Apinizer Management API provides programmatic access to Apinizer functionality, allowing you to manage projects, API proxies, policies, connections, and more without using the web interface.

## Base URL

The Management API base URL is constructed by appending `/apiops` to your Apinizer Manager application URL:

```
{management_console_url}/apiops/
```

### Example

* Manager URL: `https://demo.apinizer.com`
* API Base URL: `https://demo.apinizer.com/apiops/`

## Authentication

All endpoints (except the test endpoint) require authentication using a **Personal API Access Token**. The token must be included in the `Authorization` header:

```
Authorization: Bearer YOUR_TOKEN
```

See [Authentication](/api-reference/getting-started/authentication) for details on obtaining a token.

## API Versioning

The current API version is **v1**. All endpoints are under the `/apiops/` path.

## Response Format

### Success Response

Most endpoints return a standard success response:

```json theme={null}
{
  "success": true,
  "resultList": [...],
  "resultCount": 1
}
```

### Error Response

Error responses follow this format:

```json theme={null}
{
  "error": "error_code",
  "error_description": "Human-readable error message"
}
```

See [Error Handling](/api-reference/getting-started/error-handling) for details on error codes and handling.

## HTTP Methods

The API uses standard HTTP methods:

* `GET` - Retrieve resources
* `POST` - Create resources
* `PUT` - Update resources (full update)
* `PATCH` - Partial update (where supported)
* `DELETE` - Delete resources

## Content Types

* **Request**: `application/json` (for POST/PUT requests)
* **Response**: `application/json`

## Common Headers

### Request Headers

| Header        | Required       | Description                     |
| ------------- | -------------- | ------------------------------- |
| Authorization | Yes            | Bearer token for authentication |
| Content-Type  | Yes (POST/PUT) | `application/json`              |

### Response Headers

| Header       | Description                      |
| ------------ | -------------------------------- |
| Content-Type | `application/json;charset=UTF-8` |

## Path Parameters

Path parameters are used in URL paths:

```
/apiops/projects/{projectName}/apiProxies/{apiProxyName}/
```

Where `{projectName}` and `{apiProxyName}` are path parameters.

## Query Parameters

Query parameters are optional and used for filtering, pagination, etc.:

```
/apiops/projects/?page=1&size=10
```

## Permissions

The Management API uses project-based permission system. All endpoints require authentication and appropriate permissions:

### Permission Model

* **GET Operations**: User must have **any permission** in the project (read access)
* **POST/PUT/DELETE/PATCH Operations**: User must have **specific category and action permissions**:
  * **API Management** (`API_MANAGEMENT` + `MANAGE`): Required for API Proxy and Policy operations
  * **Connections** (`CONNECTIONS` + `MANAGE`): Required for Connection operations
  * **Identity** (`IDENTITY` + `MANAGE`): Required for Credential operations
* **Deployment Operations**: Requires additional `DEPLOY_UNDEPLOY` permission in addition to the base permission

### Permission Categories

| Category          | Description                        | Used For                                                                                |
| ----------------- | ---------------------------------- | --------------------------------------------------------------------------------------- |
| `API_MANAGEMENT`  | API Proxy and Policy management    | Creating, updating, deleting API Proxies, Policies, API Proxy Groups, Endpoints         |
| `CONNECTIONS`     | Connection management              | Creating, updating, deleting Connections                                                |
| `IDENTITY`        | Identity and credential management | Creating, updating, deleting Credentials, RLCL                                          |
| `SECRETS`         | Secrets and environment variables  | Creating, updating, deleting Environment Variables, Certificates, Keys, Keystores, JWKs |
| `GLOBAL_SETTINGS` | Global settings management         | Creating, updating, deleting IP Groups                                                  |

### Permission Actions

| Action            | Description                                           |
| ----------------- | ----------------------------------------------------- |
| `MANAGE`          | Full management access (create, update, delete)       |
| `DEPLOY_UNDEPLOY` | Deploy and undeploy operations                        |
| `EXPORT_IMPORT`   | Export and import operations (API Proxy, Certificate) |

### Special Permissions

* **System Admin (`sysAdmin`)**: Required for certain administrative operations:
  * List all environments (system-wide)
  * Reports generation
  * Admin project access
* **Project Admin**: For some operations, having project admin role is sufficient instead of specific category permissions

### Error Responses

If a user lacks required permissions, the API returns:

```json theme={null}
{
  "error": "bad_request",
  "error_description": "User does not have required permission for this operation!"
}
```

Or for deployment operations:

```json theme={null}
{
  "error": "bad_request",
  "error_description": "User does not have required permission to deploy/undeploy API Proxy!"
}
```

## Next Steps

<Steps>
  <Step title="Get your API token">
    See [Authentication](/api-reference/getting-started/authentication) for details.
  </Step>

  <Step title="Learn about base URLs">
    See [Base URL](/api-reference/getting-started/base-url) for details.
  </Step>

  <Step title="Understand error handling">
    See [Error Handling](/api-reference/getting-started/error-handling) for details.
  </Step>

  <Step title="Explore the API reference">
    See [API Reference](/api-reference/overview) for complete endpoint documentation.
  </Step>
</Steps>
