SEDNA Message API API
The Message API API from SEDNA — 19 operation(s) for message api.
The Message API API from SEDNA — 19 operation(s) for message api.
openapi: 3.0.1
info:
contact:
name: Support
url: https://support.sedna.com
termsOfService: https://www.sedna.com/terms-of-service
title: Sedna Authentication Message API API
version: '2019-01-01'
servers:
- description: Platform endpoint
url: https://{tenant}.sednanetwork.com/platform
variables:
tenant:
default: example
description: Your tenant's unique identifier
security:
- Basic: []
- OAuth: []
tags:
- name: Message API
paths:
/2019-01-01/download/message/{id}/attachments/zip:
get:
description: 'Download all attachments of a message as a zip file, using presigned S3 link if available or generating it otherwise.
Required API Permissions: DOCUMENT_READ'
operationId: downloadAllMessageAttachments
parameters:
- in: path
name: id
required: true
schema:
type: string
responses:
default:
content:
application/json: {}
application/vnd.api+json: {}
description: default response
tags:
- Message API
/2019-01-01/message:
post:
description: 'Create a draft message
Required API Permissions: MESSAGE_WRITE'
operationId: createMessageDraft
parameters:
- in: query
name: appendSignature
schema:
type: boolean
default: true
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MessageCreate'
application/vnd.api+json:
schema:
$ref: '#/components/schemas/MessageCreate'
responses:
default:
content:
application/json: {}
application/vnd.api+json: {}
description: default response
tags:
- Message API
/2019-01-01/message/quarantine:
get:
description: 'List messages that have been quarantined/released.
Required API Permissions: QUARANTINED_MESSAGE_READ'
operationId: listQuarantinedMessages
parameters:
- in: query
name: page[limit]
schema:
type: integer
format: int32
default: 100
maximum: 1000
- in: query
name: page[offset]
schema:
type: integer
format: int64
default: 0
- in: query
name: filter[id]
schema:
type: string
- in: query
name: filter[quarantineStatus]
schema:
type: boolean
- in: query
name: fields[message]
schema:
type: string
- in: query
name: filter[quarantinedDate.from]
schema:
type: string
- in: query
name: filter[quarantinedDate.to]
schema:
type: string
- in: query
name: filter[releasedDate.from]
schema:
type: string
- in: query
name: filter[releasedDate.to]
schema:
type: string
- in: query
name: filter[team]
schema:
type: string
responses:
default:
content:
application/json:
schema:
$ref: '#/components/schemas/MessageCollection'
application/vnd.api+json:
schema:
$ref: '#/components/schemas/MessageCollection'
description: default response
tags:
- Message API
/2019-01-01/message/send:
post:
description: 'Create and send a message
Required API Permissions: MESSAGE_WRITE, MESSAGE_READ'
operationId: sendNewMessage
parameters:
- in: query
name: appendSignature
schema:
type: boolean
default: true
- in: query
name: scanForVirus
schema:
type: integer
format: int32
- in: query
name: sendDelay
schema:
type: integer
format: int32
- in: query
name: currentTeamId
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MessageCreate'
application/vnd.api+json:
schema:
$ref: '#/components/schemas/MessageCreate'
responses:
default:
content:
application/json: {}
application/vnd.api+json: {}
description: default response
tags:
- Message API
/2019-01-01/message/{id}:
get:
description: 'Fetch a message
Required API Permissions: MESSAGE_READ'
operationId: getMessage
parameters:
- in: path
name: id
required: true
schema:
type: integer
format: int64
- description: 'Comma separated list of fields to return. Available fields: subject,snippet,fromName,fromEmail,bodyText,bodyHtml,hasAttachment,receivedAt,sentAt,messageId,inReplyTo,references,from,to,cc,bcc,signed. Id is always returned.'
in: query
name: fields[message]
schema:
type: string
responses:
default:
content:
application/json:
schema:
$ref: '#/components/schemas/MessageSingle'
application/vnd.api+json:
schema:
$ref: '#/components/schemas/MessageSingle'
description: default response
tags:
- Message API
patch:
description: 'Update a draft message
Required API Permissions: MESSAGE_WRITE, MESSAGE_READ'
operationId: updateMessageDraft
parameters:
- in: path
name: id
required: true
schema:
type: integer
format: int64
- in: query
name: noContent
schema:
type: integer
format: int32
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MessageUpdate'
application/vnd.api+json:
schema:
$ref: '#/components/schemas/MessageUpdate'
responses:
default:
content:
application/json: {}
application/vnd.api+json: {}
description: default response
tags:
- Message API
/2019-01-01/message/{id}/assignment:
get:
description: 'Fetch a message''s related assignments
Required API Permissions: MESSAGE_READ'
operationId: getMessageAssignments
parameters:
- in: path
name: id
required: true
schema:
type: integer
format: int64
responses:
default:
content:
application/json:
schema:
$ref: '#/components/schemas/UserCollection'
application/vnd.api+json:
schema:
$ref: '#/components/schemas/UserCollection'
description: default response
tags:
- Message API
/2019-01-01/message/{id}/category-tag:
get:
description: 'Fetch a message''s related category tags
Required API Permissions: MESSAGE_READ'
operationId: getMessageCategoryTags
parameters:
- in: path
name: id
required: true
schema:
type: integer
format: int64
responses:
default:
content:
application/json:
schema:
$ref: '#/components/schemas/CategoryTagCollection'
application/vnd.api+json:
schema:
$ref: '#/components/schemas/CategoryTagCollection'
description: default response
tags:
- Message API
/2019-01-01/message/{id}/comment:
get:
description: 'Get all comments for the message
Required API Permissions: COMMENT_READ'
operationId: getMessageComments
parameters:
- in: path
name: id
required: true
schema:
type: integer
format: int64
responses:
default:
content:
application/json:
schema:
$ref: '#/components/schemas/CommentCollection'
application/vnd.api+json:
schema:
$ref: '#/components/schemas/CommentCollection'
description: default response
tags:
- Message API
/2019-01-01/message/{id}/document:
post:
description: '
Adds an attachment to a message.
Returns an S3 Upload URL that will be valid for 5 minutes. This link can be used to upload the content of the file.
If a base64 body is provided this link will already contain the content of the file.
Required API Permissions: MESSAGE_READ, MESSAGE_WRITE'
operationId: addDocumentToMessage
parameters:
- in: path
name: id
required: true
schema:
type: integer
format: int64
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/NewDocumentDescription'
application/vnd.api+json:
schema:
$ref: '#/components/schemas/NewDocumentDescription'
responses:
default:
content:
application/json:
schema:
$ref: '#/components/schemas/NewDocumentSingle'
application/vnd.api+json:
schema:
$ref: '#/components/schemas/NewDocumentSingle'
description: default response
tags:
- Message API
get:
description: 'Fetch a message''s documents
Required API Permissions: MESSAGE_READ'
operationId: getMessageDocuments
parameters:
- in: path
name: id
required: true
schema:
type: integer
format: int64
- in: query
name: includeArchiveAttachment
schema:
type: boolean
responses:
default:
content:
application/json:
schema:
$ref: '#/components/schemas/DocumentCollection'
application/vnd.api+json:
schema:
$ref: '#/components/schemas/DocumentCollection'
description: default response
tags:
- Message API
/2019-01-01/message/{id}/job-reference:
get:
description: 'Fetch a message''s related job references
Required API Permissions: MESSAGE_READ'
operationId: getMessageJobReferences
parameters:
- in: path
name: id
required: true
schema:
type: integer
format: int64
responses:
default:
content:
application/json:
schema:
$ref: '#/components/schemas/JobReferenceCollection'
application/vnd.api+json:
schema:
$ref: '#/components/schemas/JobReferenceCollection'
description: default response
tags:
- Message API
/2019-01-01/message/{id}/quarantine:
patch:
description: 'Quarantine a message from users until it is released.
Required API Permissions: QUARANTINED_MESSAGE_WRITE'
operationId: quarantineMessage
parameters:
- in: path
name: id
required: true
schema:
type: integer
format: int64
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MessageQuarantineUpdate'
application/vnd.api+json:
schema:
$ref: '#/components/schemas/MessageQuarantineUpdate'
responses:
default:
content:
application/json: {}
application/vnd.api+json: {}
description: default response
tags:
- Message API
/2019-01-01/message/{id}/quarantine/event:
get:
description: 'List quarantine and release events of a message.
Required API Permissions: QUARANTINED_MESSAGE_READ, EVENT_READ'
operationId: getMessageQuarantineEvents
parameters:
- in: path
name: id
required: true
schema:
type: integer
format: int64
responses:
default:
content:
application/json:
schema:
$ref: '#/components/schemas/QuarantinedMessageEventCollection'
application/vnd.api+json:
schema:
$ref: '#/components/schemas/QuarantinedMessageEventCollection'
description: default response
tags:
- Message API
/2019-01-01/message/{id}/relationships/assignment:
post:
description: 'Add people to a message''s assignment relationships
Required API Permissions: MESSAGE_WRITE'
operationId: addAssignments
parameters:
- in: path
name: id
required: true
schema:
type: integer
format: int64
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateAssignmentRelToMany'
application/vnd.api+json:
schema:
$ref: '#/components/schemas/UpdateAssignmentRelToMany'
responses:
default:
content:
application/json:
schema:
$ref: '#/components/schemas/AssignmentRelToMany'
application/vnd.api+json:
schema:
$ref: '#/components/schemas/AssignmentRelToMany'
description: default response
tags:
- Message API
/2019-01-01/message/{id}/relationships/category-tag:
post:
description: 'Add tags to a message''s category tag relationships
Required API Permissions: MESSAGE_READ, MESSAGE_WRITE'
operationId: addMessageCategoryTags
parameters:
- in: path
name: id
required: true
schema:
type: integer
format: int64
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateCategoryTagRelToMany'
application/vnd.api+json:
schema:
$ref: '#/components/schemas/UpdateCategoryTagRelToMany'
responses:
default:
content:
application/json:
schema:
$ref: '#/components/schemas/CategoryTagRelToMany'
application/vnd.api+json:
schema:
$ref: '#/components/schemas/CategoryTagRelToMany'
description: default response
tags:
- Message API
get:
description: 'Fetch a message''s category tag relationships
Required API Permissions: MESSAGE_READ'
operationId: getMessageCategoryTagRelationships
parameters:
- in: path
name: id
required: true
schema:
type: integer
format: int64
responses:
default:
content:
application/json:
schema:
$ref: '#/components/schemas/CategoryTagRelToMany'
application/vnd.api+json:
schema:
$ref: '#/components/schemas/CategoryTagRelToMany'
description: default response
tags:
- Message API
delete:
description: 'Remove tags from a message''s category tag relationships
Required API Permissions: MESSAGE_READ, MESSAGE_DELETE'
operationId: removeMessageCategoryTags
parameters:
- in: path
name: id
required: true
schema:
type: integer
format: int64
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateCategoryTagRelToMany'
application/vnd.api+json:
schema:
$ref: '#/components/schemas/UpdateCategoryTagRelToMany'
responses:
default:
content:
application/json:
schema:
$ref: '#/components/schemas/CategoryTagRelToMany'
application/vnd.api+json:
schema:
$ref: '#/components/schemas/CategoryTagRelToMany'
description: default response
tags:
- Message API
patch:
description: 'Replace teams to a message''s category tag relationships (Note: Forbidden)
Required API Permissions: MESSAGE_READ, MESSAGE_WRITE'
operationId: replaceMessageCategoryTags
parameters:
- in: path
name: id
required: true
schema:
type: integer
format: int64
responses:
default:
content:
application/json: {}
application/vnd.api+json: {}
description: default response
tags:
- Message API
/2019-01-01/message/{id}/relationships/document:
get:
description: 'Fetch a message''s document relationships
Required API Permissions: MESSAGE_READ'
operationId: getMessageDocumentRelationships
parameters:
- in: path
name: id
required: true
schema:
type: integer
format: int64
responses:
default:
content:
application/json:
schema:
$ref: '#/components/schemas/DocumentRelToMany'
application/vnd.api+json:
schema:
$ref: '#/components/schemas/DocumentRelToMany'
description: default response
tags:
- Message API
/2019-01-01/message/{id}/relationships/job-reference:
post:
description: 'Add job references to a message''s job reference relationships
Required API Permissions: MESSAGE_READ, MESSAGE_WRITE'
operationId: addMessageJobReferences
parameters:
- in: path
name: id
required: true
schema:
type: integer
format: int64
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateJobReferenceRelToMany'
application/vnd.api+json:
schema:
$ref: '#/components/schemas/UpdateJobReferenceRelToMany'
responses:
default:
content:
application/json:
schema:
$ref: '#/components/schemas/JobReferenceRelToMany'
application/vnd.api+json:
schema:
$ref: '#/components/schemas/JobReferenceRelToMany'
description: default response
tags:
- Message API
delete:
description: 'Remove job references from a message''s job reference relationships
Required API Permissions: MESSAGE_READ, MESSAGE_DELETE'
operationId: deleteMessageJobReferences
parameters:
- in: path
name: id
required: true
schema:
type: integer
format: int64
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateJobReferenceRelToMany'
application/vnd.api+json:
schema:
$ref: '#/components/schemas/UpdateJobReferenceRelToMany'
responses:
default:
content:
application/json:
schema:
$ref: '#/components/schemas/JobReferenceRelToMany'
application/vnd.api+json:
schema:
$ref: '#/components/schemas/JobReferenceRelToMany'
description: default response
tags:
- Message API
get:
description: 'Fetch a message''s job reference relationships
Required API Permissions: MESSAGE_READ'
operationId: getMessageJobReferenceRelationships
parameters:
- in: path
name: id
required: true
schema:
type: integer
format: int64
responses:
default:
content:
application/json:
schema:
$ref: '#/components/schemas/JobReferenceRelToMany'
application/vnd.api+json:
schema:
$ref: '#/components/schemas/JobReferenceRelToMany'
description: default response
tags:
- Message API
patch:
description: 'Replace teams to a message''s job reference relationships (Note: Forbidden)
Required API Permissions: MESSAGE_READ, MESSAGE_WRITE'
operationId: replaceMessageJobReferences
parameters:
- in: path
name: id
required: true
schema:
type: integer
format: int64
responses:
default:
content:
application/json: {}
application/vnd.api+json: {}
description: default response
tags:
- Message API
/2019-01-01/message/{id}/relationships/team:
post:
description: 'Add teams to a message''s team relationships
Required API Permissions: MESSAGE_READ, MESSAGE_WRITE'
operationId: addMessageTeams
parameters:
- in: path
name: id
required: true
schema:
type: integer
format: int64
- in: query
name: fromTeamId
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateTeamRelToMany'
application/vnd.api+json:
schema:
$ref: '#/components/schemas/UpdateTeamRelToMany'
responses:
default:
content:
application/json: {}
application/vnd.api+json: {}
description: default response
tags:
- Message API
delete:
description: 'Remove teams from a message''s team relationships
Required API Permissions: MESSAGE_READ, MESSAGE_DELETE'
operationId: deleteMessageTeams
parameters:
- in: path
name: id
required: true
schema:
type: integer
format: int64
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateTeamRelToMany'
application/vnd.api+json:
schema:
$ref: '#/components/schemas/UpdateTeamRelToMany'
responses:
default:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateTeamRelToMany'
application/vnd.api+json:
schema:
$ref: '#/components/schemas/UpdateTeamRelToMany'
description: default response
tags:
- Message API
get:
description: 'Fetch a message''s team relationships
Required API Permissions: MESSAGE_READ, MESSAGE_DELETE'
operationId: getMessageTeamRelationships
parameters:
- in: path
name: id
required: true
schema:
type: integer
format: int64
responses:
default:
content:
application/json:
schema:
$ref: '#/components/schemas/TeamRelToMany'
application/vnd.api+json:
schema:
$ref: '#/components/schemas/TeamRelToMany'
description: default response
tags:
- Message API
patch:
description: 'Replace teams to a message''s team relationships (Note: Forbidden)
Required API Permissions: MESSAGE_READ, MESSAGE_WRITE'
operationId: replaceMessageTeams
parameters:
- in: path
name: id
required: true
schema:
type: integer
format: int64
responses:
default:
content:
application/json: {}
application/vnd.api+json: {}
description: default response
tags:
- Message API
/2019-01-01/message/{id}/send:
post:
description: 'Send a message
Required API Permissions: MESSAGE_WRITE, MESSAGE_READ'
operationId: sendMessage
parameters:
- in: path
name: id
required: true
schema:
type: integer
format: int64
- in: query
name: scanForVirus
schema:
type: integer
format: int32
- in: query
name: sendDelay
schema:
type: integer
format: int32
- in: query
name: currentTeamId
schema:
type: string
responses:
default:
content:
application/json: {}
application/vnd.api+json: {}
description: default response
tags:
- Message API
patch:
description: 'Update and send a message
Required API Permissions: MESSAGE_WRITE, MESSAGE_READ'
operationId: updateAndSendMessagePatch
parameters:
- in: path
name: id
required: true
schema:
type: integer
format: int64
- in: query
name: scanForVirus
schema:
type: integer
format: int32
- in: query
name: sendDelay
schema:
type: integer
format: int32
- in: query
name: currentTeamId
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MessageUpdate'
application/vnd.api+json:
schema:
$ref: '#/components/schemas/MessageUpdate'
responses:
default:
content:
application/json: {}
application/vnd.api+json: {}
description: default response
tags:
- Message API
/2019-01-01/message/{id}/team:
get:
description: 'Fetch a message''s related teams
Required API Permissions: MESSAGE_READ'
operationId: getMessageTeams
parameters:
- in: path
name: id
required: true
schema:
type: integer
format: int64
responses:
default:
content:
application/json:
schema:
$ref: '#/components/schemas/TeamCollection'
application/vnd.api+json:
schema:
$ref: '#/components/schemas/TeamCollection'
description: default response
tags:
- Message API
components:
schemas:
UpdateTeamRelToMany:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/TeamRelData'
TeamRelToMany:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/TeamRelData'
links:
$ref: '#/components/schemas/TeamRelLinks'
DocumentRelData:
type: object
properties:
id:
type: string
type:
type: string
EventId:
type: object
properties:
id:
type: integer
format: int64
MessageSingleMeta:
type: object
properties:
composeUrl:
type: string
UserRelData:
type: object
properties:
id:
type: string
type:
type: string
NotificationDeviceRelLinks:
type: object
properties:
related:
type: string
self:
type: string
TeamResource:
type: object
properties:
attributes:
$ref: '#/components/schemas/TeamAttributes'
id:
type: string
links:
$ref: '#/components/schemas/TeamLinks'
relationships:
$ref: '#/components/schemas/TeamRelationships'
type:
type: string
description: the type of the resource
enum:
- team
uuid:
type: string
JobReferenceResource:
type: object
properties:
attributes:
$ref: '#/components/schemas/JobReferenceAttributes'
id:
type: string
links:
$ref: '#/components/schemas/JobReferenceLinks'
relationships:
$ref: '#/components/schemas/JobReferenceRelationships'
type:
type: string
description: the type of the resource
enum:
- job-reference
CommentAttributes:
type: object
properties:
content:
type: string
createdAt:
type: string
format: date-time
required:
- content
- createdAt
MessageReadResource:
type: object
properties:
attributes:
$ref: '#/components/schemas/MessageReadAttributes'
id:
type: string
links:
$ref: '#/components/schemas/MessageLinks'
meta:
$ref: '#/components/schemas/MessageMeta'
relationships:
$ref: '#/components/schemas/MessageRelationships'
type:
type: string
MessageMeta:
type: object
properties:
download:
type: string
DocumentMeta:
type: object
properties:
download:
type: string
publicDownload:
type: string
UserRelationships:
type: object
properties:
deactivationPeriod:
$ref: '#/components/schemas/UserDeactivationPeriodRelToMany'
defaultTeam:
$ref: '#/components/schemas/TeamRelationship'
disableSendTeams:
$ref: '#/components/schemas/TeamRelToMany'
notificationDevice:
$ref: '#/components/schemas/NotificationDeviceRelToMany'
privateLabel:
$ref: '#/components/schemas/PrivateLabelRelToMany'
team:
$ref: '#/components/schemas/TeamRelToMany'
watchedTeams:
$ref: '#/components/schemas/TeamRelToMany'
MessageQuarantineUpdateResource:
type: object
properties:
quarantine:
type: boolean
required:
- quarantine
CommentCollection:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/CommentReadResource'
UserReadMeta:
type: object
description: Document-level metadata for user collection/single reads
MessageSingle:
type: object
description: The resource
properties:
data:
$ref: '#/components/schemas/MessageReadResource'
included:
type: array
items:
$ref: '#/components/schemas/ResourceObjectResponse'
links:
$ref: '#/components/schemas/MessageSingleLinks'
meta:
$ref: '#/components/schemas/MessageSingleMeta'
CommentReadResource:
type: object
properties:
attributes:
$ref: '#/components/schemas/CommentAttributes'
id:
type: string
relationships:
$ref: '#/components/schemas/CommentRelationships'
type:
type: string
required:
- id
- type
TeamAttributeAutoBccEmail:
type: object
properties:
email:
type: string
name:
type: string
required:
- email
CategoryTagResource:
type: object
properties:
attributes:
$ref: '#/components/schemas/CategoryTagAttributes'
id:
type: string
links:
$ref: '#/components/schemas/CategoryTagLinks'
relationships:
$ref: '#/components/schemas/CategoryTagRelationships'
type:
type: string
description: the type of the resource
enum:
- category-tag
MessageSingleLinks:
type: object
properties:
self:
type: string
DocumentAttributes:
type: object
properties:
createdAt:
type: string
hash:
type: string
name:
type: string
size:
type: number
type:
type: string
UserRelToOne:
type: object
properties:
data:
$ref: '#/components/schemas/UserRelData'
CategoryTagCollectionLinks:
type: object
properties:
first:
type: string
next:
type: string
self:
type: string
JobReferenceRelationships:
type: object
properties:
company:
$ref: '#/components/schemas/Company'
# --- truncated at 32 KB (57 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/sedna/refs/heads/main/openapi/sedna-message-api-api-openapi.yml