FINOS Violations API
The Violations API from FINOS — 7 operation(s) for violations.
The Violations API from FINOS — 7 operation(s) for violations.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/finos-violations-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Agent Violations 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: Violations
paths:
/v1/dlp/violations/message:
get:
tags:
- Violations
summary: Get violations as a result of policy enforcement on messages.
parameters:
- name: startTime
in: query
description: 'Timestamp of the first required violation.
This is a long integer value representing milliseconds since Jan 1 1970
'
required: true
schema:
type: integer
format: int64
- name: endTime
in: query
description: 'Timestamp of the last required violation.
This is a long integer value representing milliseconds since Jan 1 1970
If unspecified, it will default to current time of the request.
'
schema:
type: integer
format: int64
- name: next
in: query
description: Offset of the next chunk of violations. Value is null for the first request.
schema:
type: string
- name: limit
in: query
description: 'Max No. of violations to return. If no value is provided, 50 is the default. The maximum supported value is 500.
'
schema:
type: integer
- 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
responses:
200:
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/V1DLPViolationMessageResponse'
204:
description: No Messages.
content: {}
400:
description: Client error, see response body for further details.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
401:
description: 'Unauthorized: Session tokens invalid.'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
403:
description: 'Forbidden: Caller lacks necessary entitlement.'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
500:
description: Server error, see response body for further details.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/v1/dlp/violations/stream:
get:
tags:
- Violations
summary: Get violations as a result of policy enforcement on streams.
parameters:
- name: startTime
in: query
description: 'Timestamp of the first required violation.
This is a long integer value representing milliseconds since Jan 1 1970
'
required: true
schema:
type: integer
format: int64
- name: endTime
in: query
description: 'Timestamp of the last required violation.
This is a long integer value representing milliseconds since Jan 1 1970
If unspecified, it will default to current time of the request.
'
schema:
type: integer
format: int64
- name: next
in: query
description: Offset of the next chunk of violations. Value is null for the first request.
schema:
type: string
- name: limit
in: query
description: 'Max No. of violations to return. If no value is provided, 50 is the default. The maximum supported value is 500.
'
schema:
type: integer
- 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
responses:
200:
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/V1DLPViolationStreamResponse'
204:
description: No Messages.
content: {}
400:
description: Client error, see response body for further details.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
401:
description: 'Unauthorized: Session tokens invalid.'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
403:
description: 'Forbidden: Caller lacks necessary entitlement.'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
500:
description: Server error, see response body for further details.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/v1/dlp/violations/signal:
get:
tags:
- Violations
summary: Get violations as a result of policy enforcement on signals.
parameters:
- name: startTime
in: query
description: 'Timestamp of the first required violation.
This is a long integer value representing milliseconds since Jan 1 1970
'
required: true
schema:
type: integer
format: int64
- name: endTime
in: query
description: 'Timestamp of the last required violation.
This is a long integer value representing milliseconds since Jan 1 1970
If unspecified, it will default to current time of the request.
'
schema:
type: integer
format: int64
- name: next
in: query
description: Offset of the next chunk of violations. Value is null for the first request.
schema:
type: string
- name: limit
in: query
description: 'Max No. of violations to return. If no value is provided, 50 is the default. The maximum supported value is 500.
'
schema:
type: integer
- 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
responses:
200:
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/V1DLPViolationSignalResponse'
204:
description: No Messages.
content: {}
400:
description: Client error, see response body for further details.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
401:
description: 'Unauthorized: Session tokens invalid.'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
403:
description: 'Forbidden: Caller lacks necessary entitlement.'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
500:
description: Server error, see response body for further details.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/v3/dlp/violations/message:
get:
tags:
- Violations
summary: Get violations as a result of policy enforcement on messages.
description: Retrieves DLP v3 message related violations for a given time range
parameters:
- name: startTime
in: query
description: 'Timestamp of the first required violation.
This is a long integer value representing milliseconds since Jan 1 1970
'
required: true
schema:
type: integer
format: int64
- name: endTime
in: query
description: 'Timestamp of the last required violation.
This is a long integer value representing milliseconds since Jan 1 1970
If unspecified, it will default to current time of the request.
'
schema:
type: integer
format: int64
- name: next
in: query
description: Offset of the next chunk of violations. Value is null for the first request.
schema:
type: string
- name: limit
in: query
description: 'Max No. of violations to return. If no value is provided, 50 is the default. The maximum supported value is 500.
'
schema:
type: integer
- 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
responses:
200:
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/V3DLPViolationMessageResponse'
204:
description: No Messages.
content: {}
400:
description: Client error, see response body for further details.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
401:
description: 'Unauthorized: Session tokens invalid.'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
403:
description: 'Forbidden: Caller lacks necessary entitlement.'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
500:
description: Server error, see response body for further details.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/v3/dlp/violations/stream:
get:
tags:
- Violations
summary: Get violations as a result of policy enforcement on streams.
description: Retrieves DLP v3 signal related violations for a given time range
parameters:
- name: startTime
in: query
description: 'Timestamp of the first required violation.
This is a long integer value representing milliseconds since Jan 1 1970
'
required: true
schema:
type: integer
format: int64
- name: endTime
in: query
description: 'Timestamp of the last required violation.
This is a long integer value representing milliseconds since Jan 1 1970
If unspecified, it will default to current time of the request.
'
schema:
type: integer
format: int64
- name: next
in: query
description: Offset of the next chunk of violations. Value is null for the first request.
schema:
type: string
- name: limit
in: query
description: 'Max No. of violations to return. If no value is provided, 50 is the default. The maximum supported value is 500.
'
schema:
type: integer
- 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
responses:
200:
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/V3DLPViolationStreamResponse'
204:
description: No Messages.
content: {}
400:
description: Client error, see response body for further details.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
401:
description: 'Unauthorized: Session tokens invalid.'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
403:
description: 'Forbidden: Caller lacks necessary entitlement.'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
500:
description: Server error, see response body for further details.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/v3/dlp/violations/signal:
get:
tags:
- Violations
summary: Get violations as a result of policy enforcement on signals.
description: Retrieves DLP v3 signal related violations for a given time range
parameters:
- name: startTime
in: query
description: 'Timestamp of the first required violation.
This is a long integer value representing milliseconds since Jan 1 1970
'
required: true
schema:
type: integer
format: int64
- name: endTime
in: query
description: 'Timestamp of the last required violation.
This is a long integer value representing milliseconds since Jan 1 1970
If unspecified, it will default to current time of the request.
'
schema:
type: integer
format: int64
- name: next
in: query
description: Offset of the next chunk of violations. Value is null for the first request.
schema:
type: string
- name: limit
in: query
description: 'Max No. of violations to return. If no value is provided, 50 is the default. The maximum supported value is 500.
'
schema:
type: integer
- 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
responses:
200:
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/V3DLPViolationSignalResponse'
204:
description: No Messages.
content: {}
400:
description: Client error, see response body for further details.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
401:
description: 'Unauthorized: Session tokens invalid.'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
403:
description: 'Forbidden: Caller lacks necessary entitlement.'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
500:
description: Server error, see response body for further details.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/v3/dlp/violation/attachment:
get:
tags:
- Violations
summary: Get attachments that were sent as part of messages that were flagged by the DLP System.
description: Retrieves attachments from related message violations as a base64 encoded String.
parameters:
- name: fileId
in: query
description: ID of attachment that will be downloaded.
required: true
schema:
type: string
- name: violationId
in: query
description: ID of violation that corresponds to the flagged message that contains the attachment
required: true
schema:
type: string
- 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
responses:
200:
description: Attachment body as Base64 encoded string.
content:
application/octet-stream:
schema:
type: string
format: byte
400:
description: Client error, see response body for further details.
content:
application/octet-stream:
schema:
$ref: '#/components/schemas/Error'
401:
description: 'Unauthorized: Session tokens invalid.'
content:
application/octet-stream:
schema:
$ref: '#/components/schemas/Error'
403:
description: 'Forbidden: Caller lacks necessary entitlement.'
content:
application/octet-stream:
schema:
$ref: '#/components/schemas/Error'
404:
description: Resource not found.
content:
application/octet-stream:
schema:
$ref: '#/components/schemas/Error'
500:
description: Server error, see response body for further details.
content:
application/octet-stream:
schema:
$ref: '#/components/schemas/Error'
components:
schemas:
V1DLPOutcome:
type: object
properties:
type:
type: string
description: Outcome of DLP enforcement
description: A representation of outcome of DLP message/stream/signal sent by a user of Symphony
V1DLPMatchedPolicy:
type: object
properties:
id:
type: string
description: Id of the policy
version:
type: string
description: Version of the policy
policyName:
type: string
description: Name of the policy
type:
type: string
description: Whether BLOCK or WARN
terms:
type: string
description: List of decrypted matched keywords in the policy
diagnostic:
type: string
description: 'A diagnostic message containing an error message in the event that the
decryption of terms failed. May also be present in the case of a successful
call if there is useful narrative to return.
'
description: A representation of policy that matched the violation with a list of matched keywords in the policy
V3DLPViolationSignalResponse:
type: object
required:
- violations
properties:
violations:
type: array
description: A representation of list of violations due to signal creation/update sent by a user of Symphony
items:
$ref: '#/components/schemas/V3DLPViolationSignal'
nextOffset:
type: string
description: 'Offset for the next chunk of violations to be submitted in the next request.
Value is null if there are no further violations.
'
V1DLPMatchedPolicyList:
type: array
description: List of policies that matched the violation.
items:
$ref: '#/components/schemas/V1DLPMatchedPolicy'
V4User:
type: object
properties:
userId:
type: integer
description: Id of user
format: int64
firstName:
type: string
description: First name of user
lastName:
type: string
description: Last name of user
displayName:
type: string
description: User display name
email:
type: string
description: Email of user
username:
type: string
description: Applicable only to internal users
V4Stream:
type: object
properties:
streamId:
type: string
description: Id of stream
streamType:
type: string
description: "Stream type, possible values are:\n - IM\n - MIM\n - ROOM\n - POST\n"
roomName:
type: string
description: Applicable only to rooms
members:
type: array
description: Applicable only to IM Created
items:
$ref: '#/components/schemas/V4User'
external:
type: boolean
crossPod:
type: boolean
recipientTenantIds:
type: array
description: 'List of tenant identifiers (aka pod identifiers) involved in the conversation. It contains more than one
item if the conversation is external. Field is only present for real time messaging.
'
items:
type: integer
format: int32
x-since: 24.2
Error:
type: object
properties:
code:
type: integer
format: int32
message:
type: string
V1DLPViolationStreamResponse:
type: object
required:
- violations
properties:
violations:
type: array
items:
$ref: '#/components/schemas/V1DLPViolationStream'
nextOffset:
type: string
description: Offset for the next chunk of violations to be submitted in the next request. Value is null if there are no further violations.
V1DLPViolationSignalResponse:
type: object
required:
- violations
properties:
violations:
type: array
description: A representation of list of violations due to signal creation/update sent by a user of Symphony
items:
$ref: '#/components/schemas/V1DLPViolationSignal'
nextOffset:
type: string
description: Offset for the next chunk of violations to be submitted in the next request. Value is null if there are no further violations.
V4Message:
type: object
properties:
messageId:
type: string
description: Id of the message
parentMessageId:
type: string
description: Id of the parent message, set when the message is a reply to another message or a forwarded message. Since Agent 20.14.
x-since: 20.14
timestamp:
type: integer
description: Timestamp of the message in milliseconds since Jan 1 1970
format: int64
message:
type: string
description: Message content in MessageMLV2
format: MessageMLV2
sharedMessage:
$ref: '#/components/schemas/V4Message'
data:
type: string
description: Message data in EntityJSON
format: JSON
attachments:
type: array
default: []
description: Message attachments
items:
$ref: '#/components/schemas/V4AttachmentInfo'
user:
$ref: '#/components/schemas/V4User'
stream:
$ref: '#/components/schemas/V4Stream'
externalRecipients:
type: boolean
description: Indicates if the message have external recipients. Only present on real time messaging.
diagnostic:
type: string
description: 'Details if event failed to parse for any reason. The contents of this field may not be useful,
depending on the nature of the error. Only present when error occurs.
'
userAgent:
type: string
description: 'User agent string for client that sent the message. Allows callers to identify which client sent the
origin message (e.g. API Agent, SFE Client, mobile, etc)
'
originalFormat:
type: string
description: 'Indicates the format in which the message was originally sent. This could have been either:
- com.symphony.markdown - Markdown OR Message ML V1
- com.symphony.messageml.v2 - Message ML V2
'
disclaimer:
type: string
description: 'Message that may be sent along with a regular message if configured for the POD,
usually the first message sent in a room that day.
'
sid:
type: string
description: 'Unique session identifier from where the message was created.
'
example: fa691cd3-484a-4109-aeb2-57c05b78c95b
replacing:
type: string
description: Id of the message that the current message is replacing (present only if set)
replacedBy:
type: string
description: Id of the message that the current message is being replaced with (present only if set)
initialTimestamp:
type: integer
description: "Timestamp of when the initial message has been created in milliseconds since \nJan 1 1970 (present only if set)\n"
format: int64
initialMessageId:
type: string
description: Id the the initial message that has been updated (present only if set)
silent:
type: boolean
description: When false the user/s will receive the message update as unread (true by default)
x-since: 20.14
description: A representation of a message sent by a user of Symphony
V1DLPSignal:
type: object
properties:
id:
type: string
description: Unique ID of the Signal
name:
type: string
description: Name of the Signal
rules:
type: string
description: Signal rules decrypted.
diagnostic:
type: string
description: 'A diagnostic message containing an error message in the event that the
signal decryption failed. May also be present in the case of a successful
call if there is useful narrative to return.
'
description: Signal details
V3DLPViolationStreamResponse:
type: object
required:
- violations
properties:
violations:
type: array
items:
$ref: '#/components/schemas/V3DLPViolationStream'
nextOffset:
type: string
description: 'Offset for the next chunk of violations to be submitted in the next request.
Value is null if there are no further violations.
'
V1DLPContentType:
type: object
properties:
type:
type: string
description: content type
description: A representation of content type of message sent by a user of Symphony (message/stream/signal)
V3DLPViolationMessage:
type: object
properties:
violation:
$ref: '#/components/schemas/V3DLPViolation'
message:
$ref: '#/components/schemas/V4Message'
sharedMessage:
$ref: '#/components/schemas/V4Message'
diagnostic:
type: string
description: 'A diagnostic message containing an error message in the event there are parsing errors.
May also be present in the case of a successful call if there is useful narrative to return.
'
V1DLPViolationMessageResponse:
type: object
required:
- violations
properties:
violations:
type: array
description: A representation of list of violations due to messages sent by a user of Symphony
items:
$ref: '#/components/schemas/V1DLPViolationMessage'
nextOffset:
type: string
description: Offset for the next chunk of violations to be submitted in the next request. Value is null if there are no further violations.
V1DLPStream:
type: object
properties:
name:
type: string
description: Name of the Stream/Room.
creatorPrettyName:
type: string
description: Name of the creator of the Room.
publicRoom:
type: boolean
description: Is this a public room?
crossPod:
type: boolean
description: Is this a cross pod scenario?
allowExternal:
type: boolean
description: Is external messaging allowed
creatorId:
type: string
description: Id of the creator of the Room.
roomDescription:
type: string
description: Description of the Room.
streamId:
type: string
description: ThreadId of the Room.
state:
type: string
description: State of the Room (example CREATED etc)
type:
type: string
description: Type of the Room (example ROOM (or IM or Wall))
lastDisabled:
type: integer
description: Timestamp of last time the room is Disabled
format: int64
memberAddUserEnabled:
type: boolean
description: Is memberAddUserEnabled
active:
type: boolean
description: Is Room Active
discoverable:
type: boolean
description: Is Room discoverable
readOnly:
type: boolean
description: Is Room read-only
copyDisabled:
type: boolean
description: Is Room copyDisabled
externalOwned:
type: boolean
description: Is Room externalOwned
sendMessageDisabled:
type: boolean
description: Is sendMessage Disabled for this Room
moderated:
type: boolean
description: Is room moderated
shareHistoryEnabled:
type: boolean
description: Is room shareHistoryEnabled
diagnostic:
type: string
description: 'A diagnostic message containing an error message in the event that the
stream retrieval failed. May also be present in the case of a successful
call if there is useful narrative to return.
'
description: Room details in the context of violation.
V1DLPViolationSignal:
type: object
properties:
violation:
$ref: '#/components/schemas/V1DLPViolation'
signal:
$ref: '#/components/schemas/V1DLPSignal'
V4ThumbnailInfo:
type: object
properties:
id:
type: string
description: The thumbnail ID.
dimension:
type: string
description: The thumbnail pixel size.
V1DLPViolatio
# --- truncated at 32 KB (37 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/finos/refs/heads/main/openapi/finos-violations-api-openapi.yml