Update Traffic Log Settings
Overview
Updates traffic log settings for an API proxy. Traffic log settings control what request/response data is logged and which connectors are used for log export. Settings can be configured per environment.
Endpoint
PATCH /apiops/projects/{projectName}/apiProxies/{apiProxyName}/settings/traffic-log/
Authentication
Requires a Personal API Access Token.
Authorization: Bearer YOUR_TOKEN
Request
| 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
{
"enabledTraceLog": true,
"enabledApplicationLog": false,
"apiProxyTrafficLogSettingsList": [
{
"environmentName": "production",
"logParamRequestFromClient": true,
"logHeaderRequestFromClient": true,
"logBodyRequestFromClient": true,
"logParamRequestToTarget": true,
"logHeaderRequestToTarget": true,
"logBodyRequestToTarget": true,
"logHeaderResponseFromTarget": true,
"logBodyResponseFromTarget": true,
"logHeaderResponseToClient": true,
"logBodyResponseToClient": true,
"enableDatabaseConnector": false,
"enableElasticsearchConnector": true,
"enableSyslogConnector": false,
"enableWebhookConnector": false,
"enableRabbitMqConnector": false,
"enableActiveMqConnector": false,
"enableKafkaConnector": false,
"enableGraylogConnector": false,
"enableLogbackConnector": false
}
]
}
Request Body Fields
| Field |
Type |
Required |
Default |
Description |
| enabledTraceLog |
boolean |
No |
- |
Enable/disable trace log |
| enabledApplicationLog |
boolean |
No |
- |
Enable/disable application log |
| apiProxyTrafficLogSettingsList |
array |
No |
[] |
List of environment-specific traffic log settings |
Traffic Log Setting Item (apiProxyTrafficLogSettingsList)
| Field |
Type |
Required |
Default |
Description |
| environmentName |
string |
Yes |
- |
Environment name |
| logParamRequestFromClient |
boolean |
No |
true |
Log query parameters from client request |
| logHeaderRequestFromClient |
boolean |
No |
true |
Log headers from client request |
| logBodyRequestFromClient |
boolean |
No |
true |
Log body from client request |
| logParamRequestToTarget |
boolean |
No |
true |
Log query parameters sent to target |
| logHeaderRequestToTarget |
boolean |
No |
true |
Log headers sent to target |
| logBodyRequestToTarget |
boolean |
No |
true |
Log body sent to target |
| logHeaderResponseFromTarget |
boolean |
No |
true |
Log headers from target response |
| logBodyResponseFromTarget |
boolean |
No |
true |
Log body from target response |
| logHeaderResponseToClient |
boolean |
No |
true |
Log headers sent to client response |
| logBodyResponseToClient |
boolean |
No |
true |
Log body sent to client response |
| enableDatabaseConnector |
boolean |
No |
false |
Enable database connector for log export |
| enableElasticsearchConnector |
boolean |
No |
false |
Enable Elasticsearch connector for log export |
| enableSyslogConnector |
boolean |
No |
false |
Enable Syslog connector for log export |
| enableWebhookConnector |
boolean |
No |
false |
Enable Webhook connector for log export |
| enableRabbitMqConnector |
boolean |
No |
false |
Enable RabbitMQ connector for log export |
| enableActiveMqConnector |
boolean |
No |
false |
Enable ActiveMQ connector for log export |
| enableKafkaConnector |
boolean |
No |
false |
Enable Kafka connector for log export |
| enableGraylogConnector |
boolean |
No |
false |
Enable Graylog connector for log export |
| enableLogbackConnector |
boolean |
No |
false |
Enable Logback connector for log export |
Note: All fields are optional. Only provided fields are updated.
Connectors
Connectors must be created and configured before enabling them. See Connections API for connector management.
Response
Success Response (200 OK)
Response Fields
| Field |
Type |
Description |
| success |
boolean |
Indicates if the request was successful |
Error Response (400 Bad Request)
{
"error": "bad_request",
"error_description": "environmentName value can not be empty in traffic log settings!"
}
Common Causes
- Missing
environmentName in traffic log settings item
- Environment name does not exist
- Invalid connector configuration
Error Response (401 Unauthorized)
{
"error": "unauthorized_client",
"error_description": "Invalid token"
}
Error Response (404 Not Found)
{
"error": "not_found",
"error_description": "ApiProxy (name: MyAPI) was not found!"
}
cURL Example
curl -X PATCH \
"https://demo.apinizer.com/apiops/projects/MyProject/apiProxies/MyAPI/settings/traffic-log/" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"enabledTraceLog": true,
"apiProxyTrafficLogSettingsList": [
{
"environmentName": "production",
"logParamRequestFromClient": true,
"logHeaderRequestFromClient": true,
"logBodyRequestFromClient": true,
"logBodyResponseFromTarget": true,
"enableElasticsearchConnector": true
}
]
}'
curl -X PATCH \
"https://demo.apinizer.com/apiops/projects/MyProject/apiProxies/MyAPI/settings/traffic-log/" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"enabledTraceLog": true,
"enabledApplicationLog": false,
"apiProxyTrafficLogSettingsList": [
{
"environmentName": "production",
"logHeaderRequestFromClient": true,
"logBodyRequestFromClient": true,
"logBodyResponseFromTarget": true,
"enableElasticsearchConnector": true,
"enableKafkaConnector": true
},
{
"environmentName": "staging",
"logParamRequestFromClient": true,
"logHeaderRequestFromClient": true,
"logBodyRequestFromClient": true,
"enableDatabaseConnector": true
}
]
}'
Notes and Warnings
- Environment-Specific: Traffic log settings are configured per environment
- Environment Name: Must match an existing environment name
- Connectors: Connectors must be created before enabling (see Connections API)
- Logging Overhead: Logging request/response bodies can impact performance
- Data Privacy: Be careful when logging sensitive data (passwords, tokens, etc.)
- Trace Log:
enabledTraceLog enables trace logging for debugging
- Application Log:
enabledApplicationLog enables application-level logging
- Default Values: Most log fields default to
true if not specified
- Permissions: Requires
ROLE_MANAGE_PROXIES permission