databag/api.oa3

3423 lines
84 KiB
Plaintext
Raw Normal View History

2021-12-20 21:49:59 +00:00
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
termsOfService: 'http://swagger.io/terms/'
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
2021-12-20 21:49:59 +00:00
- name: profile
description: getting and setting of the public profile
2021-12-24 22:59:24 +00:00
- name: share
description: access control for personal subjects, associates content and contacts
2021-12-22 05:50:25 +00:00
- name: content
description: posting and listing of personal subjects, group and tag managment
2021-12-27 23:15:54 +00:00
2021-12-29 05:49:51 +00:00
- name: index
description: connection to other identities, hook receiver
2021-12-20 21:49:59 +00:00
- name: converstaion
description: group sharing of subjects
paths:
2021-12-26 07:19:25 +00:00
# prefix for bearer tokens types
# app: app_
# contact: cnt_
# pass code: pas_
# account reset: res_
# account create: act_
2021-12-20 21:49:59 +00:00
/revision:
get:
tags:
- revision
2021-12-21 08:13:48 +00:00
description: Websocket placeholder endpoint for receiving revision updates
2021-12-20 21:49:59 +00:00
operationId: websocket
responses:
'200':
description: Awaiting announce
2021-12-25 22:54:45 +00:00
/admin/claimable:
2021-12-20 21:49:59 +00:00
get:
tags:
- admin
2021-12-21 08:13:48 +00:00
description: Check if portal params have been set
operationId: node-configurable
2021-12-20 21:49:59 +00:00
responses:
'200':
description: success
'405':
description: admin already configured
'500':
description: internal server error
/admin/config:
2021-12-20 21:49:59 +00:00
post:
tags:
- admin
2021-12-21 08:13:48 +00:00
description: Set admin password and node domain
operationId: add-node-config
2021-12-20 21:49:59 +00:00
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:
2021-12-20 21:49:59 +00:00
put:
tags:
- admin
2021-12-21 08:13:48 +00:00
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
2021-12-20 21:49:59 +00:00
security:
- basicAuth: []
parameters:
- name: guid
2021-12-20 21:49:59 +00:00
in: query
description: id of profile to access
2021-12-20 21:49:59 +00:00
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: []
2021-12-20 21:49:59 +00:00
responses:
'200':
description: successful operation
content:
application/json:
schema:
type: array
items:
2021-12-24 22:59:24 +00:00
$ref: '#/components/schemas/Profile'
2021-12-20 21:49:59 +00:00
'401':
description: invalid password
'404':
description: handle not found
2021-12-20 21:49:59 +00:00
'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:
2021-12-20 21:49:59 +00:00
get:
tags:
- account
2021-12-20 21:49:59 +00:00
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:
2021-12-20 21:49:59 +00:00
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
2021-12-20 21:49:59 +00:00
description: Get public profile object
operationId: get-account-profile
2021-12-20 21:49:59 +00:00
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
2021-12-20 21:49:59 +00:00
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
2021-12-21 22:47:10 +00:00
/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:
2021-12-21 08:13:48 +00:00
post:
2021-12-20 21:49:59 +00:00
tags:
- account
description: Generate token to attach an app to the account
operationId: add-account-app
2021-12-20 21:49:59 +00:00
security:
- basicAuth: []
responses:
'201':
description: generated
content:
application/json:
schema:
type: string
'401':
description: invalid password
'500':
description: internal server error
2021-12-21 08:13:48 +00:00
put:
tags:
- account
description: Apply the app token and attach an app to the account
operationId: set-account-app
2021-12-21 08:13:48 +00:00
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:
2021-12-21 08:13:48 +00:00
get:
tags:
- account
2021-12-21 08:13:48 +00:00
description: Get list of attached apps
operationId: get-account-apps
2021-12-21 08:13:48 +00:00
security:
- basicAuth: []
responses:
'200':
description: successful operation
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/App'
2021-12-21 08:13:48 +00:00
'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
2021-12-21 22:47:10 +00:00
/profile:
get:
tags:
- profile
description: Get profile view object
operationId: get-profile
security:
- bearerAuth: []
responses:
'200':
description: successful operation
content:
application/json:
schema:
2021-12-24 22:59:24 +00:00
$ref: '#/components/schemas/Profile'
2021-12-21 22:47:10 +00:00
'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'
2021-12-22 05:50:25 +00:00
/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
2021-12-21 22:47:10 +00:00
/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
2021-12-24 22:59:24 +00:00
/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}:
2021-12-28 05:07:43 +00:00
put:
2021-12-24 22:59:24 +00:00
tags:
- share
2021-12-28 05:07:43 +00:00
description: Update group for sharing
operationId: update-share-group
2021-12-24 22:59:24 +00:00
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
2021-12-28 05:07:43 +00:00
requestBody:
content:
application/json:
schema:
type: string
delete:
2021-12-24 22:59:24 +00:00
tags:
- share
2021-12-28 05:07:43 +00:00
description: Get groups for sharing
operationId: remove-share-group
2021-12-24 22:59:24 +00:00
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
2021-12-29 05:49:51 +00:00
/content/articleBlocks/view:
get:
2021-12-25 22:54:45 +00:00
tags:
2021-12-29 05:49:51 +00:00
- content
description: Get view of content blocks
operationId: get-article-block-view
2021-12-25 22:54:45 +00:00
security:
- bearerAuth: []
responses:
'200':
description: successful operation
content:
application/json:
schema:
2021-12-29 05:49:51 +00:00
type: array
items:
type: object
properties:
id:
type: string
revision:
type: integer
format: int64
2021-12-25 22:54:45 +00:00
'401':
description: invalid password
'500':
description: internal server error
2021-12-24 22:59:24 +00:00
2021-12-29 05:49:51 +00:00
/content/articleBlocks/{blockId}:
2021-12-24 22:59:24 +00:00
get:
tags:
2021-12-29 05:49:51 +00:00
- content
description: Get articles from specified block
operationId: get-article-block
2021-12-24 22:59:24 +00:00
security:
- bearerAuth: []
2021-12-29 05:49:51 +00:00
parameters:
- name: blockId
in: path
description: specified group id
required: true
schema:
type: string
2021-12-24 22:59:24 +00:00
responses:
'200':
description: successful operation
content:
application/json:
schema:
type: array
items:
2021-12-29 05:49:51 +00:00
$ref: '#/components/schemas/Article'
2021-12-24 22:59:24 +00:00
'401':
description: invalid password
'500':
description: internal server error
2021-12-24 06:58:04 +00:00
2021-12-29 05:49:51 +00:00
/content/articleBlocks/{blockId}/view:
2021-12-25 22:54:45 +00:00
get:
tags:
2021-12-29 05:49:51 +00:00
- content
description: Get view articles in content block
operationId: get-article-view
2021-12-25 22:54:45 +00:00
security:
- bearerAuth: []
parameters:
2021-12-29 05:49:51 +00:00
- name: blockId
2021-12-25 22:54:45 +00:00
in: path
2021-12-29 05:49:51 +00:00
description: specified group id
2021-12-25 22:54:45 +00:00
required: true
schema:
type: string
responses:
'200':
description: successful operation
content:
application/json:
schema:
2021-12-29 05:49:51 +00:00
type: array
items:
type: object
properties:
id:
type: string
revision:
type: integer
format: int64
2021-12-25 22:54:45 +00:00
'401':
description: invalid password
'500':
description: internal server error
2021-12-29 05:49:51 +00:00
/content/articles:
post:
2021-12-25 22:54:45 +00:00
tags:
2021-12-29 05:49:51 +00:00
- content
description: Add an content article
operationId: add-article
2021-12-25 22:54:45 +00:00
security:
- bearerAuth: []
responses:
2021-12-29 05:49:51 +00:00
'201':
description: entry created
content:
application/json:
schema:
type: object
properties:
blockId:
type: string
blockRevision:
type: integer
format: int64
article:
$ref: '#/components/schemas/Article'
2021-12-25 22:54:45 +00:00
'401':
2021-12-29 05:49:51 +00:00
description: invalid token
2021-12-25 22:54:45 +00:00
'500':
description: internal server error
2021-12-29 05:49:51 +00:00
/content/articles/{articleId}:
get:
2021-12-25 22:54:45 +00:00
tags:
2021-12-29 05:49:51 +00:00
- content
description: Get specified article
operationId: get-article
2021-12-25 22:54:45 +00:00
security:
- bearerAuth: []
parameters:
2021-12-29 05:49:51 +00:00
- name: articleId
2021-12-25 22:54:45 +00:00
in: path
2021-12-29 05:49:51 +00:00
description: specified article id
2021-12-25 22:54:45 +00:00
required: true
schema:
type: string
responses:
'200':
description: successful operation
content:
application/json:
schema:
2021-12-29 05:49:51 +00:00
$ref: '#/components/schemas/Article'
2021-12-25 22:54:45 +00:00
'401':
description: invalid password
'500':
description: internal server error
2021-12-29 05:49:51 +00:00
delete:
2021-12-25 22:54:45 +00:00
tags:
2021-12-29 05:49:51 +00:00
- content
description: Remove specified article
operationId: remove-article
2021-12-25 22:54:45 +00:00
security:
- bearerAuth: []
parameters:
2021-12-29 05:49:51 +00:00
- name: articleId
2021-12-25 22:54:45 +00:00
in: path
2021-12-29 05:49:51 +00:00
description: specified article id
2021-12-25 22:54:45 +00:00
required: true
schema:
type: string
responses:
'200':
description: successful operation
'401':
description: invalid password
'500':
description: internal server error
2021-12-29 05:49:51 +00:00
/content/articles/{articleId}/subject:
2021-12-25 22:54:45 +00:00
put:
tags:
2021-12-29 05:49:51 +00:00
- content
description: Add an content article
operationId: update-content-article
security:
- bearerAuth: []
2021-12-25 22:54:45 +00:00
parameters:
2021-12-29 05:49:51 +00:00
- name: articleId
2021-12-25 22:54:45 +00:00
in: path
2021-12-29 05:49:51 +00:00
description: specified article id
2021-12-25 22:54:45 +00:00
required: true
schema:
type: string
responses:
2021-12-29 05:49:51 +00:00
'201':
description: entry created
2021-12-25 22:54:45 +00:00
'401':
2021-12-29 05:49:51 +00:00
description: invalid token
2021-12-25 22:54:45 +00:00
'500':
description: internal server error
requestBody:
content:
application/json:
schema:
2021-12-29 05:49:51 +00:00
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/{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
/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
/index/contacts:
post:
tags:
- index
description: Add contact entry
operationId: add-index-contact
security:
- bearerAuth: []
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/Contact'
'401':
description: invalid password
'404':
description: not found
'500':
description: internal server error
/index/contacts/view:
get:
tags:
- index
description: Get list of contacts
operationId: get-index-contacts
security:
- bearerAuth: []
responses:
'200':
description: successful operation
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ContactView'
'401':
description: invalid password
'500':
description: internal server error
/index/contacts/{contactId}:
get:
tags:
- index
description: Get contact entry
operationId: get-index-contact
security:
- bearerAuth: []
parameters:
- name: contactId
in: path
description: specified contact id
required: true
schema:
type: string
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/Contact'
'401':
description: invalid password
'404':
description: not found
'500':
description: internal server error
delete:
tags:
- index
description: Remove contact entry
operationId: remove-index-contact
security:
- bearerAuth: []
parameters:
- name: contactId
in: path
description: specified contact id
required: true
schema:
type: string
responses:
'200':
description: successful operation
'401':
description: invalid password
'404':
description: not found
'500':
description: internal server error
/index/contacts/{contactId}/status:
put:
tags:
- index
description: Update contact status
operationId: set-index-contact-status
security:
- bearerAuth: []
parameters:
- name: contactId
in: path
description: specified contact id
required: true
schema:
type: string
- name: token
in: query
description: token for accessing contact
required: true
schema:
type: string
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/ContactData'
'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 ]
/index/contacts/{contactId}/openMessage:
get:
tags:
- index
description: Get message for opening contact connection
operationId: get-index-open-message
security:
- bearerAuth: []
parameters:
- name: contactId
in: path
description: specified contact 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:
- index
description: Set message for opening contact connection
operationId: set-index-open-message
parameters:
- name: contactId
in: path
description: specified contact id
required: true
schema:
type: string
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/ContactStatus'
'401':
description: invalid password
'404':
description: not found
'500':
description: internal server error
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DataMessage'
/index/contacts/{contactId}/closeMessage:
get:
tags:
- index
description: Get message for closing contact connection
2021-12-25 22:54:45 +00:00
operationId: get-index-close-message
security:
- bearerAuth: []
parameters:
- name: contactId
in: path
2021-12-29 05:49:51 +00:00
description: specified contact 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:
- index
description: Set message for closing contact connection
operationId: set-index-close-message
parameters:
- name: contactId
in: path
description: specified contact id
required: true
schema:
type: string
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/ContactStatus'
'401':
description: invalid password
'404':
description: not found
'500':
description: internal server error
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DataMessage'
/index/contacts/{contactId}/profile:
get:
tags:
- index
description: Get profile of contact entry
operationId: get-index-profile
security:
- bearerAuth: []
parameters:
- name: contactId
in: path
description: specified contact id
required: true
schema:
type: string
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/ContactProfile'
'401':
description: invalid password
'404':
description: not found
'500':
description: internal server error
put:
tags:
- index
description: Set profile of contact entry
operationId: set-index-profile
security:
- bearerAuth: []
parameters:
- name: contactId
in: path
description: specified contact id
required: true
schema:
type: string
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/ContactProfile'
'401':
description: invalid password
'404':
description: not found
'500':
description: internal server error
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Profile'
/index/contacts/{contactId}/data:
get:
tags:
- index
description: Get data of contact entry
operationId: get-index-data
security:
- bearerAuth: []
parameters:
- name: contactId
in: path
description: specified contact id
required: true
schema:
type: string
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/ContactData'
'401':
description: invalid password
'404':
description: not found
'500':
description: internal server error
/index/contacts/{contactId}/notes:
put:
tags:
- index
description: Update contact notes
operationId: set-index-contact-notes
security:
- bearerAuth: []
parameters:
- name: contactId
in: path
description: specified contact id
required: true
schema:
type: string
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/ContactData'
'401':
description: invalid password
'404':
description: not found
'500':
description: internal server error
requestBody:
content:
application/json:
schema:
type: string
delete:
tags:
- index
description: Clear contact notes
operationId: clear-index-contact-notes
security:
- bearerAuth: []
parameters:
- name: contactId
in: path
description: specified contact id
required: true
schema:
type: string
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/ContactData'
'401':
description: invalid password
'404':
description: not found
'500':
description: internal server error
/index/contacts/{contactId}/shares/{shareId}:
put:
tags:
- index
description: Update contact notes
operationId: set-index-contact-share
security:
- bearerAuth: []
parameters:
- name: contactId
in: path
description: specified contact id
required: true
schema:
type: string
- name: shareId
in: path
description: specified share id
2021-12-25 22:54:45 +00:00
required: true
schema:
type: string
responses:
'200':
description: successful operation
content:
application/json:
schema:
2021-12-29 05:49:51 +00:00
$ref: '#/components/schemas/ContactData'
2021-12-25 22:54:45 +00:00
'401':
description: invalid password
'404':
description: not found
'500':
description: internal server error
2021-12-29 05:49:51 +00:00
delete:
2021-12-25 22:54:45 +00:00
tags:
- index
2021-12-29 05:49:51 +00:00
description: Clear contact share group
operationId: clear-index-contact-share
security:
- bearerAuth: []
2021-12-25 22:54:45 +00:00
parameters:
- name: contactId
in: path
description: specified contact id
required: true
schema:
type: string
2021-12-29 05:49:51 +00:00
- name: shareId
in: path
description: specified share id
required: true
schema:
type: string
2021-12-25 22:54:45 +00:00
responses:
'200':
description: successful operation
content:
application/json:
schema:
2021-12-29 05:49:51 +00:00
$ref: '#/components/schemas/ContactData'
2021-12-25 22:54:45 +00:00
'401':
description: invalid password
'404':
description: not found
'500':
description: internal server error
2021-12-29 05:49:51 +00:00
/index/blocked:
2021-12-25 22:54:45 +00:00
get:
tags:
- index
2021-12-29 05:49:51 +00:00
description: Get list of blocked contacts
operationId: get-index-blocked-contacts
2021-12-25 22:54:45 +00:00
security:
- bearerAuth: []
responses:
'200':
description: successful operation
content:
application/json:
schema:
2021-12-29 05:49:51 +00:00
type: array
items:
type: string
2021-12-25 22:54:45 +00:00
'401':
description: invalid password
'404':
description: not found
'500':
description: internal server error
2021-12-29 05:49:51 +00:00
/index/blocked/{contactId}:
post:
tags:
- index
2021-12-29 05:49:51 +00:00
description: Add contact from blocked list
operationId: add-index-blocked-contact
security:
- bearerAuth: []
parameters:
- name: contactId
in: path
description: specified contact id
required: true
schema:
type: string
responses:
'200':
description: successful operation
'401':
description: invalid password
'404':
description: not found
'500':
description: internal server error
2021-12-29 05:49:51 +00:00
delete:
2021-12-25 22:54:45 +00:00
tags:
- index
2021-12-29 05:49:51 +00:00
description: Remove contact from blocked list
operationId: remove-index-blocked-contact
2021-12-25 22:54:45 +00:00
security:
- bearerAuth: []
parameters:
- name: contactId
in: path
description: specified contact id
required: true
schema:
type: string
responses:
'200':
description: successful operation
'401':
description: invalid password
'404':
description: not found
'500':
description: internal server error
2021-12-29 05:49:51 +00:00
/index/profile/revision:
2021-12-25 22:54:45 +00:00
put:
tags:
- index
2021-12-29 05:49:51 +00:00
description: Hook receiver for contact 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
/index/content/revision:
put:
tags:
- index
description: Hook receiver for contact 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
# /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
2021-12-25 22:54:45 +00:00
security:
- bearerAuth: []
parameters:
2021-12-29 05:49:51 +00:00
- name: dialogueId
2021-12-25 22:54:45 +00:00
in: path
2021-12-29 05:49:51 +00:00
description: specified dialogue id
2021-12-25 22:54:45 +00:00
required: true
schema:
type: string
responses:
2021-12-29 05:49:51 +00:00
'201':
description: entry created
2021-12-25 22:54:45 +00:00
'401':
2021-12-29 05:49:51 +00:00
description: invalid token
2021-12-25 22:54:45 +00:00
'404':
description: not found
'500':
description: internal server error
requestBody:
content:
application/json:
schema:
2021-12-29 05:49:51 +00:00
type: object
required:
- type
- data
properties:
type:
type: string
data:
type: string
/conversation/dialogues/{dialogueId}/active:
put:
2021-12-25 22:54:45 +00:00
tags:
2021-12-29 05:49:51 +00:00
- conversation
description: Set dialogue active state
operationId: set-dialogue-active
2021-12-25 22:54:45 +00:00
security:
- bearerAuth: []
parameters:
2021-12-29 05:49:51 +00:00
- name: dialogueId
2021-12-25 22:54:45 +00:00
in: path
2021-12-29 05:49:51 +00:00
description: specified dialogue id
2021-12-25 22:54:45 +00:00
required: true
schema:
type: string
responses:
'200':
2021-12-29 05:49:51 +00:00
description: success
2021-12-25 22:54:45 +00:00
'401':
2021-12-29 05:49:51 +00:00
description: invalid token
2021-12-25 22:54:45 +00:00
'404':
description: not found
'500':
description: internal server error
2021-12-29 05:49:51 +00:00
requestBody:
content:
application/json:
schema:
type: boolean
/conversation/dialogues/{dialogueId}/insight/{guid}:
post:
2021-12-25 22:54:45 +00:00
tags:
2021-12-29 05:49:51 +00:00
- conversation
description: Assign a contact to have insight into the conversation
operationId: add-contact-insight
2021-12-25 22:54:45 +00:00
security:
- bearerAuth: []
parameters:
2021-12-29 05:49:51 +00:00
- name: dialogueId
2021-12-25 22:54:45 +00:00
in: path
2021-12-29 05:49:51 +00:00
description: specified dialogue id
2021-12-25 22:54:45 +00:00
required: true
schema:
type: string
2021-12-29 05:49:51 +00:00
- name: guid
2021-12-25 22:54:45 +00:00
in: path
2021-12-29 05:49:51 +00:00
description: specified contact id
2021-12-25 22:54:45 +00:00
required: true
schema:
type: string
responses:
'200':
2021-12-29 05:49:51 +00:00
description: entry set
2021-12-25 22:54:45 +00:00
'401':
2021-12-29 05:49:51 +00:00
description: invalid token
2021-12-25 22:54:45 +00:00
'404':
2021-12-29 05:49:51 +00:00
description: id not found
2021-12-25 22:54:45 +00:00
'500':
description: internal server error
delete:
tags:
2021-12-29 05:49:51 +00:00
- conversation
description: Remove insight from the specified contact
operationId: remove-contact-insight
2021-12-25 22:54:45 +00:00
security:
- bearerAuth: []
parameters:
2021-12-29 05:49:51 +00:00
- name: dialogueId
in: path
description: specified dialogue id
required: true
schema:
type: string
- name: guid
2021-12-25 22:54:45 +00:00
in: path
description: specified contact id
required: true
schema:
type: string
2021-12-29 05:49:51 +00:00
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
2021-12-25 22:54:45 +00:00
in: path
2021-12-29 05:49:51 +00:00
description: specified dialogue id
2021-12-25 22:54:45 +00:00
required: true
schema:
type: string
responses:
'200':
2021-12-29 05:49:51 +00:00
description: entry removed
2021-12-25 22:54:45 +00:00
'401':
2021-12-29 05:49:51 +00:00
description: invalid token
2021-12-25 22:54:45 +00:00
'404':
description: not found
'500':
description: internal server error
2021-12-29 05:49:51 +00:00
/conversation/insights:
2021-12-25 22:54:45 +00:00
get:
tags:
2021-12-29 05:49:51 +00:00
- conversation
description: Retrieve all insights.
operationId: get-insights
2021-12-25 22:54:45 +00:00
security:
- bearerAuth: []
responses:
'200':
2021-12-29 05:49:51 +00:00
description: success
2021-12-25 22:54:45 +00:00
content:
application/json:
schema:
type: array
items:
2021-12-29 05:49:51 +00:00
$ref: '#/components/schemas/Insight'
2021-12-25 22:54:45 +00:00
'401':
2021-12-29 05:49:51 +00:00
description: invalid token
2021-12-25 22:54:45 +00:00
'500':
description: internal server error
2021-12-29 05:49:51 +00:00
/conversation/insights/{guid}/dialogues/{dialogueId}:
2021-12-25 22:54:45 +00:00
post:
tags:
2021-12-29 05:49:51 +00:00
- conversation
description: Hook receiver for adding an insight and/or updating the dialog revision
operationId: add-insight-hook
2021-12-25 22:54:45 +00:00
security:
- bearerAuth: []
parameters:
2021-12-29 05:49:51 +00:00
- name: guid
2021-12-25 22:54:45 +00:00
in: path
2021-12-29 05:49:51 +00:00
description: id of contact hosting the dialogue
required: true
schema:
type: string
- name: dialogueId
in: path
description: dialogue with insight id to update
2021-12-25 22:54:45 +00:00
required: true
schema:
type: string
responses:
'200':
2021-12-29 05:49:51 +00:00
description: revision set
2021-12-25 22:54:45 +00:00
'401':
2021-12-29 05:49:51 +00:00
description: not authorized
2021-12-25 22:54:45 +00:00
'500':
description: internal server error
2021-12-29 05:49:51 +00:00
requestBody:
content:
application/json:
schema:
type: integer
format: int64
2021-12-25 22:54:45 +00:00
delete:
tags:
2021-12-29 05:49:51 +00:00
- conversation
description: Hook receiver for removing an insight
operationId: remove-insight-hook
2021-12-25 22:54:45 +00:00
security:
- bearerAuth: []
parameters:
2021-12-29 05:49:51 +00:00
- name: guid
2021-12-25 22:54:45 +00:00
in: path
2021-12-29 05:49:51 +00:00
description: id of contact hosting the dialogue
required: true
schema:
type: string
- name: dialogueId
in: path
description: insight id to update
2021-12-25 22:54:45 +00:00
required: true
schema:
type: string
responses:
'200':
2021-12-29 05:49:51 +00:00
description: revision set
2021-12-25 22:54:45 +00:00
'401':
2021-12-29 05:49:51 +00:00
description: not authorized
2021-12-25 22:54:45 +00:00
'500':
description: internal server error
2021-12-29 05:49:51 +00:00
/conversation/insights/{guid}/dialogues/{dialogueId}/active:
post:
tags:
- conversation
description: Change active state of insight
operationId: update-insight-active
security:
- bearerAuth: []
parameters:
- name: guid
in: path
description: id of contact 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: boolean
/conversation/dialogues/{dialogueId}/thoughtBlocks/view:
2021-12-27 23:15:54 +00:00
get:
tags:
2021-12-29 05:49:51 +00:00
- conversation
2021-12-27 23:15:54 +00:00
description: Get view of content blocks
2021-12-29 05:49:51 +00:00
operationId: get-conversation-thought-block-view
2021-12-27 23:15:54 +00:00
security:
- bearerAuth: []
2021-12-29 05:49:51 +00:00
parameters:
- name: dialogueId
in: path
description: specified dialogue id
required: true
schema:
type: string
2021-12-27 23:15:54 +00:00
responses:
'200':
description: successful operation
content:
application/json:
schema:
type: array
items:
2021-12-28 05:07:43 +00:00
type: object
properties:
id:
type: string
revision:
type: integer
format: int64
2021-12-27 23:15:54 +00:00
'401':
description: invalid password
'500':
description: internal server error
2021-12-29 05:49:51 +00:00
/conversation/dialogues/{dialogueId}/thoughtBlocks/{blockId}:
2021-12-27 23:15:54 +00:00
get:
tags:
2021-12-29 05:49:51 +00:00
- conversation
description: Get thoughts from specified block in conversation
operationId: get-conversation-thought-block
2021-12-27 23:15:54 +00:00
security:
- bearerAuth: []
parameters:
2021-12-29 05:49:51 +00:00
- name: dialogueId
in: path
description: specified dialogue id
required: true
schema:
type: string
2021-12-27 23:15:54 +00:00
- 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:
2021-12-29 05:49:51 +00:00
$ref: '#/components/schemas/Thought'
2021-12-27 23:15:54 +00:00
'401':
description: invalid password
'500':
description: internal server error
2021-12-29 05:49:51 +00:00
/conversation/dialogues/{dialogueId}/thoughtBlocks/{blockId}/view:
2021-12-27 23:15:54 +00:00
get:
tags:
2021-12-29 05:49:51 +00:00
- conversation
description: Get view thoughts in content block of dialogue
operationId: get-conversation-thought-view
2021-12-27 23:15:54 +00:00
security:
- bearerAuth: []
parameters:
2021-12-29 05:49:51 +00:00
- name: dialogueId
in: path
description: specified dialogue id
required: true
schema:
type: string
2021-12-27 23:15:54 +00:00
- 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:
2021-12-28 05:07:43 +00:00
type: object
properties:
id:
type: string
revision:
type: integer
format: int64
2021-12-27 23:15:54 +00:00
'401':
description: invalid password
'500':
description: internal server error
2021-12-29 05:49:51 +00:00
/conversation/dialogues/{dialogueId}/thoughts:
2021-12-27 23:15:54 +00:00
post:
tags:
2021-12-29 05:49:51 +00:00
- conversation
description: Add an content thought to a conversation
operationId: add-conversation-thought
2021-12-27 23:15:54 +00:00
security:
- bearerAuth: []
2021-12-29 05:49:51 +00:00
parameters:
- name: dialogueId
in: path
description: specified dialogue id
required: true
schema:
type: string
2021-12-27 23:15:54 +00:00
responses:
'201':
description: entry created
2021-12-28 05:07:43 +00:00
content:
application/json:
schema:
type: object
properties:
blockId:
type: string
blockRevision:
type: integer
format: int64
2021-12-29 05:49:51 +00:00
thought:
$ref: '#/components/schemas/Thought'
2021-12-27 23:15:54 +00:00
'401':
description: invalid token
'500':
description: internal server error
2021-12-29 05:49:51 +00:00
/conversation/dialogues/{dialogueId}/thoughts/{thoughtId}:
2021-12-27 23:15:54 +00:00
get:
tags:
2021-12-29 05:49:51 +00:00
- conversation
description: Get specified thought in dialogue
operationId: get-conversation-thought
2021-12-27 23:15:54 +00:00
security:
- bearerAuth: []
parameters:
2021-12-29 05:49:51 +00:00
- name: dialogueId
2021-12-27 23:15:54 +00:00
in: path
2021-12-29 05:49:51 +00:00
description: specified dialogue id
required: true
schema:
type: string
- name: thoughtId
in: path
description: specified thought id
2021-12-27 23:15:54 +00:00
required: true
schema:
type: string
responses:
'200':
description: successful operation
content:
application/json:
schema:
2021-12-29 05:49:51 +00:00
$ref: '#/components/schemas/Thought'
2021-12-27 23:15:54 +00:00
'401':
description: invalid password
'500':
description: internal server error
delete:
tags:
2021-12-29 05:49:51 +00:00
- conversation
description: Remove specified thought from conversation
operationId: remove-conversation-thought
2021-12-27 23:15:54 +00:00
security:
- bearerAuth: []
parameters:
2021-12-29 05:49:51 +00:00
- name: dialogueId
2021-12-27 23:15:54 +00:00
in: path
2021-12-29 05:49:51 +00:00
description: specified dialogue id
required: true
schema:
type: string
- name: thoughtId
in: path
description: specified thought id
2021-12-27 23:15:54 +00:00
required: true
schema:
type: string
responses:
'200':
description: successful operation
'401':
description: invalid password
'500':
description: internal server error
2021-12-29 05:49:51 +00:00
/conversation/dialogues/{dialogueId}/thoughts/{thoughtId}/subject:
2021-12-28 05:07:43 +00:00
put:
tags:
2021-12-29 05:49:51 +00:00
- conversation
description: Add an content thought
operationId: update-conversation-thought
2021-12-28 05:07:43 +00:00
security:
- bearerAuth: []
parameters:
2021-12-29 05:49:51 +00:00
- name: dialogueId
2021-12-28 05:07:43 +00:00
in: path
2021-12-29 05:49:51 +00:00
description: specified dialogue id
required: true
schema:
type: string
- name: thoughtId
in: path
description: specified thought id
2021-12-28 05:07:43 +00:00
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
2021-12-29 05:49:51 +00:00
/conversation/dialogues/{dialogueId}/{thoughtId}/tagBlocks/{blockId}/view:
get:
2021-12-28 05:07:43 +00:00
tags:
2021-12-29 05:49:51 +00:00
- conversation
description: Get view tag blocks in thought
operationId: get-conversation-tag-view
2021-12-28 05:07:43 +00:00
security:
- bearerAuth: []
parameters:
2021-12-29 05:49:51 +00:00
- name: dialogueId
2021-12-28 05:07:43 +00:00
in: path
2021-12-29 05:49:51 +00:00
description: specified dialogue id
2021-12-28 05:07:43 +00:00
required: true
schema:
type: string
2021-12-29 05:49:51 +00:00
- name: thoughtId
2021-12-28 05:07:43 +00:00
in: path
2021-12-29 05:49:51 +00:00
description: specified thought id
2021-12-28 05:07:43 +00:00
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
2021-12-29 05:49:51 +00:00
/conversation/dialogues/{dialogueId}/thoughts/{thoughtId}/tagBlocks/{blockId}:
2021-12-28 05:07:43 +00:00
get:
tags:
2021-12-29 05:49:51 +00:00
- conversation
2021-12-28 05:07:43 +00:00
description: Get tags from specified block
2021-12-29 05:49:51 +00:00
operationId: get-conversation-tag-block
2021-12-28 05:07:43 +00:00
security:
- bearerAuth: []
parameters:
2021-12-29 05:49:51 +00:00
- name: dialogueId
2021-12-28 05:07:43 +00:00
in: path
2021-12-29 05:49:51 +00:00
description: specified dialogue id
required: true
schema:
type: string
- name: thoughtId
in: path
description: specified thought id
2021-12-28 05:07:43 +00:00
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
2021-12-29 05:49:51 +00:00
/conversation/dialogues/{dialogueId}/thoughts/{thoughtId}/tags:
2021-12-28 05:07:43 +00:00
post:
tags:
2021-12-29 05:49:51 +00:00
- conversation
description: Add an content thought
operationId: add-conversation-thought-tag
2021-12-28 05:07:43 +00:00
security:
- bearerAuth: []
parameters:
2021-12-29 05:49:51 +00:00
- name: dialogueId
2021-12-28 05:07:43 +00:00
in: path
2021-12-29 05:49:51 +00:00
description: specified dialogue id
required: true
schema:
type: string
- name: thoughtId
in: path
description: specified thought id
2021-12-28 05:07:43 +00:00
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
2021-12-29 05:49:51 +00:00
/conversation/dialogues/{dialogueId}/thoughts/{thoughtId}/tags/{tagId}:
2021-12-28 05:07:43 +00:00
get:
tags:
2021-12-29 05:49:51 +00:00
- conversation
description: Add an content thought
operationId: get-thought-tag
2021-12-28 05:07:43 +00:00
security:
- bearerAuth: []
parameters:
2021-12-29 05:49:51 +00:00
- name: dialogueId
2021-12-28 05:07:43 +00:00
in: path
2021-12-29 05:49:51 +00:00
description: specified dialogue id
required: true
schema:
type: string
- name: thoughtId
in: path
description: specified thought id
2021-12-28 05:07:43 +00:00
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:
2021-12-29 05:49:51 +00:00
- conversation
description: Remove conversation thought tag
operationId: remove-conversation-thought-tag
2021-12-28 05:07:43 +00:00
security:
- bearerAuth: []
parameters:
2021-12-29 05:49:51 +00:00
- name: dialogueId
2021-12-28 05:07:43 +00:00
in: path
2021-12-29 05:49:51 +00:00
description: specified dialogue id
required: true
schema:
type: string
- name: thoughtId
in: path
description: specified thought id
2021-12-28 05:07:43 +00:00
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
2021-12-29 05:49:51 +00:00
/conversation/dialogues/{dialogueId}/thoughts/{thoughtId}/assets:
2021-12-28 05:07:43 +00:00
get:
tags:
2021-12-29 05:49:51 +00:00
- conversation
description: Get assets attached to thought
operationId: get-conversation-thought-assets
2021-12-28 05:07:43 +00:00
security:
- bearerAuth: []
parameters:
2021-12-29 05:49:51 +00:00
- name: dialogueId
2021-12-28 05:07:43 +00:00
in: path
2021-12-29 05:49:51 +00:00
description: specified dialogue id
required: true
schema:
type: string
- name: thoughtId
in: path
description: specified thought id
2021-12-28 05:07:43 +00:00
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:
2021-12-29 05:49:51 +00:00
- conversation
description: Add an conversation thought asset
operationId: add-conversation-thought-asset
2021-12-28 05:07:43 +00:00
security:
- bearerAuth: []
parameters:
2021-12-29 05:49:51 +00:00
- name: dialogueId
2021-12-28 05:07:43 +00:00
in: path
2021-12-29 05:49:51 +00:00
description: specified dialogue id
required: true
schema:
type: string
- name: thoughtId
in: path
description: specified thought id
2021-12-28 05:07:43 +00:00
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
2021-12-27 06:57:34 +00:00
2021-12-29 05:49:51 +00:00
/conversatin/dialogues/{dialogueId}/thoughts/{thoughtId}/assets/{assetId}:
2021-12-28 05:07:43 +00:00
get:
tags:
2021-12-29 05:49:51 +00:00
- conversation
description: Get asset attached to thought
operationId: get-conversation-thought-asset
2021-12-28 05:07:43 +00:00
security:
- bearerAuth: []
parameters:
2021-12-29 05:49:51 +00:00
- name: dialogueId
2021-12-28 05:07:43 +00:00
in: path
2021-12-29 05:49:51 +00:00
description: specified dialogue id
required: true
schema:
type: string
- name: thoughtId
in: path
description: specified thought id
2021-12-28 05:07:43 +00:00
required: true
schema:
type: string
- name: assetId
in: path
description: specified asset id
required: true
schema:
type: string
responses:
'200':
2021-12-29 05:49:51 +00:00
description: thought attachment
2021-12-28 05:07:43 +00:00
content:
application/octet-stream: #asset specific
schema:
type: string
format: binary
2021-12-29 05:49:51 +00:00
'401':
description: invalid token
'404':
description: asset not found
'500':
description: internal server error
2021-12-28 05:07:43 +00:00
2021-12-29 05:49:51 +00:00
/conversation/dialogues/{dialogueId}/thoughts/{thoughtId}/confirmed:
put:
tags:
- conversation
description: set confirmed state of conversation thought
operationId: set-conversation-thought-confirmed
security:
- bearerAuth: []
parameters:
- name: dialogueId
in: path
description: specified dialogue id
required: true
schema:
type: string
- name: thoughtId
in: path
description: specified thought id
required: true
schema:
type: string
responses:
'200':
description: entry set
'401':
description: invalid token
'404':
description: thought 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:
2021-12-27 06:57:34 +00:00
type: object
required:
2021-12-29 05:49:51 +00:00
- appToken
2021-12-27 06:57:34 +00:00
properties:
2021-12-29 05:49:51 +00:00
appToken:
2021-12-27 06:57:34 +00:00
type: string
2021-12-20 21:49:59 +00:00
Revsion:
type: object
required:
- profile
- content
- labels
- sharing
- contact
2021-12-25 22:54:45 +00:00
- blocked
2021-12-20 21:49:59 +00:00
- dialogue
- insight
properties:
profile:
type: integer
format: int64
content:
type: integer
format: int64
labels:
type: integer
format: int64
sharing:
type: integer
format: int64
contact:
type: integer
format: int64
dialogue:
type: integer
format: int64
insight:
type: integer
format: int64
Profile:
type: object
required:
- guid
- revision
- node
properties:
2021-12-21 08:13:48 +00:00
guid:
type: string
2021-12-21 22:47:10 +00:00
handle:
type: string
name:
type: string
description:
type: string
location:
type: string
image:
type: string
format: base64 encoded data
2021-12-21 08:13:48 +00:00
revision:
type: integer
format: int64
node:
type: string
ProfileData:
type: object
properties:
handle:
2021-12-20 21:49:59 +00:00
type: string
name:
type: string
description:
type: string
location:
type: string
2021-12-21 22:47:10 +00:00
image:
type: string
2021-12-21 08:13:48 +00:00
App:
type: object
required:
- appId
- appData
- attached
properties:
appId:
type: string
appData:
$ref: '#/components/schemas/AppData'
attached:
2021-12-20 21:49:59 +00:00
type: integer
2021-12-21 08:13:48 +00:00
format: int32
AppData:
type: object
properties:
name:
2021-12-20 21:49:59 +00:00
type: string
2021-12-21 08:13:48 +00:00
description:
type: string
url:
type: string
image:
type: string
format: base64 encoded image
2021-12-24 22:59:24 +00:00
ContactView:
type: object
required:
- guid
- profileRevision
- contentRevision
- contactRevision
properties:
guid:
type: string
contactRevision:
type: integer
format: int64
profileRevision:
type: integer
format: int64
contentRevision:
type: integer
format: int64
converstaionRevision:
type: integer
format: int64
2021-12-25 22:54:45 +00:00
ContactProfile:
2021-12-24 22:59:24 +00:00
type: object
required:
2021-12-25 22:54:45 +00:00
- node
2021-12-24 22:59:24 +00:00
properties:
handle:
type: string
name:
type: string
description:
type: string
location:
type: string
2021-12-25 22:54:45 +00:00
revision:
type: integer
format: int64
2021-12-24 22:59:24 +00:00
imageSet:
type: boolean
node:
type: string
2021-12-25 22:54:45 +00:00
ContactData:
type: object
required:
- status
properties:
revision:
2021-12-24 22:59:24 +00:00
type: integer
format: int64
status:
type: string
enum: [ pending, confirmed, connecting, connected ]
2021-12-29 05:49:51 +00:00
details:
2021-12-24 22:59:24 +00:00
type: string
token:
type: string
groups:
type: array
items:
type: string
2021-12-25 22:54:45 +00:00
ContactStatus:
type: object
required:
- status
properties:
status:
type: string
enum: [ pending, confirmed, connecting, connected ]
token:
type: string
Contact:
type: object
required:
- contactProfile
- contactData
- contentRevision
- conversationRevision
properties:
contactProfile:
$ref: '#/components/schemas/ContactProfile'
contactData:
$ref: '#/components/schemas/ContactData'
contentRevision:
type: integer
format: int64
converstaionRevision:
type: integer
format: int64
2021-12-24 22:59:24 +00:00
2021-12-29 05:49:51 +00:00
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 ]
Thought:
type: object
required:
- thoughtId
- 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:
thoughtId:
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
2021-12-24 22:59:24 +00:00
Group:
type: object
required:
- groupId
- name
properties:
groupId:
type: string
name:
type: string
2021-12-26 07:19:25 +00:00
Label:
type: object
required:
- labelId
- name
properties:
labelId:
type: string
name:
type: string
2021-12-24 22:59:24 +00:00
2021-12-22 05:50:25 +00:00
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
- conversationRevision
properties:
requestorId:
type: string
requestedId:
type: string
timestamp:
type: integer
format: int32
profile:
$ref: '#/components/schemas/Profile'
token:
type: string
contentRevision:
type: integer
format: int64
conversationRevision:
type: integer
format: int64
Disconnect:
type: object
required:
- requestorId
- requestedId
- timestamp
properties:
requestorId:
type: string
requestedId:
type: string
timestamp:
type: integer
format: int32
2021-12-21 08:13:48 +00:00
DataMessage:
type: object
required:
- message
- messageType
- keyType
- publicKey
- signature
properties:
messageType:
2021-12-21 08:13:48 +00:00
type: string
enum: [Connect, Disconnect, Profile, Authenticate]
2021-12-21 08:13:48 +00:00
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
2021-12-21 08:13:48 +00:00
2021-12-22 05:50:25 +00:00
2021-12-20 21:49:59 +00:00
securitySchemes:
basicAuth:
type: http
scheme: basic
bearerAuth:
type: http
scheme: bearer
2021-12-25 22:54:45 +00:00