FINOS Signals API
The Signals API from FINOS — 9 operation(s) for signals.
The Signals API from FINOS — 9 operation(s) for signals.
openapi: 3.0.1
info:
title: Agent Admin Signals API
description: 'This document refers to Symphony API calls to send and receive messages
and content. They need the on-premise Agent installed to perform
decryption/encryption of content.
- sessionToken and keyManagerToken can be obtained by calling the
authenticationAPI on the symphony back end and the key manager
respectively. Refer to the methods described in authenticatorAPI.yaml.
- Actions are defined to be atomic, ie will succeed in their entirety
or fail and have changed nothing.
- If it returns a 40X status then it will have sent no message to any
stream even if a request to some subset of the requested streams
would have succeeded.
- If this contract cannot be met for any reason then this is an error
and the response code will be 50X.
- MessageML is a markup language for messages. See reference here:
https://rest-api.symphony.com/docs/messagemlv2
- **Real Time Events**: The following events are returned when reading
from a real time messages and events stream ("datafeed"). These
events will be returned for datafeeds created with the v5 endpoints.
To know more about the endpoints, refer to Create Messages/Events
Stream and Read Messages/Events Stream. Unless otherwise specified,
all events were added in 1.46.
'
version: 25.8.1
servers:
- url: youragentURL.symphony.com/agent
tags:
- name: Signals
paths:
/v1/signals/list:
get:
tags:
- Signals
summary: 'List signals for the requesting user. This includes signals that the user has created and public signals
to which they subscribed.
'
parameters:
- name: sessionToken
in: header
description: Session authentication token.
required: true
schema:
type: string
- name: keyManagerToken
in: header
description: Key Manager authentication token.
schema:
type: string
- name: skip
in: query
description: No. of signals to skip.
schema:
type: integer
- name: limit
in: query
description: 'Max no. of signals to return. If no value is provided, 50 is the default. The maximum supported value is 500.
'
schema:
type: integer
responses:
200:
description: List of signals for the requesting user.
content:
application/json:
schema:
$ref: '#/components/schemas/SignalList'
400:
description: Client error, see response body for further details.
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
401:
description: 'Unauthorized: Session tokens invalid.'
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
403:
description: 'Forbidden: Caller lacks necessary entitlement.'
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
500:
description: Server error, see response body for further details.
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
/v1/signals/{id}/get:
get:
tags:
- Signals
summary: Get details of the requested signal.
parameters:
- name: sessionToken
in: header
description: Session authentication token.
required: true
schema:
type: string
- name: keyManagerToken
in: header
description: Key Manager authentication token.
schema:
type: string
- name: id
in: path
description: The ID of the signal to display.
required: true
schema:
type: string
responses:
200:
description: List of signals for the requesting user.
content:
application/json:
schema:
$ref: '#/components/schemas/Signal'
400:
description: Client error, see response body for further details.
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
401:
description: 'Unauthorized: Session tokens invalid.'
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
403:
description: 'Forbidden: Caller lacks necessary entitlement.'
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
500:
description: Server error, see response body for further details.
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
/v1/signals/create:
post:
tags:
- Signals
summary: Create a signal.
parameters:
- name: sessionToken
in: header
description: Session authentication token.
required: true
schema:
type: string
- name: keyManagerToken
in: header
description: Key Manager authentication token.
schema:
type: string
requestBody:
description: Signal definition.
content:
application/json:
schema:
$ref: '#/components/schemas/BaseSignal'
required: true
responses:
200:
description: Signal created.
content:
application/json:
schema:
$ref: '#/components/schemas/Signal'
400:
description: Client error, see response body for further details.
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
401:
description: 'Unauthorized: Session tokens invalid.'
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
403:
description: 'Forbidden: Caller lacks necessary entitlement.'
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
451:
description: Compliance Issues found in signal
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
500:
description: Server error, see response body for further details.
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
x-codegen-request-body-name: signal
/v1/signals/{id}/update:
post:
tags:
- Signals
summary: Update a signal.
parameters:
- name: sessionToken
in: header
description: Session authentication token.
required: true
schema:
type: string
- name: keyManagerToken
in: header
description: Key Manager authentication token.
schema:
type: string
- name: id
in: path
description: The id of the signal.
required: true
schema:
type: string
requestBody:
description: Signal definition.
content:
application/json:
schema:
$ref: '#/components/schemas/BaseSignal'
required: true
responses:
200:
description: Signal updated.
content:
application/json:
schema:
$ref: '#/components/schemas/Signal'
400:
description: Client error, see response body for further details.
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
401:
description: 'Unauthorized: Session tokens invalid.'
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
403:
description: 'Forbidden: Caller lacks necessary entitlement.'
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
451:
description: Compliance Issues found in signal
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
500:
description: Server error, see response body for further details.
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
x-codegen-request-body-name: signal
/v1/signals/{id}/delete:
post:
tags:
- Signals
summary: Delete a signal.
parameters:
- name: sessionToken
in: header
description: Session authentication token.
required: true
schema:
type: string
- name: keyManagerToken
in: header
description: Key Manager authentication token.
schema:
type: string
- name: id
in: path
description: The id of the signal.
required: true
schema:
type: string
responses:
200:
description: Signal deleted.
content:
application/json:
schema:
$ref: '#/components/schemas/SuccessResponse'
400:
description: Client error, see response body for further details.
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
401:
description: 'Unauthorized: Session tokens invalid.'
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
403:
description: 'Forbidden: Caller lacks necessary entitlement.'
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
500:
description: Server error, see response body for further details.
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
/v1/signals/{id}/subscribe:
post:
tags:
- Signals
summary: Subscribe to a Signal.
parameters:
- name: sessionToken
in: header
description: Session authentication token.
required: true
schema:
type: string
- name: keyManagerToken
in: header
description: Key Manager authentication token.
schema:
type: string
- name: id
in: path
description: The id of the signal.
required: true
schema:
type: string
- name: pushed
in: query
description: Prevent the user to unsubscribe (only for bulk subscription)
schema:
type: boolean
requestBody:
description: UserIds to subscribe (only for bulk subscription)
content:
application/json:
schema:
type: array
items:
type: integer
format: int64
required: false
responses:
200:
description: Signal subscribed.
content:
application/json:
schema:
$ref: '#/components/schemas/ChannelSubscriptionResponse'
400:
description: Client error, see response body for further details.
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
401:
description: 'Unauthorized: Session tokens invalid.'
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
403:
description: 'Forbidden: Caller lacks necessary entitlement.'
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
500:
description: Server error, see response body for further details.
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
x-codegen-request-body-name: users
/v1/signals/{id}/unsubscribe:
post:
tags:
- Signals
summary: Unsubscribe to a Signal.
parameters:
- name: sessionToken
in: header
description: Session authentication token.
required: true
schema:
type: string
- name: keyManagerToken
in: header
description: Key Manager authentication token.
schema:
type: string
- name: id
in: path
description: The id of the signal.
required: true
schema:
type: string
requestBody:
description: UserIds to unsubscribe (only for bulk unsubscription)
content:
application/json:
schema:
type: array
items:
type: integer
format: int64
required: false
responses:
200:
description: Signal unsubscribed.
content:
application/json:
schema:
$ref: '#/components/schemas/ChannelSubscriptionResponse'
400:
description: Client error, see response body for further details.
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
401:
description: 'Unauthorized: Session tokens invalid.'
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
403:
description: 'Forbidden: Caller lacks necessary entitlement.'
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
500:
description: Server error, see response body for further details.
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
x-codegen-request-body-name: users
/v1/signals/{id}/subscribers:
get:
tags:
- Signals
summary: Get the subscribers of a signal
parameters:
- name: sessionToken
in: header
description: Session authentication token.
required: true
schema:
type: string
- name: keyManagerToken
in: header
description: Key Manager authentication token.
schema:
type: string
- name: id
in: path
description: The id of the signal.
required: true
schema:
type: string
- name: skip
in: query
description: No. of results to skip.
schema:
type: integer
default: 0
- name: limit
in: query
description: Max No. of subscribers to return. If no value is provided, 100 is the default.
schema:
type: integer
default: 100
responses:
200:
description: Signal Subscribers.
content:
application/json:
schema:
$ref: '#/components/schemas/ChannelSubscriberResponse'
400:
description: Client error, see response body for further details.
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
401:
description: 'Unauthorized: Session tokens invalid.'
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
403:
description: 'Forbidden: Caller lacks necessary entitlement.'
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
500:
description: Server error, see response body for further details.
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
/v1/info:
get:
tags:
- Signals
summary: Get information about the Agent
responses:
200:
description: Agent info.
content:
application/json:
schema:
$ref: '#/components/schemas/AgentInfo'
400:
description: Client error, see response body for further details.
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
401:
description: 'Unauthorized: Session tokens invalid.'
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
403:
description: 'Forbidden: Caller lacks necessary entitlement.'
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
500:
description: Server error, see response body for further details.
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
components:
schemas:
BaseSignal:
type: object
properties:
name:
type: string
description: Signal name
query:
type: string
description: 'The query used to define this signal. The query is defined as "field:value" pairs combined by the operators
"AND" or "OR". Supported fields are (case-insensitive): "author", "hashtag" and "cashtag".
MUST contain at least one "hashtag" or "cashtag" definition.
'
visibleOnProfile:
type: boolean
description: Whether the signal is visible on its creator's profile
companyWide:
type: boolean
description: Whether the signal is a push signal
AgentInfo:
type: object
properties:
ipAddress:
type: string
description: The IP address of the Agent server.
hostname:
type: string
description: The hostname of the Agent server.
serverFqdn:
type: string
description: The fully-qualified domain name of the Agent server. Must be set by the user at startup.
version:
type: string
description: The version of the Agent.
url:
type: string
description: The URL under which the Agent is available.
onPrem:
type: boolean
description: Whether this is an on-prem or cloud installation.
mt:
type: boolean
description: Whether this is a multi tenant instance.
commitId:
type: string
description: The Git commit ID of the running revision.
SuccessResponse:
type: object
properties:
format:
type: string
enum:
- TEXT
- XML
message:
type: string
ChannelSubscriptionResponse:
type: object
properties:
requestedSubscription:
type: integer
description: The number of requested userIds to subscribe
format: int64
successfulSubscription:
type: integer
description: The number of successful subscriptions done
format: int64
failedSubscription:
type: integer
description: The number of subscription failures
format: int64
subscriptionErrors:
type: array
items:
$ref: '#/components/schemas/ChannelSubscriptionError'
ChannelSubscriber:
type: object
properties:
subscriptionId:
type: string
pushed:
type: boolean
description: True if the subscriber is allowed to unsubscribe
default: false
owner:
type: boolean
description: True if the subscriber is the creator
default: false
subscriberName:
type: string
description: User display name
userId:
type: integer
description: The user ID of the subscriber
format: int64
timestamp:
type: integer
description: Timestamp when the signal was subscribed, in milliseconds since Jan 1 1970
format: int64
Signal:
allOf:
- $ref: '#/components/schemas/BaseSignal'
- type: object
properties:
id:
type: string
description: Signal ID
timestamp:
type: integer
description: Timestamp when the signal was created, in milliseconds since Jan 1 1970
format: int64
V2Error:
required:
- code
- message
type: object
properties:
code:
type: integer
format: int32
message:
type: string
details:
type: object
ChannelSubscriberResponse:
type: object
properties:
offset:
type: integer
description: The number of subscribers skipped
format: int64
hasMore:
type: boolean
description: True if there are more subscribers
total:
type: integer
description: The total number of subscribers
data:
type: array
items:
$ref: '#/components/schemas/ChannelSubscriber'
ChannelSubscriptionError:
type: object
properties:
userId:
type: integer
description: The userId on which failure happened
format: int64
code:
type: string
description: subscription failure code
message:
type: string
description: subscription failure message
SignalList:
type: array
items:
$ref: '#/components/schemas/Signal'