Ana içeriğe atla

Endpoint

PATCH /apiops/projects/{projectName}/apiProxies/{apiProxyName}/settings/traffic-log/

Authentication

Requires a Personal API Access Token.
Authorization: Bearer YOUR_TOKEN

Request

Headers

HeaderValueRequired
AuthorizationBearer Yes
Content-Typeapplication/jsonYes

Path Parameters

ParameterTypeRequiredDescription
projectNamestringYesProject name
apiProxyNamestringYesAPI 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

FieldTypeRequiredDefaultDescription
enabledTraceLogbooleanNo-Enable/disable trace log
enabledApplicationLogbooleanNo-Enable/disable application log
apiProxyTrafficLogSettingsListarrayNo[]List of environment-specific traffic log settings

Traffic Log Setting Item (apiProxyTrafficLogSettingsList)

FieldTypeRequiredDefaultDescription
environmentNamestringYes-Environment name
logParamRequestFromClientbooleanNotrueLog query parameters from client request
logHeaderRequestFromClientbooleanNotrueLog headers from client request
logBodyRequestFromClientbooleanNotrueLog body from client request
logParamRequestToTargetbooleanNotrueLog query parameters sent to target
logHeaderRequestToTargetbooleanNotrueLog headers sent to target
logBodyRequestToTargetbooleanNotrueLog body sent to target
logHeaderResponseFromTargetbooleanNotrueLog headers from target response
logBodyResponseFromTargetbooleanNotrueLog body from target response
logHeaderResponseToClientbooleanNotrueLog headers sent to client response
logBodyResponseToClientbooleanNotrueLog body sent to client response
enableDatabaseConnectorbooleanNofalseEnable database connector for log export
enableElasticsearchConnectorbooleanNofalseEnable Elasticsearch connector for log export
enableSyslogConnectorbooleanNofalseEnable Syslog connector for log export
enableWebhookConnectorbooleanNofalseEnable Webhook connector for log export
enableRabbitMqConnectorbooleanNofalseEnable RabbitMQ connector for log export
enableActiveMqConnectorbooleanNofalseEnable ActiveMQ connector for log export
enableKafkaConnectorbooleanNofalseEnable Kafka connector for log export
enableGraylogConnectorbooleanNofalseEnable Graylog connector for log export
enableLogbackConnectorbooleanNofalseEnable 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)

{
  "success": true
}

Response Fields

FieldTypeDescription
successbooleanIndicates 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

Example 1: Configure Traffic Logging for Single Environment

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
      }
    ]
  }'

Example 2: Configure Multiple Environments

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

User must have API_MANAGEMENT + MANAGE permission in the project.