mirror of https://github.com/vernonkeenan/lib
587 lines
13 KiB
YAML
587 lines
13 KiB
YAML
swagger: "2.0"
|
|
info:
|
|
version: 0.0.2
|
|
title: "workflow"
|
|
description: "Workflow Microservice"
|
|
termsOfService: "http://telnexus.com/terms/"
|
|
contact:
|
|
email: "noc@telnexus.com"
|
|
license:
|
|
name: "Proprietary - Copyright (c) 2018-2020 by Telnexus LLC"
|
|
securityDefinitions:
|
|
ApiKeyAuth:
|
|
type: "apiKey"
|
|
in: "header"
|
|
name: "X-API-Key"
|
|
schemes:
|
|
- "http"
|
|
basePath: "/v1"
|
|
host: "workflow.infra.tnxs.net:8080"
|
|
consumes:
|
|
- "application/json"
|
|
produces:
|
|
- "application/json"
|
|
parameters:
|
|
emailMessageIdQuery:
|
|
description: Email Message ID
|
|
in: query
|
|
name: emailMessageId
|
|
type: string
|
|
OutgoingEmailMessageRequest:
|
|
description: An array of new Outgoing Email Message records
|
|
in: body
|
|
name: OutgoingEmailMessageRequest
|
|
required: true
|
|
schema:
|
|
$ref: "#/definitions/OutgoingEmailMessageRequest"
|
|
AppLogRequest:
|
|
description: An array of new AppLog records
|
|
in: body
|
|
name: AppLogRequest
|
|
required: true
|
|
schema:
|
|
$ref: "#/definitions/AppLogRequest"
|
|
responses:
|
|
AppLogResponse:
|
|
description: "Array of AppLogs"
|
|
headers:
|
|
Access-Control-Allow-Origin:
|
|
type: string
|
|
schema:
|
|
$ref: "#/definitions/AppLogResponse"
|
|
EmailMessagesResponse:
|
|
description: "Array of Email Messages"
|
|
headers:
|
|
Access-Control-Allow-Origin:
|
|
type: string
|
|
schema:
|
|
$ref: "#/definitions/EmailMessagesResponse"
|
|
AccessForbidden:
|
|
description: "Access forbidden, account lacks access"
|
|
headers:
|
|
Access-Control-Allow-Origin:
|
|
type: string
|
|
schema:
|
|
$ref: "#/definitions/Error"
|
|
NotFound:
|
|
description: Resource was not found
|
|
headers:
|
|
Access-Control-Allow-Origin:
|
|
type: string
|
|
schema:
|
|
$ref: "#/definitions/Error"
|
|
ServerError:
|
|
headers:
|
|
Access-Control-Allow-Origin:
|
|
type: string
|
|
description: Server Internal Error
|
|
schema:
|
|
$ref: "#/definitions/Error"
|
|
Unauthorized:
|
|
headers:
|
|
Access-Control-Allow-Origin:
|
|
type: string
|
|
description: "Access Unauthorized, invalid API-KEY was used"
|
|
schema:
|
|
$ref: "#/definitions/Error"
|
|
UnprocessableEntity:
|
|
headers:
|
|
Access-Control-Allow-Origin:
|
|
type: string
|
|
description: "Unprocessable Entity, likely a bad parameter"
|
|
schema:
|
|
$ref: "#/definitions/Error"
|
|
CORSResponse:
|
|
description: CORS OPTIONS response
|
|
headers:
|
|
Access-Control-Allow-Origin:
|
|
type: string
|
|
Access-Control-Allow-Headers:
|
|
type: string
|
|
Access-Control-Allow-Methods:
|
|
type: string
|
|
Access-Control-Expose-Headers:
|
|
type: string
|
|
Access-Control-Max-Age:
|
|
type: string
|
|
Access-Control-Allow-Credentials:
|
|
type: string
|
|
Cache-Control:
|
|
type: string
|
|
paths:
|
|
/applogs:
|
|
options:
|
|
operationId: appLogOptions
|
|
description: CORS support
|
|
responses:
|
|
"200":
|
|
$ref: "#/responses/CORSResponse"
|
|
tags:
|
|
- cors
|
|
post:
|
|
security:
|
|
- ApiKeyAuth: []
|
|
summary: Post app log messages
|
|
operationId: postAppLogs
|
|
description: Insert app log messages into workflow storage
|
|
parameters:
|
|
- $ref: "#/parameters/AppLogRequest"
|
|
responses:
|
|
"200":
|
|
$ref: "#/responses/AppLogResponse"
|
|
"401":
|
|
$ref: "#/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/responses/AccessForbidden"
|
|
"404":
|
|
$ref: "#/responses/NotFound"
|
|
"422":
|
|
$ref: "#/responses/UnprocessableEntity"
|
|
"500":
|
|
$ref: "#/responses/ServerError"
|
|
tags:
|
|
- AppLog
|
|
/emailmessages:
|
|
options:
|
|
operationId: emailMessageOptions
|
|
description: CORS support
|
|
responses:
|
|
"200":
|
|
$ref: "#/responses/CORSResponse"
|
|
tags:
|
|
- cors
|
|
get:
|
|
security:
|
|
- ApiKeyAuth: []
|
|
summary: "Get email messages from data store"
|
|
operationId: getEmailMessages
|
|
description: "Retrieves email messages from workflow storage"
|
|
parameters:
|
|
- $ref: "#/parameters/emailMessageIdQuery"
|
|
tags:
|
|
- "EmailMessage"
|
|
responses:
|
|
"200":
|
|
$ref: "#/responses/EmailMessagesResponse"
|
|
"401":
|
|
$ref: "#/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/responses/AccessForbidden"
|
|
"404":
|
|
$ref: "#/responses/NotFound"
|
|
"422":
|
|
$ref: "#/responses/UnprocessableEntity"
|
|
"500":
|
|
$ref: "#/responses/ServerError"
|
|
/outgoingemailmessages:
|
|
options:
|
|
operationId: outgoingEmailMessageOptions
|
|
description: CORS support
|
|
responses:
|
|
"200":
|
|
$ref: "#/responses/CORSResponse"
|
|
tags:
|
|
- cors
|
|
post:
|
|
security:
|
|
- ApiKeyAuth: []
|
|
summary: Add new email messages to the outgoing queue
|
|
operationId: postOutgoingEmailMessages
|
|
description: Insert new email messages into workflow storage
|
|
parameters:
|
|
- $ref: "#/parameters/OutgoingEmailMessageRequest"
|
|
responses:
|
|
"200":
|
|
$ref: "#/responses/EmailMessagesResponse"
|
|
"401":
|
|
$ref: "#/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/responses/AccessForbidden"
|
|
"404":
|
|
$ref: "#/responses/NotFound"
|
|
"422":
|
|
$ref: "#/responses/UnprocessableEntity"
|
|
"500":
|
|
$ref: "#/responses/ServerError"
|
|
tags:
|
|
- OutgoingEmailMessage
|
|
definitions:
|
|
AppLog:
|
|
description: Application Log for human consumption
|
|
properties:
|
|
AccountID:
|
|
type: string
|
|
CompanyID:
|
|
type: string
|
|
CreatedByID:
|
|
type: string
|
|
CreatedDate:
|
|
type: string
|
|
ID:
|
|
type: string
|
|
Message:
|
|
type: string
|
|
ObjectID:
|
|
type: string
|
|
ObjectType:
|
|
type: string
|
|
Severity:
|
|
type: string
|
|
Source:
|
|
type: string
|
|
SourceTimestamp:
|
|
type: string
|
|
type: object
|
|
AppLogRequest:
|
|
description: An array Telnexus Application Log objects
|
|
properties:
|
|
data:
|
|
items:
|
|
$ref: "#/definitions/AppLog"
|
|
type: array
|
|
meta:
|
|
$ref: "#/definitions/RequestMeta"
|
|
type: object
|
|
AppLogResponse:
|
|
description: An array Telnexus Application Log objects
|
|
properties:
|
|
data:
|
|
items:
|
|
$ref: "#/definitions/AppLog"
|
|
type: array
|
|
meta:
|
|
$ref: "#/definitions/ResponseMeta"
|
|
type: object
|
|
Document:
|
|
description: Telnexus Document
|
|
properties:
|
|
ArchivedByID:
|
|
type: string
|
|
ArchivedDate:
|
|
type: string
|
|
AuthorID:
|
|
type: string
|
|
Body:
|
|
format: byte
|
|
type: string
|
|
BodyLength:
|
|
format: int64
|
|
type: number
|
|
CommentCount:
|
|
format: int64
|
|
type: number
|
|
ConnectionID:
|
|
type: string
|
|
ContentAssetID:
|
|
type: string
|
|
ContentModificationDate:
|
|
type: string
|
|
ContentSize:
|
|
format: int64
|
|
type: number
|
|
ContentType:
|
|
type: string
|
|
ContentVersionDocumentID:
|
|
type: string
|
|
ContnetDocumentID:
|
|
type: string
|
|
CreatedByID:
|
|
type: string
|
|
CreatedDate:
|
|
type: string
|
|
DDate:
|
|
type: string
|
|
Description:
|
|
type: string
|
|
DeveloperName:
|
|
type: string
|
|
Discount:
|
|
type: number
|
|
Document:
|
|
format: byte
|
|
type: string
|
|
DocumentID:
|
|
type: string
|
|
DocumentSequence:
|
|
format: int64
|
|
type: number
|
|
Field:
|
|
type: string
|
|
FileExtension:
|
|
type: string
|
|
FileType:
|
|
type: string
|
|
FolderID:
|
|
type: string
|
|
GrandTotal:
|
|
type: string
|
|
ID:
|
|
type: string
|
|
InsertedByID:
|
|
type: string
|
|
IsArchived:
|
|
type: boolean
|
|
IsBodySearchable:
|
|
type: boolean
|
|
IsCommentSub:
|
|
type: boolean
|
|
IsDocumentSub:
|
|
type: boolean
|
|
IsInternalUseOnly:
|
|
type: boolean
|
|
IsPublic:
|
|
type: boolean
|
|
IsRichText:
|
|
type: boolean
|
|
Keywords:
|
|
type: string
|
|
LastModifiedByID:
|
|
type: string
|
|
LastModifiedDate:
|
|
type: string
|
|
LastViewedDate:
|
|
type: string
|
|
LatstPublishedVersionID:
|
|
type: string
|
|
LikeCount:
|
|
format: int64
|
|
type: number
|
|
LinkURL:
|
|
type: string
|
|
LinkedEntityID:
|
|
type: string
|
|
Name:
|
|
type: string
|
|
NamespacePrefix:
|
|
type: string
|
|
NetworkScope:
|
|
type: string
|
|
OwnerID:
|
|
type: string
|
|
ParentID:
|
|
type: string
|
|
Publishstatus:
|
|
type: string
|
|
QuoteID:
|
|
type: string
|
|
RelatedRecordID:
|
|
type: string
|
|
ShareType:
|
|
type: string
|
|
SharingOption:
|
|
type: string
|
|
SharingPrivacy:
|
|
type: string
|
|
Title:
|
|
type: string
|
|
Type:
|
|
type: string
|
|
URL:
|
|
type: string
|
|
UserID:
|
|
type: string
|
|
Visibility:
|
|
type: string
|
|
type: object
|
|
EmailMessage:
|
|
properties:
|
|
ActivityID:
|
|
type: string
|
|
BCCAddress:
|
|
type: string
|
|
CCAddress:
|
|
type: string
|
|
CreatedByID:
|
|
type: string
|
|
CreatedDate:
|
|
type: string
|
|
EmailMessageID:
|
|
type: string
|
|
FromAddress:
|
|
type: string
|
|
FromName:
|
|
type: string
|
|
HTML:
|
|
format: byte
|
|
type: string
|
|
HasAttachment:
|
|
type: boolean
|
|
Headers:
|
|
$ref: "#/definitions/Headers"
|
|
ID:
|
|
type: string
|
|
Incoming:
|
|
type: boolean
|
|
IsClientManaged:
|
|
type: boolean
|
|
IsExternallyManaged:
|
|
type: boolean
|
|
LastModifiedByID:
|
|
type: string
|
|
LastModifiedDate:
|
|
type: string
|
|
MessageDate:
|
|
type: string
|
|
MessageIdentifier:
|
|
type: string
|
|
ParentID:
|
|
type: string
|
|
RelatedToID:
|
|
type: string
|
|
RelationAddress:
|
|
type: string
|
|
RelationID:
|
|
type: string
|
|
RelationObjectType:
|
|
type: string
|
|
RelationType:
|
|
type: string
|
|
ReplyToEmailMessageID:
|
|
type: string
|
|
Status:
|
|
type: string
|
|
Subject:
|
|
type: string
|
|
Text:
|
|
format: byte
|
|
type: string
|
|
ThreadIdentifier:
|
|
type: string
|
|
ToAddress:
|
|
type: string
|
|
ValidatedFromAddress:
|
|
type: string
|
|
type: object
|
|
EmailMessageRequest:
|
|
description: An array Telnexus Send Email Message objects
|
|
properties:
|
|
data:
|
|
items:
|
|
$ref: "#/definitions/EmailMessage"
|
|
type: array
|
|
meta:
|
|
$ref: "#/definitions/RequestMeta"
|
|
type: object
|
|
EmailMessagesResponse:
|
|
description: An array Telnexus user objects
|
|
properties:
|
|
data:
|
|
items:
|
|
$ref: "#/definitions/EmailMessage"
|
|
type: array
|
|
meta:
|
|
$ref: "#/definitions/ResponseMeta"
|
|
type: object
|
|
Error:
|
|
properties:
|
|
Code:
|
|
format: int32
|
|
type: integer
|
|
Fields:
|
|
type: string
|
|
Message:
|
|
type: string
|
|
type: object
|
|
Headers:
|
|
type: object
|
|
properties:
|
|
Key:
|
|
type: string
|
|
Values:
|
|
items:
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: array
|
|
OutgoingEmailMessage:
|
|
description: A new email message to be sent
|
|
properties:
|
|
BCCAddress:
|
|
type: string
|
|
CCAddress:
|
|
type: string
|
|
EmailMessageID:
|
|
type: string
|
|
EmailTemplateID:
|
|
type: string
|
|
ExternalID:
|
|
type: string
|
|
FromContactID:
|
|
type: string
|
|
FromName:
|
|
type: string
|
|
Headers:
|
|
$ref: "#/definitions/Headers"
|
|
HTML:
|
|
type: string
|
|
ID:
|
|
type: string
|
|
Subject:
|
|
type: string
|
|
Text:
|
|
type: string
|
|
ToAddress:
|
|
type: string
|
|
ToName:
|
|
type: string
|
|
ValidatedFromAddress:
|
|
type: string
|
|
WhoID:
|
|
type: string
|
|
type: object
|
|
OutgoingEmailMessageRequest:
|
|
description: An array Telnexus New Email Message objects
|
|
properties:
|
|
data:
|
|
items:
|
|
$ref: "#/definitions/OutgoingEmailMessage"
|
|
type: array
|
|
meta:
|
|
$ref: "#/definitions/RequestMeta"
|
|
type: object
|
|
RequestMeta:
|
|
properties:
|
|
TelnexusAccount:
|
|
description: Telnexus Account Number of the Reseller or OEM
|
|
type: string
|
|
required:
|
|
- TelnexusAccount
|
|
type: object
|
|
ResponseMeta:
|
|
properties:
|
|
Contact:
|
|
description: Microservice Contact Info
|
|
type: string
|
|
Copyright:
|
|
description: Copyright Info
|
|
type: string
|
|
License:
|
|
description: License Information and Restrictions
|
|
type: string
|
|
OperationID:
|
|
description: Operation ID
|
|
type: string
|
|
RequestIP:
|
|
description: Request IP Address
|
|
type: string
|
|
RequestType:
|
|
description: Request Type
|
|
type: string
|
|
RequestURL:
|
|
description: Request URL
|
|
type: string
|
|
ServerInfo:
|
|
description: Data Server Info
|
|
type: string
|
|
ServerResponseTime:
|
|
description: Data Server Response Time (ms)
|
|
type: string
|
|
ServerTimestamp:
|
|
description: Backend Server Timestamp
|
|
type: string
|
|
TelnexusAccount:
|
|
description:
|
|
Telnexus Account Number used for recording transactions
|
|
type: string
|
|
type: object
|