Applications¶
Method | Path (Parameters are case-sensitive) | Return Model | Summary |
---|---|---|---|
GET | /applications | List[Application] | List all applications. |
GET | /applications/{applicationName} | Application | Get details of an application. |
POST | /applications/{applicationName}/subscription | Application | Subscribe an application to a event source. |
DELETE | /applications/{applicationName}/subscription | Application | Unsubscribe an application from an event source. |
PUT | /applications/{applicationName}/eventFilter | Application | Filter application events types. |
list¶
GET /applications¶
List all applications.
get¶
GET /applications/{applicationName}¶
Get details of an application.
Path parameters¶
Parameters are case-sensitive. * applicationName: string - Application's name
Error Responses¶
- 404 - Application does not exist.
subscribe¶
POST /applications/{applicationName}/subscription¶
Subscribe an application to a event source. Returns the state of the application after the subscriptions have changed
Path parameters¶
Parameters are case-sensitive. * applicationName: string - Application's name
Query parameters¶
- eventSource: string - (required) URI for event source (channel:{channelId}, bridge:{bridgeId}, endpoint:{tech}[/{resource}], deviceState:{deviceName}
- Allows comma separated values.
Error Responses¶
- 400 - Missing parameter.
- 404 - Application does not exist.
- 422 - Event source does not exist.
unsubscribe¶
DELETE /applications/{applicationName}/subscription¶
Unsubscribe an application from an event source. Returns the state of the application after the subscriptions have changed
Path parameters¶
Parameters are case-sensitive. * applicationName: string - Application's name
Query parameters¶
- eventSource: string - (required) URI for event source (channel:{channelId}, bridge:{bridgeId}, endpoint:{tech}[/{resource}], deviceState:{deviceName}
- Allows comma separated values.
Error Responses¶
- 400 - Missing parameter; event source scheme not recognized.
- 404 - Application does not exist.
- 409 - Application not subscribed to event source.
- 422 - Event source does not exist.
filter¶
PUT /applications/{applicationName}/eventFilter¶
Filter application events types. Allowed and/or disallowed event type filtering can be done. The body (parameter) should specify a JSON key/value object that describes the type of event filtering needed. One, or both of the following keys can be designated:
"allowed" - Specifies an allowed list of event types "disallowed" - Specifies a disallowed list of event types
Further, each of those key's value should be a JSON array that holds zero, or more JSON key/value objects. Each of these objects must contain the following key with an associated value:
"type" - The type name of the event to filter
The value must be the string name (case sensitive) of the event type that needs filtering. For example:
{ "allowed": [ { "type": "StasisStart" }, { "type": "StasisEnd" } ] }
As this specifies only an allowed list, then only those two event type messages are sent to the application. No other event messages are sent.
The following rules apply:
- If the body is empty, both the allowed and disallowed filters are set empty.
- If both list types are given then both are set to their respective values (note, specifying an empty array for a given type sets that type to empty).
- If only one list type is given then only that type is set. The other type is not updated.
- An empty "allowed" list means all events are allowed.
- An empty "disallowed" list means no events are disallowed.
- Disallowed events take precedence over allowed events if the event type is specified in both lists.
Path parameters¶
Parameters are case-sensitive. * applicationName: string - Application's name
Body parameter¶
- filter: object - Specify which event types to allow/disallow
Error Responses¶
- 400 - Bad request.
- 404 - Application does not exist.