v1

latestOpenAPI 3.0.0Apache 2.02026-07-1410280162.7 KB
configuration

Update the global configuration with a diff

Update the global configuration with a diff

patch/api/globalconfig

Request body

op'add' | 'replace' | 'remove' | 'copy' | 'test' required
pathstring required
{"stackTrail":"components:schemas:Patch:items:properties:value","oasType":"schema","type":"unknown"}

Example request

[
  {
    "path": "a string value"
  }
]

Response

Successful operation

alertsEmailsstring[] required

Email addresses that will receive all Otoroshi alert events

apiReadOnlyboolean required

If enabled, Admin API won't be able to write/update/delete entities

autoLinkToDefaultGroupboolean required

If not defined, every new service descriptor will be added to the default group

endlessIpAddressesstring[] required

IP addresses for which any request to Otoroshi will respond with 128 Gb of zeros

limitConcurrentRequestsboolean required

If enabled, Otoroshi will reject new request if too much at the same time

linesstring[]

Possibles lines for Otoroshi

maxConcurrentRequestsinteger required

The number of authorized request processed at the same time

maxHttp10ResponseSizeinteger

The max size in bytes of an HTTP 1.0 response

maxLogsSizeinteger

Number of events kept locally

middleFingersboolean

Use middle finger emoji as a response character for endless HTTP responses

perIpThrottlingQuotainteger required

Authorized number of calls per second globally per IP address, measured on 10 seconds

streamEntityOnlyboolean required

HTTP will be streamed only. Doesn't work with old browsers

throttlingQuotainteger required

Authorized number of calls per second globally, measured on 10 seconds

u2fLoginOnlyboolean required

If enabled, login to backoffice through Auth0 will be disabled

useCircuitBreakersboolean required

If enabled, services will be authorized to use circuit breakers

Example response

{
  "alertsEmails": [
    "admin@otoroshi.io"
  ],
  "alertsWebhooks": [
    {
      "headers": {
        "key": "value"
      },
      "url": "http://www.google.com"
    }
  ],
  "analyticsWebhooks": [
    {
      "headers": {
        "key": "value"
      },
      "url": "http://www.google.com"
    }
  ],
  "apiReadOnly": true,
  "autoLinkToDefaultGroup": true,
  "backofficeAuth0Config": {
    "callbackUrl": "a string value",
    "clientId": "a string value",
    "clientSecret": "a string value",
    "domain": "a string value"
  },
  "cleverSettings": {
    "consumerKey": "a string value",
    "consumerSecret": "a string value",
    "orgaId": "a string value",
    "secret": "a string value",
    "token": "a string value"
  },
  "elasticReadsConfig": {
    "clusterUri": "a string value",
    "headers": {
      "key": "value"
    },
    "index": "a string value",
    "password": "a string value",
    "type": "a string value",
    "user": "a string value"
  },
  "elasticWritesConfigs": [
    {
      "clusterUri": "a string value",
      "headers": {
        "key": "value"
      },
      "index": "a string value",
      "password": "a string value",
      "type": "a string value",
      "user": "a string value"
    }
  ],
  "endlessIpAddresses": [
    "192.192.192.192"
  ],
  "ipFiltering": {
    "blacklist": [
      "192.192.192.192"
    ],
    "whitelist": [
      "192.192.192.192"
    ]
  },
  "limitConcurrentRequests": true,
  "lines": [
    "a string value"
  ],
  "mailerSettings": {
    "apiKey": "a string value",
    "apiKeyPrivate": "a string value",
    "apiKeyPublic": "a string value",
    "domain": "a string value",
    "eu": true,
    "header": {
      "key": "value"
    },
    "type": "a string value",
    "url": "a string value"
  },
  "maxConcurrentRequests": 123,
  "maxHttp10ResponseSize": 123,
  "maxLogsSize": 123123,
  "middleFingers": true,
  "perIpThrottlingQuota": 123,
  "privateAppsAuth0Config": {
    "callbackUrl": "a string value",
    "clientId": "a string value",
    "clientSecret": "a string value",
    "domain": "a string value"
  },
  "streamEntityOnly": true,
  "throttlingQuota": 123,
  "u2fLoginOnly": true,
  "useCircuitBreakers": true
}