Broadcaster APIs

Broadcasts requests to multiple Varnish caches from a single entry point. The initial thought is to ease-up purging/banning across multiple Varnish cache instances. The broadcaster consists of a web-server with a REST API which will receive invalidation requests and distribute these requests to all configured caches. By default the broadcaster is exposed on port 8088. The default port under which the broadcaster management is exposed is 8089. The default host address where the broadcaster will run is localhost.

Please read our documentation for more details.

Response depends on Sync or Async Request.


Parameters
NameTypeInDescription
X-Broadcast-Groupstringheader
Space separated group names
X-keystringheader
X-key is an advanced method of purging, where objects in the cache are tagged with keys that can then be referenced in invalidation requests
Responses
CodeDescription
200
Successful Operation!
{
  "done": true,
  "err": "Purge http://localhost:6081/anything: dial tcp 0.0.0.0:0->127.0.0.1:6081: connect: connection refused",
  "method": "PURGE",
  "nodes": {
    "Cache1": 200,
    "Cache2": 200,
    "Cache3": 400
  },
  "rate": 0,
  "ts": 1534424945,
  "url": "/lorem/ipsum/"
}
202
Accepted
500
Internal Server Error

Response depends on Sync or Async Request.


Parameters
NameTypeInDescription
X-Broadcast-Groupstringheader
Space separated group names
X-keystringheader
X-key is an advanced method of purging, where objects in the cache are tagged with keys that can then be referenced in invalidation requests
Responses
CodeDescription
200
Successful Operation!
{
  "done": true,
  "err": "Ban http://localhost:6081/anything: dial tcp 0.0.0.0:0->127.0.0.1:6081: connect: connection refused",
  "method": "BAN",
  "nodes": {
    "Cache1": 200,
    "Cache2": 200,
    "Cache3": 400
  },
  "rate": 0,
  "ts": 1534424945,
  "url": "/lorem/ipsum/"
}
202
Accepted
500
Internal Server Error
Parameters
No Parameters
Responses
CodeDescription
200
Successul Operation!
{
  "async": false,
  "groupa": [
    {
      "name": "Cache1",
      "address": "http://localhost:6081"
    },
    {
      "name": "Cache2",
      "address": "http://localhost:6082"
    }
  ],
  "groupb": [
    {
      "name": "Cache3",
      "address": "http://localhost:6083"
    },
    {
      "name": "Cache4",
      "address": "http://localhost:6084"
    }
  ]
}
500
Internal Server Error
Parameters
NameTypeInDescription
jobIdobjectpath
ID of the job you want to check status of.
Responses
CodeDescription
200
Successful Operation!
{
  "1448491711": {
    "method": "PURGE",
    "uri": "lorem/ipsum",
    "ts": 1534428270,
    "nodes": {
      "Cache1": 500,
      "Cache2": 200,
      "Cache3": 200,
      "Cache4": 200
    },
    "rate": 0,
    "done": true,
    "err": "Purge http://localhost:6081/someurl: dial tcp 0.0.0.0:0->127.0.0.1:6081: connect: connection refused"
  }
}
202
Accepted!