Symphony · Capability
Symphony Agent API — Message
Symphony Agent API — Message. 5 operations. Lead operation: Symphony Search Messages. Self-contained Naftiko capability covering one Symphony business surface.
What You Can Do
GET
Get
— Symphony Search Messages
/v1/v1/message/search
POST
Post
— Symphony Search Messages
/v1/v1/message/search
GET
Get
— Symphony Get a Message by ID
/v1/v1/message/{id}
POST
Post
— Symphony Post a Message to Multiple Existing Streams
/v1/v4/message/blast
POST
Post
— Import Messages From Other Systems Into Symphony
/v1/v4/message/import
MCP Tools
symphony-search-messages
Symphony Search Messages
read-only
idempotent
symphony-search-messages-2
Symphony Search Messages
read-only
symphony-get-message-id
Symphony Get a Message by ID
read-only
idempotent
symphony-post-message-multiple-existing
Symphony Post a Message to Multiple Existing Streams
import-messages-other-systems-symphony
Import Messages From Other Systems Into Symphony
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Symphony Agent API — Message
description: 'Symphony Agent API — Message. 5 operations. Lead operation: Symphony Search Messages. Self-contained Naftiko
capability covering one Symphony business surface.'
tags:
- Symphony
- Message
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
SYMPHONY_API_KEY: SYMPHONY_API_KEY
capability:
consumes:
- type: http
namespace: agent-message
baseUri: ''
description: Symphony Agent API — Message business capability. Self-contained, no shared references.
resources:
- name: v1-message-search
path: /v1/message/search
operations:
- name: get
method: GET
description: Symphony Search Messages
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: query
in: query
type: string
description: The search query. See above for the query syntax.
required: true
- name: skip
in: query
type: integer
description: No. of results to skip.
- name: limit
in: query
type: integer
description: Max no. of results to return. If no value is provided, 50 is the default.
- name: scope
in: query
type: string
description: Describes where content should be searched for that query.
- name: sortDir
in: query
type: string
description: 'Messages sort direction : ASC or DESC (default to DESC)'
- name: sessionToken
in: header
type: string
description: Session authentication token.
required: true
- name: keyManagerToken
in: header
type: string
description: Key Manager authentication token.
required: true
- name: post
method: POST
description: Symphony Search Messages
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: skip
in: query
type: integer
description: No. of results to skip.
- name: limit
in: query
type: integer
description: Max no. of results to return. If no value is provided, 50 is the default.
- name: scope
in: query
type: string
description: Describes where content should be searched for that query.
- name: sortDir
in: query
type: string
description: 'Messages sort direction : ASC or DESC (default to DESC)'
- name: sessionToken
in: header
type: string
description: Session authentication token.
required: true
- name: keyManagerToken
in: header
type: string
description: Key Manager authentication token.
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: v1-message-id
path: /v1/message/{id}
operations:
- name: get
method: GET
description: Symphony Get a Message by ID
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: sessionToken
in: header
type: string
description: Session authentication token.
required: true
- name: keyManagerToken
in: header
type: string
description: Key Manager authentication token.
required: true
- name: id
in: path
type: string
description: Message ID as a URL-safe string
required: true
- name: v4-message-blast
path: /v4/message/blast
operations:
- name: post
method: POST
description: Symphony Post a Message to Multiple Existing Streams
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: sessionToken
in: header
type: string
description: Authorization token used to make delegated calls.
required: true
- name: keyManagerToken
in: header
type: string
description: Key Manager authentication token.
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: v4-message-import
path: /v4/message/import
operations:
- name: post
method: POST
description: Import Messages From Other Systems Into Symphony
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: sessionToken
in: header
type: string
description: Session authentication token.
required: true
- name: keyManagerToken
in: header
type: string
description: Key Manager authentication token.
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
exposes:
- type: rest
namespace: agent-message-rest
port: 8080
description: REST adapter for Symphony Agent API — Message. One Spectral-compliant resource per consumed operation, prefixed
with /v1.
resources:
- path: /v1/v1/message/search
name: v1-message-search
description: REST surface for v1-message-search.
operations:
- method: GET
name: get
description: Symphony Search Messages
call: agent-message.get
with:
query: rest.query
skip: rest.skip
limit: rest.limit
scope: rest.scope
sortDir: rest.sortDir
sessionToken: rest.sessionToken
keyManagerToken: rest.keyManagerToken
outputParameters:
- type: object
mapping: $.
- method: POST
name: post
description: Symphony Search Messages
call: agent-message.post
with:
skip: rest.skip
limit: rest.limit
scope: rest.scope
sortDir: rest.sortDir
sessionToken: rest.sessionToken
keyManagerToken: rest.keyManagerToken
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/message/{id}
name: v1-message-id
description: REST surface for v1-message-id.
operations:
- method: GET
name: get
description: Symphony Get a Message by ID
call: agent-message.get
with:
sessionToken: rest.sessionToken
keyManagerToken: rest.keyManagerToken
id: rest.id
outputParameters:
- type: object
mapping: $.
- path: /v1/v4/message/blast
name: v4-message-blast
description: REST surface for v4-message-blast.
operations:
- method: POST
name: post
description: Symphony Post a Message to Multiple Existing Streams
call: agent-message.post
with:
sessionToken: rest.sessionToken
keyManagerToken: rest.keyManagerToken
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/v4/message/import
name: v4-message-import
description: REST surface for v4-message-import.
operations:
- method: POST
name: post
description: Import Messages From Other Systems Into Symphony
call: agent-message.post
with:
sessionToken: rest.sessionToken
keyManagerToken: rest.keyManagerToken
body: rest.body
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: agent-message-mcp
port: 9090
transport: http
description: MCP adapter for Symphony Agent API — Message. One tool per consumed operation, routed inline through this
capability's consumes block.
tools:
- name: symphony-search-messages
description: Symphony Search Messages
hints:
readOnly: true
destructive: false
idempotent: true
call: agent-message.get
with:
query: tools.query
skip: tools.skip
limit: tools.limit
scope: tools.scope
sortDir: tools.sortDir
sessionToken: tools.sessionToken
keyManagerToken: tools.keyManagerToken
outputParameters:
- type: object
mapping: $.
- name: symphony-search-messages-2
description: Symphony Search Messages
hints:
readOnly: true
destructive: false
idempotent: false
call: agent-message.post
with:
skip: tools.skip
limit: tools.limit
scope: tools.scope
sortDir: tools.sortDir
sessionToken: tools.sessionToken
keyManagerToken: tools.keyManagerToken
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: symphony-get-message-id
description: Symphony Get a Message by ID
hints:
readOnly: true
destructive: false
idempotent: true
call: agent-message.get
with:
sessionToken: tools.sessionToken
keyManagerToken: tools.keyManagerToken
id: tools.id
outputParameters:
- type: object
mapping: $.
- name: symphony-post-message-multiple-existing
description: Symphony Post a Message to Multiple Existing Streams
hints:
readOnly: false
destructive: false
idempotent: false
call: agent-message.post
with:
sessionToken: tools.sessionToken
keyManagerToken: tools.keyManagerToken
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: import-messages-other-systems-symphony
description: Import Messages From Other Systems Into Symphony
hints:
readOnly: false
destructive: false
idempotent: false
call: agent-message.post
with:
sessionToken: tools.sessionToken
keyManagerToken: tools.keyManagerToken
body: tools.body
outputParameters:
- type: object
mapping: $.