Update Maintenance Mode
Endpoint
PATCH /apiops/projects/{projectName}/apiProxies/{apiProxyName}/settings/maintenance-mode/
Authentication
Requires a Personal API Access Token.
Header
Authorization: Bearer YOUR_TOKEN
Request
Headers
| Header | Value | Required |
|---|---|---|
| Authorization | Bearer {token} | Yes |
| Content-Type | application/json | Yes |
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| projectName | string | Yes | Project name |
| apiProxyName | string | Yes | API Proxy name |
Request Body
Full JSON Body Example
{
"enabled": true,
"httpStatusCode": 503,
"contentType": "application/json; charset=utf-8",
"message": "{\"status\": 503, \"message\": \"Service is currently under maintenance. Please try again later.\"}",
"deploy": false,
"deployTargetEnvironmentNameList": []
}
Request Body Fields
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
| enabled | boolean | No | false | Enable or disable maintenance mode |
| httpStatusCode | integer | No | 403 | HTTP status code returned to clients during maintenance |
| contentType | string | No | application/json; charset=utf-8 | Content-Type header of the maintenance response |
| message | string | No | (default message) | Response body message returned to clients during maintenance |
| deploy | boolean | No | false | If true, deploy the API proxy after saving changes |
| deployTargetEnvironmentNameList | array[string] | No | - | List of environment names to deploy to (required when deploy=true) |
Note: All fields are optional. Only provided fields are updated. Omitted fields retain their current values.
Response
Success Response (200 OK)
{
"success": true
}
Response Fields
| Field | Type | Description |
|---|---|---|
| success | boolean | Indicates if the request was successful |
When deploy=true is specified:
{
"success": true,
"deploymentResult": {
"success": true,
"deploymentResults": [
{
"environmentName": "production",
"success": true,
"message": "Deployment successful"
}
]
}
}
| Field | Type | Description |
|---|---|---|
| deploymentResult | object | Only present when deploy=true |
| deploymentResult.success | boolean | Indicates if the overall deployment was successful |
| deploymentResult.deploymentResults | array | List of deployment results per environment |
Error Response (401 Unauthorized)
{
"status": "FAILURE",
"resultMessage": "Token is not valid!"
}
Error Response (400 Bad Request)
{
"status": "FAILURE",
"resultMessage": "ApiProxy (name: MyAPI) was not found!"
}
cURL Example
Example 1: Enable Maintenance Mode
curl -X PATCH \
"https://demo.apinizer.com/apiops/projects/MyProject/apiProxies/MyAPI/settings/maintenance-mode/" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"enabled": true,
"httpStatusCode": 503,
"contentType": "application/json; charset=utf-8",
"message": "{\"status\": 503, \"message\": \"Service is under maintenance\"}"
}'
Example 2: Disable Maintenance Mode
curl -X PATCH \
"https://demo.apinizer.com/apiops/projects/MyProject/apiProxies/MyAPI/settings/maintenance-mode/" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"enabled": false
}'
Example 3: Update Only the Status Code
curl -X PATCH \
"https://demo.apinizer.com/apiops/projects/MyProject/apiProxies/MyAPI/settings/maintenance-mode/" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"httpStatusCode": 503
}'
Example 4: Save and Deploy
curl -X PATCH \
"https://demo.apinizer.com/apiops/projects/MyProject/apiProxies/MyAPI/settings/maintenance-mode/" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"enabled": true,
"httpStatusCode": 503,
"deploy": true,
"deployTargetEnvironmentNameList": ["production"]
}'
Permissions
User must have API_MANAGEMENT + MANAGE permission in the project.
Notes and Warnings
- Partial Update: Only provided fields are updated. You can send just the fields you want to change
- Immediate Effect: Changes take effect after the API proxy is redeployed
- Custom Message: The
messagefield accepts any string content. For JSON responses, ensure proper escaping - Content Type: The
contentTypefield controls theContent-Typeheader of the maintenance mode response - Default Status Code: If not specified, the default HTTP status code is
403 Forbidden - Deploy: When
deploy=true, the API proxy is automatically deployed to the specified environments after saving - Global Settings Group override: if the API proxy is attached to a Global Settings Group that defines its own maintenance mode, that group's values take precedence — a value sent through this endpoint is overwritten by the group's values the next time the group or the attachment is saved. Detach the proxy from the group, or edit the maintenance mode on the group itself, to change the effective values. This also applies when the proxy is created with a project's default Global Settings Group already assigned: the values sent at creation time are immediately overwritten by the default group's values.
Related Documentation
- Get API Proxy Detail - Get API proxy details
- Update Traffic Log Settings - Configure traffic logging
- Update Trace Settings - Configure trace settings
- Deploy API Proxy - Deploy API proxy to apply changes