Cisco AMP for Endpoints API

POST /v1/event_streams


Creates a new AMQP messaging resource for events information

When successfully requested, will create a streaming resource accessible using the Advanced Messaging Queue Protocol (AMQP)

The credentials that can be used to connect to this queue are returned in the API response, which includes amqp_credentials hash with keys user_name, password, queue_name, host, port, and proto. You can use these to connect to queue with any client adhering to the AMQP protocol

Other important notes:

  • The passive and durable bits should be set on the queue
  • The protocol is over SSL/TLS. Therefore you should either prefix the uri with amqps:// or explicitly enable TLS on your client
  • This is the only time you will see the password

Example implementation in Ruby:

Client implementation with the bunny gem:

require 'bunny'

connection_url = "#{amqp_credentials['proto']}://#{amqp_credentials['user_name']}:#{amqp_credentials['password']}@#{amqp_credentials['host']}:#{amqp_credentials['port']}"

conn =

ch = conn.create_channel
q  = ch.queue(amqp_credentials['queue_name'], :passive => true, :durable => true)
x  = ch.default_exchange

q.subscribe(:block => true) do |delivery_info, metadata, payload|
  puts "Received #{payload}"

Please note that you can obtain the information about event stream not only from API response immediately after create action, but via the endpoint GET '/v1/event_streams/' without showing the password.

API Limitations

  • Events have a time-to-live (TTL) of 10 days within each streaming resource
  • limit of 5 active resources across each organization

Show Response Fields

Name Type Description
version String
metadata.links.self String Integer String
data.amqp_credentials.user_name String
data.amqp_credentials.password String
data.amqp_credentials.queue_name String String
data.amqp_credentials.port String
data.amqp_credentials.proto String


Creates a new event stream

Creates a new event stream


Requires Authorization
POST /v1/event_streams
accept: application/json
content-type: application/json
authorization: Basic FILTERED
content-length: 99

cURL Edit, then copy and paste on your terminal

curl -X POST \
-H 'accept: application/json' \
-H 'content-type: application/json' \
-H 'content-length: 99' \
--compressed -H 'Accept-Encoding: gzip, deflate' \
-d '{"name":"UPqibRzB","event_type":[1090519054],"group_guid":["67b5e432-1d8c-4a1c-9208-17d2c797e318"]}' \


Shortened for readability

strict-transport-security: max-age=31536000
content-type: application/json; charset=utf-8
status: 201 Created
x-ratelimit-limit: 3000
x-ratelimit-reset: 1844
x-ratelimit-remaining: 2882
x-frame-options: SAMEORIGIN
x-ratelimit-resetdate: 2019-01-09T17:44:06Z
transfer-encoding: chunked
  "version": "v1.2.0",
  "metadata": {
    "links": {
      "self": ""
  "data": {
    "id": 25399,
    "name": "UPqibRzB",
    "group_guids": [
    "event_types": [
    "amqp_credentials": {
      "user_name": "25399-16db5cf986eec6f44422",
      "queue_name": "event_stream_25399",
      "password": "5afdac49a502c800d18d340797bfb7c3119abc37",
      "host": "",
      "port": "443",
      "proto": "https"