mirror of
https://github.com/balzack/databag.git
synced 2025-02-12 03:29:16 +00:00
3596 lines
91 KiB
Plaintext
3596 lines
91 KiB
Plaintext
openapi: 3.0.0
|
|
info:
|
|
description: |
|
|
DataBag provides storage for decentralized identity based self-hosting apps.
|
|
It is intended to support sharing of personal data and hosting group
|
|
conversations.
|
|
version: "0.0.1"
|
|
title: DataBag
|
|
contact:
|
|
email: roland.osborne@gmail.com
|
|
license:
|
|
name: Apache 2.0
|
|
url: 'http://www.apache.org/licenses/LICENSE-2.0.html'
|
|
tags:
|
|
- name: revision
|
|
description: websocket endpoint for receiving module revision events
|
|
- name: admin
|
|
description: account creation for portal backend.
|
|
- name: account
|
|
description: account configuration for portal backend. supports app attachment
|
|
- name: authenticate
|
|
description: authenticate holder of identity for external service
|
|
- name: profile
|
|
description: getting and setting of the public profile
|
|
- name: share
|
|
description: access control for personal subjects, associates content and cards
|
|
|
|
- name: contact
|
|
description: connection to other identities, hook receiver
|
|
- name: content
|
|
description: posting and listing of personal subjects, group and tag managment
|
|
|
|
- name: converstaion
|
|
description: group sharing of subjects
|
|
|
|
paths:
|
|
|
|
# Concetps:
|
|
## access tokens for bearer auth:prefix for bearer tokens types
|
|
### app: app_
|
|
### contact: cnt_
|
|
### pass code: pas_
|
|
### account reset: res_
|
|
### account create: act_
|
|
## subject based content provides external definition of datatypes
|
|
|
|
/revision:
|
|
get:
|
|
tags:
|
|
- revision
|
|
description: Websocket placeholder endpoint for receiving revision updates
|
|
operationId: websocket
|
|
responses:
|
|
'200':
|
|
description: Awaiting announce
|
|
|
|
/admin/claimable:
|
|
get:
|
|
tags:
|
|
- admin
|
|
description: Check if portal params have been set
|
|
operationId: node-configurable
|
|
responses:
|
|
'200':
|
|
description: success
|
|
'405':
|
|
description: admin already configured
|
|
'500':
|
|
description: internal server error
|
|
|
|
/admin/config:
|
|
post:
|
|
tags:
|
|
- admin
|
|
description: Set admin password and node domain
|
|
operationId: add-node-config
|
|
security:
|
|
- basicAuth: []
|
|
parameters:
|
|
- name: domain
|
|
in: query
|
|
description: domain of node
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: success
|
|
'405':
|
|
description: admin already configured
|
|
'500':
|
|
description: internal server error
|
|
|
|
/admin/config/domain:
|
|
put:
|
|
tags:
|
|
- admin
|
|
description: Set portal domain
|
|
operationId: set-node-config-domain
|
|
security:
|
|
- basicAuth: []
|
|
responses:
|
|
'200':
|
|
description: success
|
|
'401':
|
|
description: authentication error
|
|
'500':
|
|
description: internal server error
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: string
|
|
|
|
/admin/token:
|
|
put:
|
|
tags:
|
|
- admin
|
|
description: Create password reset token url
|
|
operationId: set-node-account
|
|
security:
|
|
- basicAuth: []
|
|
parameters:
|
|
- name: guid
|
|
in: query
|
|
description: id of profile to access
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'201':
|
|
description: generated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: string
|
|
'401':
|
|
description: invalid password
|
|
'404':
|
|
description: unknown portal
|
|
'500':
|
|
description: internal server error
|
|
post:
|
|
tags:
|
|
- admin
|
|
description: Create new account token url
|
|
operationId: add-node-account
|
|
security:
|
|
- basicAuth: []
|
|
responses:
|
|
'201':
|
|
description: generated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: string
|
|
'401':
|
|
description: invalid password
|
|
'500':
|
|
description: internal server error
|
|
|
|
/admin/accounts:
|
|
get:
|
|
tags:
|
|
- admin
|
|
description: Get list of portals
|
|
operationId: get-node-accounts
|
|
security:
|
|
- basicAuth: []
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Profile'
|
|
'401':
|
|
description: invalid password
|
|
'404':
|
|
description: handle not found
|
|
'500':
|
|
description: internal server error
|
|
|
|
/admin/accounts/{guid}:
|
|
delete:
|
|
tags:
|
|
- admin
|
|
description: Remove account from node
|
|
operationId: remove-node-account
|
|
security:
|
|
- basicAuth: []
|
|
parameters:
|
|
- name: guid
|
|
in: path
|
|
description: id of account to delete
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
'401':
|
|
description: invalid authentication
|
|
'404':
|
|
description: account not found
|
|
'500':
|
|
description: internal server error
|
|
|
|
/admin/accounts/{guid}/image:
|
|
get:
|
|
tags:
|
|
- admin
|
|
description: Get profile of specified account
|
|
operationId: get-node-account-image
|
|
security:
|
|
- basicAuth: []
|
|
parameters:
|
|
- name: guid
|
|
in: path
|
|
description: id of specified account
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
type: string
|
|
format: binary
|
|
'401':
|
|
description: invalid password
|
|
'404':
|
|
description: account not found
|
|
'500':
|
|
description: internal server error
|
|
|
|
/account/claimable:
|
|
get:
|
|
tags:
|
|
- account
|
|
description: Check if username is available
|
|
operationId: check-username
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: username
|
|
in: query
|
|
description: username to check
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: success
|
|
'401':
|
|
description: authentication error
|
|
'405':
|
|
description: username already taken
|
|
'500':
|
|
description: internal server error
|
|
|
|
/account/token:
|
|
get:
|
|
tags:
|
|
- account
|
|
description: Check if bearer token is valid
|
|
operationId: check-token
|
|
security:
|
|
- bearerAuth: []
|
|
responses:
|
|
'200':
|
|
description: success
|
|
'401':
|
|
description: invalid token
|
|
'500':
|
|
description: internal server error
|
|
|
|
/account/profile:
|
|
get:
|
|
tags:
|
|
- account
|
|
description: Get public profile object
|
|
operationId: get-account-profile
|
|
security:
|
|
- basicAuth: []
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Profile'
|
|
'401':
|
|
description: authentication error
|
|
'500':
|
|
description: internal server error
|
|
post:
|
|
tags:
|
|
- account
|
|
description: Add a new account
|
|
operationId: add-account
|
|
security:
|
|
- bearerAuth: []
|
|
- basicAuth: []
|
|
responses:
|
|
'201':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Profile'
|
|
'400':
|
|
description: invalid handle or password
|
|
'401':
|
|
description: invalid bearer token
|
|
'500':
|
|
description: internal server error
|
|
|
|
/account/authentication:
|
|
post:
|
|
tags:
|
|
- account
|
|
description: Generate token to reset authentication
|
|
operationId: add-account-authentication
|
|
security:
|
|
- basicAuth: []
|
|
responses:
|
|
'201':
|
|
description: generated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: string
|
|
'401':
|
|
description: invalid password
|
|
'500':
|
|
description: internal server error
|
|
put:
|
|
tags:
|
|
- account
|
|
description: Apply account reset token to set handle and password
|
|
operationId: set-account-authentication
|
|
security:
|
|
- bearerAuth: []
|
|
- basicAuth: []
|
|
responses:
|
|
'201':
|
|
description: successful operation
|
|
'401':
|
|
description: invalid token
|
|
'406':
|
|
description: invalid handle or password
|
|
'500':
|
|
description: internal server error
|
|
|
|
/account/attachment:
|
|
post:
|
|
tags:
|
|
- account
|
|
description: Generate token to attach an app to the account
|
|
operationId: add-account-app
|
|
security:
|
|
- basicAuth: []
|
|
responses:
|
|
'201':
|
|
description: generated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: string
|
|
'401':
|
|
description: invalid password
|
|
'500':
|
|
description: internal server error
|
|
put:
|
|
tags:
|
|
- account
|
|
description: Apply the app token and attach an app to the account
|
|
operationId: set-account-app
|
|
security:
|
|
- bearerAuth: []
|
|
responses:
|
|
'201':
|
|
description: generated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: string
|
|
'401':
|
|
description: invalid token
|
|
'406':
|
|
description: app limit reached
|
|
'500':
|
|
description: internal server error
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AppData'
|
|
|
|
/account/apps:
|
|
get:
|
|
tags:
|
|
- account
|
|
description: Get list of attached apps
|
|
operationId: get-account-apps
|
|
security:
|
|
- basicAuth: []
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/App'
|
|
'401':
|
|
description: invalid password
|
|
'500':
|
|
description: internal server error
|
|
|
|
/account/apps/{appId}:
|
|
delete:
|
|
tags:
|
|
- account
|
|
description: Get list of attached apps
|
|
operationId: remove-account-app
|
|
security:
|
|
- basicAuth: []
|
|
parameters:
|
|
- name: appId
|
|
in: path
|
|
description: specified app id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
'401':
|
|
description: invalid password
|
|
'404':
|
|
description: app not found
|
|
'500':
|
|
description: internal server error
|
|
|
|
/authenticate:
|
|
put:
|
|
tags:
|
|
- authenticate
|
|
description: Sign payload containing external token for authentication
|
|
operationId: authenticate
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: token
|
|
in: query
|
|
description: token to sign in message response
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'201':
|
|
description: generated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/DataMessage'
|
|
'401':
|
|
description: invalid token
|
|
'500':
|
|
description: internal server error
|
|
|
|
/profile:
|
|
get:
|
|
tags:
|
|
- profile
|
|
description: Get profile view object
|
|
operationId: get-profile
|
|
security:
|
|
- bearerAuth: []
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Profile'
|
|
'401':
|
|
description: invalid token
|
|
'500':
|
|
description: internal server error
|
|
put:
|
|
tags:
|
|
- profile
|
|
description: Set profile data
|
|
operationId: set-profile
|
|
security:
|
|
- bearerAuth: []
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
'401':
|
|
description: invalid token
|
|
'500':
|
|
description: internal server error
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ProfileData'
|
|
|
|
/profile/image:
|
|
get:
|
|
tags:
|
|
- profile
|
|
description: Get profile image
|
|
operationId: get-profile-image
|
|
security:
|
|
- bearerAuth: []
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
type: string
|
|
format: binary
|
|
'401':
|
|
description: invalid token
|
|
'500':
|
|
description: internal server error
|
|
|
|
/profile/message:
|
|
get:
|
|
tags:
|
|
- profile
|
|
description: Get profile message
|
|
operationId: get-profile-message
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/DataMessage'
|
|
'401':
|
|
description: invalid token
|
|
'500':
|
|
description: internal server error
|
|
|
|
/share/groups:
|
|
get:
|
|
tags:
|
|
- share
|
|
description: Get groups for sharing
|
|
operationId: get-share-groups
|
|
security:
|
|
- bearerAuth: []
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Group'
|
|
'401':
|
|
description: invalid token
|
|
'500':
|
|
description: internal server error
|
|
post:
|
|
tags:
|
|
- share
|
|
description: Add a group for sharing
|
|
operationId: add-share-group
|
|
security:
|
|
- bearerAuth: []
|
|
responses:
|
|
'201':
|
|
description: entry created
|
|
'401':
|
|
description: invalid token
|
|
'500':
|
|
description: internal server error
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: string
|
|
|
|
/share/groups/{groupId}:
|
|
put:
|
|
tags:
|
|
- share
|
|
description: Update group for sharing
|
|
operationId: update-share-group
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: groupId
|
|
in: path
|
|
description: specified group id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
'401':
|
|
description: invalid token
|
|
'500':
|
|
description: internal server error
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: string
|
|
delete:
|
|
tags:
|
|
- share
|
|
description: Get groups for sharing
|
|
operationId: remove-share-group
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: groupId
|
|
in: path
|
|
description: specified group id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
'401':
|
|
description: invalid token
|
|
'500':
|
|
description: internal server error
|
|
|
|
/contact/cards:
|
|
post:
|
|
tags:
|
|
- contact
|
|
description: Add card entry
|
|
operationId: add-contact-card
|
|
security:
|
|
- bearerAuth: []
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/card'
|
|
'401':
|
|
description: invalid password
|
|
'404':
|
|
description: not found
|
|
'500':
|
|
description: internal server error
|
|
|
|
/contact/cards/view:
|
|
get:
|
|
tags:
|
|
- contact
|
|
description: Get list of cards
|
|
operationId: get-contact-cards
|
|
security:
|
|
- bearerAuth: []
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/cardView'
|
|
'401':
|
|
description: invalid password
|
|
'500':
|
|
description: internal server error
|
|
|
|
/contact/cards/{cardId}:
|
|
get:
|
|
tags:
|
|
- contact
|
|
description: Get card entry
|
|
operationId: get-contact-card
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: cardId
|
|
in: path
|
|
description: specified card id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/card'
|
|
'401':
|
|
description: invalid password
|
|
'404':
|
|
description: not found
|
|
'500':
|
|
description: internal server error
|
|
delete:
|
|
tags:
|
|
- contact
|
|
description: Remove card entry
|
|
operationId: remove-contact-card
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: cardId
|
|
in: path
|
|
description: specified card id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
'401':
|
|
description: invalid password
|
|
'404':
|
|
description: not found
|
|
'500':
|
|
description: internal server error
|
|
|
|
/contact/cards/{cardId}/status:
|
|
put:
|
|
tags:
|
|
- contact
|
|
description: Update card status
|
|
operationId: set-contact-card-status
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: cardId
|
|
in: path
|
|
description: specified card id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: token
|
|
in: query
|
|
description: token for accessing card
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/cardData'
|
|
'401':
|
|
description: invalid password
|
|
'404':
|
|
description: not found
|
|
'500':
|
|
description: internal server error
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: string
|
|
enum: [ pending, confirmed, connecting, connected ]
|
|
|
|
/contact/cards/{cardId}/openMessage:
|
|
get:
|
|
tags:
|
|
- contact
|
|
description: Get message for opening card connection
|
|
operationId: get-contact-open-message
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: cardId
|
|
in: path
|
|
description: specified card id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/DataMessage'
|
|
'401':
|
|
description: invalid password
|
|
'404':
|
|
description: not found
|
|
'500':
|
|
description: internal server error
|
|
put:
|
|
tags:
|
|
- contact
|
|
description: Set message for opening card connection
|
|
operationId: set-contact-open-message
|
|
parameters:
|
|
- name: cardId
|
|
in: path
|
|
description: specified card id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/cardStatus'
|
|
'401':
|
|
description: invalid password
|
|
'404':
|
|
description: not found
|
|
'500':
|
|
description: internal server error
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/DataMessage'
|
|
|
|
/contact/cards/{cardId}/closeMessage:
|
|
get:
|
|
tags:
|
|
- contact
|
|
description: Get message for closing card connection
|
|
operationId: get-contact-close-message
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: cardId
|
|
in: path
|
|
description: specified card id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/DataMessage'
|
|
'401':
|
|
description: invalid password
|
|
'404':
|
|
description: not found
|
|
'500':
|
|
description: internal server error
|
|
put:
|
|
tags:
|
|
- contact
|
|
description: Set message for closing card connection
|
|
operationId: set-contact-close-message
|
|
parameters:
|
|
- name: cardId
|
|
in: path
|
|
description: specified card id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/cardStatus'
|
|
'401':
|
|
description: invalid password
|
|
'404':
|
|
description: not found
|
|
'500':
|
|
description: internal server error
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/DataMessage'
|
|
|
|
/contact/cards/{cardId}/profile:
|
|
get:
|
|
tags:
|
|
- contact
|
|
description: Get profile of card entry
|
|
operationId: get-contact-profile
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: cardId
|
|
in: path
|
|
description: specified card id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/cardProfile'
|
|
'401':
|
|
description: invalid password
|
|
'404':
|
|
description: not found
|
|
'500':
|
|
description: internal server error
|
|
put:
|
|
tags:
|
|
- contact
|
|
description: Set profile of card entry
|
|
operationId: set-contact-profile
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: cardId
|
|
in: path
|
|
description: specified card id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/cardProfile'
|
|
'401':
|
|
description: invalid password
|
|
'404':
|
|
description: not found
|
|
'500':
|
|
description: internal server error
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Profile'
|
|
|
|
/contact/cards/{cardId}/data:
|
|
get:
|
|
tags:
|
|
- contact
|
|
description: Get data of card entry
|
|
operationId: get-contact-data
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: cardId
|
|
in: path
|
|
description: specified card id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/cardData'
|
|
'401':
|
|
description: invalid password
|
|
'404':
|
|
description: not found
|
|
'500':
|
|
description: internal server error
|
|
|
|
/contact/cards/{cardId}/notes:
|
|
put:
|
|
tags:
|
|
- contact
|
|
description: Update card notes
|
|
operationId: set-contact-card-notes
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: cardId
|
|
in: path
|
|
description: specified card id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/cardData'
|
|
'401':
|
|
description: invalid password
|
|
'404':
|
|
description: not found
|
|
'500':
|
|
description: internal server error
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: string
|
|
delete:
|
|
tags:
|
|
- contact
|
|
description: Clear card notes
|
|
operationId: clear-contact-card-notes
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: cardId
|
|
in: path
|
|
description: specified card id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/cardData'
|
|
'401':
|
|
description: invalid password
|
|
'404':
|
|
description: not found
|
|
'500':
|
|
description: internal server error
|
|
|
|
/contact/cards/{cardId}/shares/{shareId}:
|
|
put:
|
|
tags:
|
|
- contact
|
|
description: Update card notes
|
|
operationId: set-contact-card-share
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: cardId
|
|
in: path
|
|
description: specified card id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: shareId
|
|
in: path
|
|
description: specified share id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/cardData'
|
|
'401':
|
|
description: invalid password
|
|
'404':
|
|
description: not found
|
|
'500':
|
|
description: internal server error
|
|
delete:
|
|
tags:
|
|
- contact
|
|
description: Clear card share group
|
|
operationId: clear-contact-card-share
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: cardId
|
|
in: path
|
|
description: specified card id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: shareId
|
|
in: path
|
|
description: specified share id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/cardData'
|
|
'401':
|
|
description: invalid password
|
|
'404':
|
|
description: not found
|
|
'500':
|
|
description: internal server error
|
|
|
|
/contact/blocked:
|
|
get:
|
|
tags:
|
|
- contact
|
|
description: Get list of blocked cards
|
|
operationId: get-contact-blocked-cards
|
|
security:
|
|
- bearerAuth: []
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
'401':
|
|
description: invalid password
|
|
'404':
|
|
description: not found
|
|
'500':
|
|
description: internal server error
|
|
|
|
/contact/blocked/{cardId}:
|
|
post:
|
|
tags:
|
|
- contact
|
|
description: Add card from blocked list
|
|
operationId: add-contact-blocked-card
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: cardId
|
|
in: path
|
|
description: specified card id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
'401':
|
|
description: invalid password
|
|
'404':
|
|
description: not found
|
|
'500':
|
|
description: internal server error
|
|
delete:
|
|
tags:
|
|
- contact
|
|
description: Remove card from blocked list
|
|
operationId: remove-contact-blocked-card
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: cardId
|
|
in: path
|
|
description: specified card id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
'401':
|
|
description: invalid password
|
|
'404':
|
|
description: not found
|
|
'500':
|
|
description: internal server error
|
|
|
|
/contact/profile/revision:
|
|
put:
|
|
tags:
|
|
- contact
|
|
description: Hook receiver for card profile revision updates
|
|
operationId: revision-profile-hook
|
|
security:
|
|
- bearerAuth: []
|
|
responses:
|
|
'200':
|
|
description: revision set
|
|
'401':
|
|
description: not authorized
|
|
'500':
|
|
description: internal server error
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: integer
|
|
format: int64
|
|
|
|
/contact/content/revision:
|
|
put:
|
|
tags:
|
|
- contact
|
|
description: Hook receiver for card content revision updates
|
|
operationId: revision-content-hook
|
|
security:
|
|
- bearerAuth: []
|
|
responses:
|
|
'200':
|
|
description: revision set
|
|
'401':
|
|
description: not authorized
|
|
'500':
|
|
description: internal server error
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: integer
|
|
format: int64
|
|
|
|
/content/articleBlocks/view:
|
|
get:
|
|
tags:
|
|
- content
|
|
description: Get view of content blocks
|
|
operationId: get-article-block-view
|
|
security:
|
|
- bearerAuth: []
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
revision:
|
|
type: integer
|
|
format: int64
|
|
'401':
|
|
description: invalid password
|
|
'500':
|
|
description: internal server error
|
|
|
|
/content/articleBlocks/{blockId}:
|
|
get:
|
|
tags:
|
|
- content
|
|
description: Get articles from specified block
|
|
operationId: get-article-block
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: blockId
|
|
in: path
|
|
description: specified group id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Article'
|
|
'401':
|
|
description: invalid password
|
|
'500':
|
|
description: internal server error
|
|
|
|
/content/articleBlocks/{blockId}/view:
|
|
get:
|
|
tags:
|
|
- content
|
|
description: Get view articles in content block
|
|
operationId: get-article-view
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: blockId
|
|
in: path
|
|
description: specified group id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
revision:
|
|
type: integer
|
|
format: int64
|
|
'401':
|
|
description: invalid password
|
|
'500':
|
|
description: internal server error
|
|
|
|
/content/articles:
|
|
post:
|
|
tags:
|
|
- content
|
|
description: Add an content article
|
|
operationId: add-article
|
|
security:
|
|
- bearerAuth: []
|
|
responses:
|
|
'201':
|
|
description: entry created
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
blockId:
|
|
type: string
|
|
blockRevision:
|
|
type: integer
|
|
format: int64
|
|
article:
|
|
$ref: '#/components/schemas/Article'
|
|
'401':
|
|
description: invalid token
|
|
'500':
|
|
description: internal server error
|
|
|
|
/content/articles/{articleId}:
|
|
get:
|
|
tags:
|
|
- content
|
|
description: Get specified article
|
|
operationId: get-article
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: articleId
|
|
in: path
|
|
description: specified article id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Article'
|
|
'401':
|
|
description: invalid password
|
|
'500':
|
|
description: internal server error
|
|
delete:
|
|
tags:
|
|
- content
|
|
description: Remove specified article
|
|
operationId: remove-article
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: articleId
|
|
in: path
|
|
description: specified article id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
'401':
|
|
description: invalid password
|
|
'500':
|
|
description: internal server error
|
|
|
|
/content/articles/{articleId}/subject:
|
|
put:
|
|
tags:
|
|
- content
|
|
description: Add an content article
|
|
operationId: update-content-article
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: articleId
|
|
in: path
|
|
description: specified article id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'201':
|
|
description: entry created
|
|
'401':
|
|
description: invalid token
|
|
'500':
|
|
description: internal server error
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required:
|
|
- type
|
|
- data
|
|
properties:
|
|
type:
|
|
type: string
|
|
data:
|
|
type: string
|
|
|
|
/content/articles/{articleId}/groups/{groupId}:
|
|
post:
|
|
tags:
|
|
- content
|
|
description: set sharing group for article
|
|
operationId: set-article-group
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: articleId
|
|
in: path
|
|
description: specified article id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: groupId
|
|
in: path
|
|
description: specified share group id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: entry set
|
|
'401':
|
|
description: invalid token
|
|
'500':
|
|
description: internal server error
|
|
delete:
|
|
tags:
|
|
- content
|
|
description: clear sharing group for article
|
|
operationId: clear-article-group
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: articleId
|
|
in: path
|
|
description: specified article id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: groupId
|
|
in: path
|
|
description: specified share id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: entry removed
|
|
'401':
|
|
description: invalid token
|
|
'500':
|
|
description: internal server error
|
|
|
|
/content/articles/{articleId}/labels/{labelId}:
|
|
post:
|
|
tags:
|
|
- content
|
|
description: set orginizational label for article
|
|
operationId: set-article-label
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: articleId
|
|
in: path
|
|
description: specified article id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: labelId
|
|
in: path
|
|
description: specified label id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: entry set
|
|
'401':
|
|
description: invalid token
|
|
'500':
|
|
description: internal server error
|
|
delete:
|
|
tags:
|
|
- content
|
|
description: clear orginizationl label for article
|
|
operationId: clear-article-label
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: articleId
|
|
in: path
|
|
description: specified article id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: labelId
|
|
in: path
|
|
description: specified label id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: entry cleared
|
|
'401':
|
|
description: invalid token
|
|
'500':
|
|
description: internal server error
|
|
|
|
/content/articles/{articleId}/tagBlocks/view:
|
|
get:
|
|
tags:
|
|
- content
|
|
description: Get view tag blocks in article
|
|
operationId: get-article-tag-block-view
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: articleId
|
|
in: path
|
|
description: specified article id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
revision:
|
|
type: integer
|
|
format: int64
|
|
'401':
|
|
description: invalid password
|
|
'500':
|
|
description: internal server error
|
|
|
|
/content/articles/{articleId}/tagBlocks/{blockId}/view:
|
|
get:
|
|
tags:
|
|
- content
|
|
description: Get view tag blocks in article
|
|
operationId: get-tag-view
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: articleId
|
|
in: path
|
|
description: specified article id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: blockId
|
|
in: path
|
|
description: specified block id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
revision:
|
|
type: integer
|
|
format: int64
|
|
'401':
|
|
description: invalid password
|
|
'500':
|
|
description: internal server error
|
|
|
|
/content/articles/{articleId}/tagBlocks/{blockId}:
|
|
get:
|
|
tags:
|
|
- content
|
|
description: Get tags from specified block
|
|
operationId: get-tag-block
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: articleId
|
|
in: path
|
|
description: specified article id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: blockId
|
|
in: path
|
|
description: specified block id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
revision:
|
|
type: integer
|
|
format: int64
|
|
'401':
|
|
description: invalid password
|
|
'500':
|
|
description: internal server error
|
|
|
|
/content/articles/{articleId}/tags:
|
|
post:
|
|
tags:
|
|
- content
|
|
description: Add an content article
|
|
operationId: add-article-tag
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: articleId
|
|
in: path
|
|
description: specified article id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'201':
|
|
description: entry created
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
blockId:
|
|
type: string
|
|
blockRevision:
|
|
type: integer
|
|
format: int64
|
|
tag:
|
|
$ref: '#/components/schemas/Tag'
|
|
'401':
|
|
description: invalid token
|
|
'500':
|
|
description: internal server error
|
|
|
|
/content/articles/{articleId}/tags/{tagId}:
|
|
get:
|
|
tags:
|
|
- content
|
|
description: Add an content article
|
|
operationId: get-article-tag
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: articleId
|
|
in: path
|
|
description: specified article id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: tagId
|
|
in: path
|
|
description: specified tag id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'201':
|
|
description: entry created
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Tag'
|
|
'401':
|
|
description: invalid token
|
|
'404':
|
|
description: tag not found
|
|
'500':
|
|
description: internal server error
|
|
delete:
|
|
tags:
|
|
- content
|
|
description: Add an content article
|
|
operationId: remove-article-tag
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: articleId
|
|
in: path
|
|
description: specified article id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: tagId
|
|
in: path
|
|
description: specified tag id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: entry removed
|
|
'401':
|
|
description: invalid token
|
|
'404':
|
|
description: tag not found
|
|
'500':
|
|
description: internal server error
|
|
|
|
/content/articles/{articleId}/assets:
|
|
get:
|
|
tags:
|
|
- content
|
|
description: Get assets attached to article
|
|
operationId: get-article-assets
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: articleId
|
|
in: path
|
|
description: specified article id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'201':
|
|
description: entry created
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Asset'
|
|
'401':
|
|
description: invalid token
|
|
'500':
|
|
description: internal server error
|
|
post:
|
|
tags:
|
|
- content
|
|
description: Add an content article
|
|
operationId: add-article-asset
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: articleId
|
|
in: path
|
|
description: specified article id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: transforms
|
|
in: query
|
|
description: transforms to apply
|
|
required: false
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
responses:
|
|
'201':
|
|
description: entry created
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Asset'
|
|
'401':
|
|
description: invalid token
|
|
'500':
|
|
description: internal server error
|
|
requestBody:
|
|
content:
|
|
multipart/form-data:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
fileName:
|
|
type: string
|
|
format: binary
|
|
|
|
/content/articles/{articleId}/assets/{assetId}:
|
|
get:
|
|
tags:
|
|
- content
|
|
description: Get asset attached to article
|
|
operationId: get-article-asset
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: articleId
|
|
in: path
|
|
description: specified article id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: assetId
|
|
in: path
|
|
description: specified asset id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: article attachment
|
|
content:
|
|
application/octet-stream: #asset specific
|
|
schema:
|
|
type: string
|
|
format: binary
|
|
'401':
|
|
description: invalid token
|
|
'404':
|
|
description: asset not found
|
|
'500':
|
|
description: internal server error
|
|
delete:
|
|
tags:
|
|
- content
|
|
description: Remove asset attached to article
|
|
operationId: remove-article-asset
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: articleId
|
|
in: path
|
|
description: specified article id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: assetId
|
|
in: path
|
|
description: specified asset id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: article attachment
|
|
content:
|
|
application/octet-stream: #asset specific
|
|
schema:
|
|
type: string
|
|
format: binary
|
|
'401':
|
|
description: invalid token
|
|
'404':
|
|
description: asset not found
|
|
'500':
|
|
description: internal server error
|
|
|
|
/content/articles/{articleId}/confirmed:
|
|
put:
|
|
tags:
|
|
- content
|
|
description: set confirmed state of article
|
|
operationId: set-article-confirmed
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: articleId
|
|
in: path
|
|
description: specified article id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: entry set
|
|
'401':
|
|
description: invalid token
|
|
'404':
|
|
description: article not found
|
|
'500':
|
|
description: internal server error
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: boolean
|
|
|
|
/content/labels:
|
|
get:
|
|
tags:
|
|
- content
|
|
description: Get labels for organization
|
|
operationId: get-content-labels
|
|
security:
|
|
- bearerAuth: []
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Label'
|
|
'401':
|
|
description: invalid token
|
|
'500':
|
|
description: internal server error
|
|
post:
|
|
tags:
|
|
- content
|
|
description: Add a label for organization
|
|
operationId: add-content-label
|
|
security:
|
|
- bearerAuth: []
|
|
responses:
|
|
'201':
|
|
description: entry created
|
|
'401':
|
|
description: invalid token
|
|
'500':
|
|
description: internal server error
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: string
|
|
|
|
/content/labels/{labelId}:
|
|
put:
|
|
tags:
|
|
- content
|
|
description: Update label for organization
|
|
operationId: update-content-label
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: labelId
|
|
in: path
|
|
description: specified group id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
'401':
|
|
description: invalid token
|
|
'500':
|
|
description: internal server error
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: string
|
|
delete:
|
|
tags:
|
|
- content
|
|
description: Remove organizational label
|
|
operationId: remove-content-label
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: labelId
|
|
in: path
|
|
description: specified label id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
'401':
|
|
description: invalid token
|
|
'500':
|
|
description: internal server error
|
|
|
|
# /conversation/dialogues/{dialogueId}/sync - s
|
|
# /conversation/dialogues/{dialogueId}/insights/{guid} - a,d
|
|
# /conversation/insights/{dialogueId} a,d
|
|
|
|
/conversation/dialogues:
|
|
get:
|
|
tags:
|
|
- conversation
|
|
description: Retrieve all dialogues.
|
|
operationId: get-dialogues
|
|
security:
|
|
- bearerAuth: []
|
|
responses:
|
|
'200':
|
|
description: success
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Dialogue'
|
|
'401':
|
|
description: invalid token
|
|
'500':
|
|
description: internal server error
|
|
post:
|
|
tags:
|
|
- conversation
|
|
description: Add a new dialogue.
|
|
operationId: add-dialogue
|
|
security:
|
|
- bearerAuth: []
|
|
responses:
|
|
'200':
|
|
description: success
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Dialogue'
|
|
'401':
|
|
description: invalid token
|
|
'500':
|
|
description: internal server error
|
|
|
|
/conversation/dialogues/{dialogueId}/subject:
|
|
put:
|
|
tags:
|
|
- conversation
|
|
description: Set dialogue subject
|
|
operationId: set-dialogue-subject
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: dialogueId
|
|
in: path
|
|
description: specified dialogue id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'201':
|
|
description: entry created
|
|
'401':
|
|
description: invalid token
|
|
'404':
|
|
description: not found
|
|
'500':
|
|
description: internal server error
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required:
|
|
- type
|
|
- data
|
|
properties:
|
|
type:
|
|
type: string
|
|
data:
|
|
type: string
|
|
|
|
/conversation/dialogues/{dialogueId}/active:
|
|
put:
|
|
tags:
|
|
- conversation
|
|
description: Set dialogue active state
|
|
operationId: set-dialogue-active
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: dialogueId
|
|
in: path
|
|
description: specified dialogue id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: success
|
|
'401':
|
|
description: invalid token
|
|
'404':
|
|
description: not found
|
|
'500':
|
|
description: internal server error
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: boolean
|
|
|
|
/conversation/dialogues/{dialogueId}/insight/{guid}:
|
|
post:
|
|
tags:
|
|
- conversation
|
|
description: Assign a card to have insight into the conversation
|
|
operationId: add-card-insight
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: dialogueId
|
|
in: path
|
|
description: specified dialogue id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: guid
|
|
in: path
|
|
description: specified card id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: entry set
|
|
'401':
|
|
description: invalid token
|
|
'404':
|
|
description: id not found
|
|
'500':
|
|
description: internal server error
|
|
delete:
|
|
tags:
|
|
- conversation
|
|
description: Remove insight from the specified card
|
|
operationId: remove-card-insight
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: dialogueId
|
|
in: path
|
|
description: specified dialogue id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: guid
|
|
in: path
|
|
description: specified card id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: entry cleared
|
|
'401':
|
|
description: invalid token
|
|
'404':
|
|
description: id not found
|
|
'500':
|
|
description: internal server error
|
|
|
|
/conversation/dialogues/{dialogueId}:
|
|
delete:
|
|
tags:
|
|
- conversation
|
|
description: Remove dialogue
|
|
operationId: remove-dialogue
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: dialogueId
|
|
in: path
|
|
description: specified dialogue id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: entry removed
|
|
'401':
|
|
description: invalid token
|
|
'404':
|
|
description: not found
|
|
'500':
|
|
description: internal server error
|
|
|
|
/conversation/insights:
|
|
get:
|
|
tags:
|
|
- conversation
|
|
description: Retrieve all insights.
|
|
operationId: get-insights
|
|
security:
|
|
- bearerAuth: []
|
|
responses:
|
|
'200':
|
|
description: success
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Insight'
|
|
'401':
|
|
description: invalid token
|
|
'500':
|
|
description: internal server error
|
|
|
|
/conversation/insights/{guid}/dialogues/{dialogueId}:
|
|
post:
|
|
tags:
|
|
- conversation
|
|
description: Hook receiver for adding an insight and/or updating the dialog revision
|
|
operationId: add-insight-hook
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: guid
|
|
in: path
|
|
description: id of card hosting the dialogue
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: dialogueId
|
|
in: path
|
|
description: dialogue with insight id to update
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: revision set
|
|
'401':
|
|
description: not authorized
|
|
'500':
|
|
description: internal server error
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: integer
|
|
format: int64
|
|
delete:
|
|
tags:
|
|
- conversation
|
|
description: Hook receiver for removing an insight
|
|
operationId: remove-insight-hook
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: guid
|
|
in: path
|
|
description: id of card hosting the dialogue
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: dialogueId
|
|
in: path
|
|
description: insight id to update
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: revision set
|
|
'401':
|
|
description: not authorized
|
|
'500':
|
|
description: internal server error
|
|
|
|
/conversation/insights/{guid}/dialogues/{dialogueId}/active:
|
|
post:
|
|
tags:
|
|
- conversation
|
|
description: Change active state of insight
|
|
operationId: set-insight-active
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: guid
|
|
in: path
|
|
description: id of card hosting the dialogue
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: dialogueId
|
|
in: path
|
|
description: dialogue with insight id to update
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: success
|
|
'401':
|
|
description: permission denied
|
|
'404':
|
|
description: dialogue or guid not found
|
|
'500':
|
|
description: internal server error
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: boolean
|
|
|
|
/conversation/dialogues/{dialogueId}/topicBlocks/view:
|
|
get:
|
|
tags:
|
|
- conversation
|
|
description: Get a view of the topicBlocks within a dialogue. Authorization granted to account holder app token or dialogue member contact token who is also a member of the dialogue
|
|
operationId: get-topic-block-view
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: dialogueId
|
|
in: path
|
|
description: specified dialogue id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: success
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
revision:
|
|
type: integer
|
|
format: int64
|
|
'401':
|
|
description: permission denied
|
|
'404':
|
|
description: dialogue not found
|
|
'500':
|
|
description: internal server error
|
|
|
|
/conversation/dialogues/{dialogueId}/topicBlocks/{blockId}:
|
|
get:
|
|
tags:
|
|
- conversation
|
|
description: Get the topics within a topicBlock. Only the account holder and the topic creator will retrieve pending topics. Authorization granted to account holder app token or dialogue member contact token who is also a member of the dialogue
|
|
operationId: get-topic-block
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: dialogueId
|
|
in: path
|
|
description: specified dialogue id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: blockId
|
|
in: path
|
|
description: specified group id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Topic'
|
|
'401':
|
|
description: permission denied
|
|
'404':
|
|
description: block or dialogue not found
|
|
'500':
|
|
description: internal server error
|
|
|
|
/conversation/dialogues/{dialogueId}/topicBlocks/{blockId}/view:
|
|
get:
|
|
tags:
|
|
- conversation
|
|
description: Get a view of the topics within a topicBlock. Authorization granted to account holder app token or dialogue member contact token who is also a member of the dialogue.
|
|
operationId: get-topic-view
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: dialogueId
|
|
in: path
|
|
description: specified dialogue id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: blockId
|
|
in: path
|
|
description: specified group id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
revision:
|
|
type: integer
|
|
format: int64
|
|
'401':
|
|
description: permission denied
|
|
'404':
|
|
description: block or dialogue not found
|
|
'500':
|
|
description: internal server error
|
|
|
|
/conversation/dialogues/{dialogueId}/topics:
|
|
post:
|
|
tags:
|
|
- conversation
|
|
description: Add a topic to a dialogue. The response contains the topicBlock ID and topicBlock revision to which the topic is assigned. Authorization granted to account holder app token or dialogue member contact token who is a member of the dialogue.
|
|
operationId: add-dialogue-topic
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: dialogueId
|
|
in: path
|
|
description: specified dialogue id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'201':
|
|
description: entry created
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
blockId:
|
|
type: string
|
|
blockRevision:
|
|
type: integer
|
|
format: int64
|
|
topic:
|
|
$ref: '#/components/schemas/Topic'
|
|
'401':
|
|
description: permission denied
|
|
'404':
|
|
description: dialogue not found
|
|
'500':
|
|
description: internal server error
|
|
|
|
/conversation/dialogues/{dialogueId}/topics/{topicId}:
|
|
get:
|
|
tags:
|
|
- conversation
|
|
description: Retrieve a specified dialogue topic. Authorization granted to account holder app token or dialogue member contact token who is a member of the dialogue.
|
|
operationId: get-dialogue-topic
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: dialogueId
|
|
in: path
|
|
description: specified dialogue id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: topicId
|
|
in: path
|
|
description: specified topic id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Topic'
|
|
'401':
|
|
description: permission denied
|
|
'404':
|
|
description: topic or dialogue not found
|
|
'500':
|
|
description: internal server error
|
|
delete:
|
|
tags:
|
|
- conversation
|
|
description: Remove a topic from a dialogue. Authorization granted to account holder app token or dialogue member contact token who is either the topic createor or the account holder.
|
|
operationId: remove-dialogue-topic
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: dialogueId
|
|
in: path
|
|
description: specified dialogue id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: topicId
|
|
in: path
|
|
description: specified topic id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
'401':
|
|
description: permission denied
|
|
'404':
|
|
description: topic or dilaogue not found
|
|
'500':
|
|
description: internal server error
|
|
|
|
/conversation/dialogues/{dialogueId}/topics/{topicId}/subject:
|
|
put:
|
|
tags:
|
|
- conversation
|
|
description: Set the subject for a topic. Authorization granted to account holder app token or dialogue member contact token who is also the creator of the topic.
|
|
operationId: set-topic-subject
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: dialogueId
|
|
in: path
|
|
description: specified dialogue id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: topicId
|
|
in: path
|
|
description: specified topic id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'201':
|
|
description: entry created
|
|
'401':
|
|
description: invalid token
|
|
'500':
|
|
description: internal server error
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required:
|
|
- type
|
|
- data
|
|
properties:
|
|
type:
|
|
type: string
|
|
data:
|
|
type: string
|
|
|
|
/conversation/dialogues/{dialogueId}/{topicId}/tagBlocks/view:
|
|
get:
|
|
tags:
|
|
- conversation
|
|
description: Get a view of all of the tags within a block. Authorization granted to account holder app token or dialogue member contact token who has access to the topic.
|
|
operationId: get-topic-tag-block-view
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: dialogueId
|
|
in: path
|
|
description: specified dialogue id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: topicId
|
|
in: path
|
|
description: specified topic id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
revision:
|
|
type: integer
|
|
format: int64
|
|
'401':
|
|
description: permission denied
|
|
'404':
|
|
description: topic or dialogue not found
|
|
'500':
|
|
description: internal server error
|
|
|
|
/conversation/dialogues/{dialogueId}/{topicId}/tagBlocks/{blockId}/view:
|
|
get:
|
|
tags:
|
|
- conversation
|
|
description: Get a view of all of the tags within a block. Authorization granted to account holder app token or dialogue member contact token who has access to the topic.
|
|
operationId: get-topic-tag-view
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: dialogueId
|
|
in: path
|
|
description: specified dialogue id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: topicId
|
|
in: path
|
|
description: specified topic id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: blockId
|
|
in: path
|
|
description: specified block id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
revision:
|
|
type: integer
|
|
format: int64
|
|
'401':
|
|
description: permission denied
|
|
'404':
|
|
description: block, topic or dialogue not found
|
|
'500':
|
|
description: internal server error
|
|
|
|
/conversation/dialogues/{dialogueId}/topics/{topicId}/tagBlocks/{blockId}:
|
|
get:
|
|
tags:
|
|
- conversation
|
|
description: Get all of the tags within a tag block. Authorization granted to account holder app token or dialogue member contact token who has access to the topic.
|
|
operationId: get-topic-tag-block
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: dialogueId
|
|
in: path
|
|
description: specified dialogue id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: topicId
|
|
in: path
|
|
description: specified topic id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: blockId
|
|
in: path
|
|
description: specified block id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Tag'
|
|
'401':
|
|
description: permission denied
|
|
'404':
|
|
description: block, topic, or dialogue not found
|
|
'500':
|
|
description: internal server error
|
|
|
|
/conversation/dialogues/{dialogueId}/topics/{topicId}/tags:
|
|
post:
|
|
tags:
|
|
- conversation
|
|
description: Add a tag to specified topic. Authorization granted to account holder app token or dialogue member contact token who has access to the topic. The body of the post contains the subject of the tag, which can have no associated assets.
|
|
operationId: add-conversation-topic-tag
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: dialogueId
|
|
in: path
|
|
description: specified dialogue id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: topicId
|
|
in: path
|
|
description: specified topic id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'201':
|
|
description: entry created
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
blockId:
|
|
type: string
|
|
blockRevision:
|
|
type: integer
|
|
format: int64
|
|
tag:
|
|
$ref: '#/components/schemas/Tag'
|
|
'401':
|
|
description: permission denied
|
|
'404':
|
|
description: topic or dialogue not found
|
|
'500':
|
|
description: internal server error
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required:
|
|
- type
|
|
- data
|
|
properties:
|
|
type:
|
|
type: string
|
|
data:
|
|
type: string
|
|
|
|
/conversation/dialogues/{dialogueId}/topics/{topicId}/tags/{tagId}:
|
|
get:
|
|
tags:
|
|
- conversation
|
|
description: Retrieve specified tag on the topic. Authorization granted to account holder app token or dialogue member contact token who has access to the topic.
|
|
operationId: get-topic-tag
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: dialogueId
|
|
in: path
|
|
description: specified dialogue id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: topicId
|
|
in: path
|
|
description: specified topic id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: tagId
|
|
in: path
|
|
description: specified tag id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'201':
|
|
description: success
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Tag'
|
|
'401':
|
|
description: permission denied
|
|
'404':
|
|
description: tag, topic, or dialogue not found
|
|
'500':
|
|
description: internal server error
|
|
delete:
|
|
tags:
|
|
- conversation
|
|
description: Remove specified tag from the topic. Authorization granted to account holder app token or dialogue member contact token who has access to the topic.
|
|
operationId: remove-topic-tag
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: dialogueId
|
|
in: path
|
|
description: specified dialogue id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: topicId
|
|
in: path
|
|
description: specified topic id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: tagId
|
|
in: path
|
|
description: specified tag id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: success
|
|
'401':
|
|
description: permission denied
|
|
'404':
|
|
description: tag, topic, or dialogue not found
|
|
'500':
|
|
description: internal server error
|
|
|
|
/conversation/dialogues/{dialogueId}/topics/{topicId}/assets:
|
|
get:
|
|
tags:
|
|
- conversation
|
|
description: Get all assets associated with the specified topic. Authorization granted to account holder app token or dialogue member contact token who has access to the topic.
|
|
operationId: get-topic-assets
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: dialogueId
|
|
in: path
|
|
description: specified dialogue id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: topicId
|
|
in: path
|
|
description: specified topic id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'201':
|
|
description: success
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Asset'
|
|
'401':
|
|
description: permission denied
|
|
'404':
|
|
description: topic or dialogue not found
|
|
'500':
|
|
description: internal server error
|
|
post:
|
|
tags:
|
|
- conversation
|
|
description: Add an asset to a topic. The asset will be processed and transcoded according to the specified transformation. Authorization granted to account holder app token or dialogue member contact token who is also the creator of the topic.
|
|
operationId: add-topic-asset
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: dialogueId
|
|
in: path
|
|
description: specified dialogue id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: topicId
|
|
in: path
|
|
description: specified topic id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: transforms
|
|
in: query
|
|
description: transforms to apply
|
|
required: false
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
responses:
|
|
'201':
|
|
description: success
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Asset'
|
|
'401':
|
|
description: permission denied
|
|
'404':
|
|
description: topic or dialogue not found
|
|
'500':
|
|
description: internal server error
|
|
requestBody:
|
|
content:
|
|
multipart/form-data:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
fileName:
|
|
type: string
|
|
format: binary
|
|
|
|
/conversation/dialogues/{dialogueId}/topics/{topicId}/assets/{assetId}:
|
|
get:
|
|
tags:
|
|
- conversation
|
|
description: Retrieve an asset associated with a topic. All transformed assets can be retrieved by anyone with access to the topic, but the original asset can only be retrieved by the author of the topic. Authorization granted to account holder app token or dialogue member contact token who is also the creator of the topic.
|
|
operationId: get-topic-asset
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: dialogueId
|
|
in: path
|
|
description: specified dialogue id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: topicId
|
|
in: path
|
|
description: specified topic id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: assetId
|
|
in: path
|
|
description: specified asset id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: success
|
|
content:
|
|
application/octet-stream: #asset specific
|
|
schema:
|
|
type: string
|
|
format: binary
|
|
'401':
|
|
description: permission denied
|
|
'404':
|
|
description: asset, topic or dialogue not found
|
|
'500':
|
|
description: internal server error
|
|
delete:
|
|
tags:
|
|
- conversation
|
|
description: Remove and delete an asset associated with a topic. Authorization granted to account holder app token or dialogue member contact token who is also the creator of the topic.
|
|
operationId: remove-topic-asset
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: dialogueId
|
|
in: path
|
|
description: specified dialogue id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: topicId
|
|
in: path
|
|
description: specified topic id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: assetId
|
|
in: path
|
|
description: specified asset id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: success
|
|
'401':
|
|
description: permission denied
|
|
'404':
|
|
description: asset, topic or dialogue not found
|
|
'500':
|
|
description: internal server error
|
|
|
|
/conversation/dialogues/{dialogueId}/topics/{topicId}/confirmed:
|
|
put:
|
|
tags:
|
|
- conversation
|
|
description: After the assets have been uploaded and the subject has been set, the topic should be set to confirmed (true) to make the topic available to others. Authorization granted to account holder app token or dialogue member contact token who is also the creator of the topic.
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: dialogueId
|
|
in: path
|
|
description: specified dialogue id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: topicId
|
|
in: path
|
|
description: specified topic id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: success
|
|
'401':
|
|
description: permission denied
|
|
'404':
|
|
description: topic or dialogue not found
|
|
'500':
|
|
description: internal server error
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: boolean
|
|
|
|
|
|
externalDocs:
|
|
description: Find out more about Swagger
|
|
url: 'http://swagger.io'
|
|
|
|
components:
|
|
schemas:
|
|
|
|
Announce:
|
|
type: object
|
|
required:
|
|
- appToken
|
|
properties:
|
|
appToken:
|
|
type: string
|
|
|
|
Revsion:
|
|
type: object
|
|
required:
|
|
- profile
|
|
- content
|
|
- labels
|
|
- sharing
|
|
- card
|
|
- blocked
|
|
- dialogue
|
|
- insight
|
|
properties:
|
|
profile:
|
|
type: integer
|
|
format: int64
|
|
content:
|
|
type: integer
|
|
format: int64
|
|
labels:
|
|
type: integer
|
|
format: int64
|
|
sharing:
|
|
type: integer
|
|
format: int64
|
|
card:
|
|
type: integer
|
|
format: int64
|
|
dialogue:
|
|
type: integer
|
|
format: int64
|
|
insight:
|
|
type: integer
|
|
format: int64
|
|
|
|
Profile:
|
|
type: object
|
|
required:
|
|
- guid
|
|
- revision
|
|
- node
|
|
properties:
|
|
guid:
|
|
type: string
|
|
handle:
|
|
type: string
|
|
name:
|
|
type: string
|
|
description:
|
|
type: string
|
|
location:
|
|
type: string
|
|
image:
|
|
type: string
|
|
format: base64 encoded data
|
|
revision:
|
|
type: integer
|
|
format: int64
|
|
node:
|
|
type: string
|
|
|
|
ProfileData:
|
|
type: object
|
|
properties:
|
|
handle:
|
|
type: string
|
|
name:
|
|
type: string
|
|
description:
|
|
type: string
|
|
location:
|
|
type: string
|
|
image:
|
|
type: string
|
|
|
|
App:
|
|
type: object
|
|
required:
|
|
- appId
|
|
- appData
|
|
- attached
|
|
properties:
|
|
appId:
|
|
type: string
|
|
appData:
|
|
$ref: '#/components/schemas/AppData'
|
|
attached:
|
|
type: integer
|
|
format: int32
|
|
|
|
AppData:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
description:
|
|
type: string
|
|
url:
|
|
type: string
|
|
image:
|
|
type: string
|
|
format: base64 encoded image
|
|
|
|
cardView:
|
|
type: object
|
|
required:
|
|
- guid
|
|
- profileRevision
|
|
- contentRevision
|
|
- cardRevision
|
|
properties:
|
|
guid:
|
|
type: string
|
|
cardRevision:
|
|
type: integer
|
|
format: int64
|
|
profileRevision:
|
|
type: integer
|
|
format: int64
|
|
contentRevision:
|
|
type: integer
|
|
format: int64
|
|
converstaionRevision:
|
|
type: integer
|
|
format: int64
|
|
|
|
cardProfile:
|
|
type: object
|
|
required:
|
|
- node
|
|
properties:
|
|
handle:
|
|
type: string
|
|
name:
|
|
type: string
|
|
description:
|
|
type: string
|
|
location:
|
|
type: string
|
|
revision:
|
|
type: integer
|
|
format: int64
|
|
imageSet:
|
|
type: boolean
|
|
node:
|
|
type: string
|
|
|
|
cardData:
|
|
type: object
|
|
required:
|
|
- status
|
|
properties:
|
|
revision:
|
|
type: integer
|
|
format: int64
|
|
status:
|
|
type: string
|
|
enum: [ pending, confirmed, connecting, connected ]
|
|
details:
|
|
type: string
|
|
token:
|
|
type: string
|
|
groups:
|
|
type: array
|
|
items:
|
|
type: string
|
|
|
|
cardStatus:
|
|
type: object
|
|
required:
|
|
- status
|
|
properties:
|
|
status:
|
|
type: string
|
|
enum: [ pending, confirmed, connecting, connected ]
|
|
token:
|
|
type: string
|
|
|
|
card:
|
|
type: object
|
|
required:
|
|
- cardProfile
|
|
- cardData
|
|
- contentRevision
|
|
- conversationRevision
|
|
properties:
|
|
cardProfile:
|
|
$ref: '#/components/schemas/cardProfile'
|
|
cardData:
|
|
$ref: '#/components/schemas/cardData'
|
|
contentRevision:
|
|
type: integer
|
|
format: int64
|
|
converstaionRevision:
|
|
type: integer
|
|
format: int64
|
|
|
|
Subject:
|
|
type: object
|
|
required:
|
|
- postId
|
|
- revision
|
|
- type
|
|
- data
|
|
- created
|
|
- modified
|
|
properties:
|
|
postId:
|
|
type: string
|
|
revision:
|
|
type: integer
|
|
format: int64
|
|
type:
|
|
type: string
|
|
data:
|
|
type: string
|
|
created:
|
|
type: integer
|
|
format: int32
|
|
|
|
Asset:
|
|
type: object
|
|
required:
|
|
- assetId
|
|
properties:
|
|
assetId:
|
|
type: string
|
|
transform:
|
|
type: string
|
|
status:
|
|
type: string
|
|
enum: [ pending, processing, ready, error ]
|
|
|
|
Tag:
|
|
type: object
|
|
required:
|
|
- guid
|
|
- subject
|
|
properties:
|
|
guid:
|
|
type: string
|
|
subject:
|
|
$ref: '#/components/schemas/Subject'
|
|
|
|
Insight:
|
|
type: object
|
|
required:
|
|
- insightId
|
|
- revision
|
|
- guid
|
|
properties:
|
|
insightId:
|
|
type: string
|
|
revision:
|
|
type: integer
|
|
format: int64
|
|
guid:
|
|
type: string
|
|
active:
|
|
type: boolean
|
|
|
|
Dialogue:
|
|
type: object
|
|
required:
|
|
- dialogueId
|
|
- revision
|
|
- status
|
|
- subject
|
|
- insights
|
|
properties:
|
|
dialogueId:
|
|
type: string
|
|
revision:
|
|
type: integer
|
|
format: int64
|
|
active:
|
|
type: boolean
|
|
subject:
|
|
$ref: '#/components/schemas/Subject'
|
|
insights:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
guid:
|
|
type: string
|
|
status:
|
|
type: string
|
|
enum: [ synced, unsynced ]
|
|
|
|
Topic:
|
|
type: object
|
|
required:
|
|
- topicId
|
|
- revision
|
|
- status
|
|
- subject
|
|
- tagCount
|
|
- tagUpdated
|
|
- tagRevision
|
|
properties:
|
|
articleId:
|
|
type: string
|
|
revision:
|
|
type: integer
|
|
format: int64
|
|
status:
|
|
type: string
|
|
enum: [ unconfirmed, confirmed, complete, error ]
|
|
subject:
|
|
$ref: '#/components/schemas/Subject'
|
|
tagCount:
|
|
type: integer
|
|
format: int32
|
|
tagUpdate:
|
|
type: integer
|
|
format: int32
|
|
tagRevision:
|
|
type: integer
|
|
format: int64
|
|
|
|
Article:
|
|
type: object
|
|
required:
|
|
- articleId
|
|
- revision
|
|
- status
|
|
- subject
|
|
- labels
|
|
- groups
|
|
- tagCount
|
|
- tagUpdated
|
|
- tagRevision
|
|
properties:
|
|
articleId:
|
|
type: string
|
|
revision:
|
|
type: integer
|
|
format: int64
|
|
status:
|
|
type: string
|
|
enum: [ unconfirmed, confirmed, complete, error ]
|
|
subject:
|
|
$ref: '#/components/schemas/Subject'
|
|
labels:
|
|
type: array
|
|
items:
|
|
type: string
|
|
groups:
|
|
type: array
|
|
items:
|
|
type: string
|
|
tagCount:
|
|
type: integer
|
|
format: int32
|
|
tagUpdate:
|
|
type: integer
|
|
format: int32
|
|
tagRevision:
|
|
type: integer
|
|
format: int64
|
|
|
|
Note:
|
|
type: object
|
|
required:
|
|
- noteId
|
|
- guid
|
|
- revision
|
|
- status
|
|
- subject
|
|
- tagCount
|
|
- tagUpdated
|
|
- tagRevision
|
|
properties:
|
|
topicId:
|
|
type: string
|
|
guid:
|
|
type: string
|
|
revision:
|
|
type: integer
|
|
format: int64
|
|
status:
|
|
type: string
|
|
enum: [ unconfirmed, confirmed, complete, error ]
|
|
subject:
|
|
$ref: '#/components/schemas/Subject'
|
|
tagCount:
|
|
type: integer
|
|
format: int32
|
|
tagUpdate:
|
|
type: integer
|
|
format: int32
|
|
tagRevision:
|
|
type: integer
|
|
format: int64
|
|
|
|
Group:
|
|
type: object
|
|
required:
|
|
- groupId
|
|
- name
|
|
properties:
|
|
groupId:
|
|
type: string
|
|
name:
|
|
type: string
|
|
|
|
Label:
|
|
type: object
|
|
required:
|
|
- labelId
|
|
- name
|
|
properties:
|
|
labelId:
|
|
type: string
|
|
name:
|
|
type: string
|
|
|
|
Authenticate:
|
|
type: object
|
|
required:
|
|
- guid
|
|
- token
|
|
- timestamp
|
|
properties:
|
|
token:
|
|
type: string
|
|
timestamp:
|
|
type: integer
|
|
format: int32
|
|
|
|
Connect:
|
|
type: object
|
|
required:
|
|
- requestorId
|
|
- requestedId
|
|
- timestamp
|
|
- profile
|
|
- token
|
|
- contentRevision
|
|
properties:
|
|
requestorGuid:
|
|
type: string
|
|
requestedGuid:
|
|
type: string
|
|
timestamp:
|
|
type: integer
|
|
format: int32
|
|
profile:
|
|
$ref: '#/components/schemas/Profile'
|
|
token:
|
|
type: string
|
|
contentRevision:
|
|
type: integer
|
|
format: int64
|
|
|
|
Disconnect:
|
|
type: object
|
|
required:
|
|
- requestorId
|
|
- requestedId
|
|
- timestamp
|
|
properties:
|
|
requestorId:
|
|
type: string
|
|
requestedId:
|
|
type: string
|
|
timestamp:
|
|
type: integer
|
|
format: int32
|
|
|
|
DataMessage:
|
|
type: object
|
|
required:
|
|
- message
|
|
- messageType
|
|
- keyType
|
|
- publicKey
|
|
- signature
|
|
properties:
|
|
messageType:
|
|
type: string
|
|
enum: [Connect, Disconnect, Profile, Authenticate]
|
|
message:
|
|
type: string
|
|
format: base64 encoded object
|
|
keyType:
|
|
type: string
|
|
enum: [RSA4096, RSA2048]
|
|
publicKey:
|
|
type: string
|
|
format: base64 encoding of account key
|
|
signature:
|
|
type: string
|
|
format: base64 encoding of message signature
|
|
|
|
|
|
securitySchemes:
|
|
|
|
basicAuth:
|
|
type: http
|
|
scheme: basic
|
|
|
|
bearerAuth:
|
|
type: http
|
|
scheme: bearer
|