databag/doc/api.oa3

5001 lines
128 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: 1.0.5
2021-12-20 21:49:59 +00:00
title: DataBag
license:
name: Apache 2.0
url: 'http://www.apache.org/licenses/LICENSE-2.0.html'
tags:
2022-01-04 07:18:32 +00:00
- name: status
description: websocket endpoint for receiving module events
- name: admin
description: account creation for portal backend.
- name: account
description: account configuration for portal backend. supports app attachment
2022-01-05 05:31:18 +00:00
- name: authorize
description: authorize holder of identity for external service
2021-12-20 21:49:59 +00:00
- name: profile
description: getting and setting of the public profile
2022-02-07 23:10:04 +00:00
- name: alias
2022-02-08 15:29:59 +00:00
description: group management for contenting attributes
2022-02-07 23:10:04 +00:00
- name: contact
description: card management for referencing contacts
2022-02-08 08:59:53 +00:00
- name: attribute
description: article management associated with profile
- name: call
description: coordination of webrtc communication
2021-12-20 21:49:59 +00:00
paths:
2022-01-04 07:18:32 +00:00
/status:
2021-12-20 21:49:59 +00:00
get:
tags:
2022-01-04 07:18:32 +00:00
- status
description: Websocket endpoint for receiving account status updates
2022-01-04 07:18:32 +00:00
operationId: status
2021-12-20 21:49:59 +00:00
responses:
'200':
description: Awaiting announce
/status/activity:
get:
tags:
2023-03-20 02:55:29 +00:00
- status
description: Websocket endpoint for receiving account status and calling events
operationId: activity
responses:
'200':
description: Awaiting announce
2022-02-09 18:30:39 +00:00
/admin/status:
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
2022-02-09 18:30:39 +00:00
operationId: get-node-status
2021-12-20 21:49:59 +00:00
responses:
'200':
description: success
2022-01-13 18:06:19 +00:00
content:
application/json:
schema:
type: boolean
2021-12-20 21:49:59 +00:00
'500':
description: internal server error
2022-02-09 18:30:39 +00:00
put:
2021-12-20 21:49:59 +00:00
tags:
- admin
2021-12-21 08:13:48 +00:00
description: Set admin password and node domain
2022-02-09 18:30:39 +00:00
operationId: set-node-status
2021-12-20 21:49:59 +00:00
security:
2022-01-17 05:11:24 +00:00
- basicCredentials: []
2021-12-20 21:49:59 +00:00
parameters:
- name: domain
in: query
description: domain of node
required: true
schema:
type: string
responses:
'200':
description: success
2022-01-04 07:18:32 +00:00
'401':
description: permission denied
2021-12-20 21:49:59 +00:00
'500':
description: internal server error
2024-05-21 07:56:25 +00:00
/admin/access:
put:
tags:
- admin
description: Acquire new session token for admin endpoints
operationId: set-admin-session
parameters:
- name: token
in: query
description: access token
required: true
schema:
type: string
- name: code
in: query
description: totp code
required: false
schema:
type: string
responses:
'201':
description: generated
content:
application/json:
schema:
type: string
'401':
description: invalid token
'405':
description: totp code required but not set
'429':
description: temporarily locked due to too many failures
'500':
description: internal server error
/admin/mfauth:
get:
tags:
- admin
description: check if multi-factor authentication enabled
operationId: get-admin-mfa
parameters:
- name: token
in: query
description: session token
required: true
schema:
type: string
responses:
'200':
description: success
content:
application/json:
schema:
type: boolean
'401':
description: permission denied
'500':
description: internal server error
post:
tags:
- admin
description: Enable multi-factor authentication
operationId: add-admin-mfa
parameters:
- name: token
in: query
description: session token
required: true
schema:
type: string
responses:
'201':
description: success
content:
application/json:
schema:
type: string
'401':
description: permission denied
'500':
description: internal server error
put:
tags:
- admin
description: Confirm multi-factor authentication
operationId: confirm-admin-mfa
parameters:
- name: token
in: query
description: session token
required: false
schema:
type: string
- name: code
in: query
description: totp code generated from secret
required: true
schema:
type: string
responses:
'200':
description: success
'401':
description: permission denied
'403':
description: totp code not correct
'405':
description: totp code required but not set
'429':
description: temporarily locked due to too many failures
'500':
description: internal server error
delete:
tags:
- admin
description: Disable multi-factor authentication
operationId: remove-admin-mfa
parameters:
- name: token
in: query
description: session token
required: false
schema:
type: string
responses:
'200':
description: success
'401':
description: permission denied
'500':
description: internal server error
2022-01-05 05:31:18 +00:00
/admin/config:
get:
tags:
- admin
description: Get node configuration. Access granted to admin username and password.
operationId: get-node-config
parameters:
- name: token
in: query
2024-05-21 07:56:25 +00:00
description: session token for admin access
required: true
schema:
type: string
2022-01-05 05:31:18 +00:00
responses:
'200':
description: success
content:
application/json:
schema:
$ref: '#/components/schemas/NodeConfig'
'401':
description: permission denied
'500':
description: internal server error
2021-12-20 21:49:59 +00:00
put:
tags:
- admin
2022-01-05 05:31:18 +00:00
description: Set node config. Access granted to admin username and password.
operationId: set-node-config
parameters:
- name: token
in: query
2024-05-21 07:56:25 +00:00
description: session token for admin access
required: true
schema:
type: string
2023-07-18 19:05:35 +00:00
- name: setOpenAccess
2023-07-18 05:39:38 +00:00
in: query
description: if open access should be updated
required: false
schema:
2023-07-18 19:05:35 +00:00
type: boolean
responses:
'200':
description: success
'401':
2022-01-04 07:18:32 +00:00
description: permission denide
'500':
description: internal server error
2022-01-05 05:31:18 +00:00
2022-01-04 07:18:32 +00:00
/admin/accounts:
get:
tags:
- admin
2022-01-04 07:18:32 +00:00
description: Get list of accounts hosted on node. Access granted to admin username and password.
operationId: get-node-accounts
parameters:
- name: token
in: query
2024-05-21 07:56:25 +00:00
description: session token for admin access
required: true
schema:
type: string
responses:
2022-01-04 07:18:32 +00:00
'200':
description: successful operation
content:
application/json:
schema:
2022-01-04 07:18:32 +00:00
type: array
items:
2022-03-10 05:19:05 +00:00
$ref: '#/components/schemas/AccountProfile'
'401':
description: invalid password
'404':
2022-01-04 07:18:32 +00:00
description: handle not found
'500':
description: internal server error
post:
tags:
- admin
2022-01-04 07:18:32 +00:00
description: Gernerate a url for creating a new account. Access granted to admin username and password.
operationId: add-node-account
parameters:
- name: token
in: query
2024-05-21 07:56:25 +00:00
description: session token for admin access
required: true
schema:
type: string
responses:
'201':
2022-01-05 05:31:18 +00:00
description: success
content:
application/json:
schema:
type: string
'401':
description: invalid password
'500':
description: internal server error
2022-03-10 05:19:05 +00:00
/admin/accounts/{accountId}/image:
get:
tags:
- admin
description: Get profile image of node account.
operationId: get-node-account-image
parameters:
- name: accountId
in: path
description: id of account to delete
required: true
schema:
type: string
- name: token
in: query
2024-05-21 07:56:25 +00:00
description: session token for admin access
required: true
schema:
type: string
2022-03-10 05:19:05 +00:00
responses:
'200':
description: successful operation
content:
application/octet-stream: # content specific
schema:
type: string
format: binary
'401':
description: invalid authentication
'404':
description: account not found
'500':
description: internal server error
2022-06-01 06:46:29 +00:00
2022-01-04 07:18:32 +00:00
/admin/accounts/{accountId}:
delete:
tags:
- admin
2022-06-07 17:54:33 +00:00
description: Remove account from node. Access granted to admin token
2022-01-04 07:18:32 +00:00
operationId: remove-node-account
parameters:
2022-01-04 07:18:32 +00:00
- name: accountId
in: path
2022-01-04 07:18:32 +00:00
description: id of account to delete
required: true
schema:
type: string
- name: token
in: query
2024-05-21 07:56:25 +00:00
description: session token for admin access
required: true
schema:
type: string
responses:
'200':
description: successful operation
'401':
2022-01-04 07:18:32 +00:00
description: invalid authentication
'404':
description: account not found
'500':
2022-06-07 17:54:33 +00:00
description: internal server error
2022-06-08 08:25:41 +00:00
/admin/accounts/{accountId}/auth:
post:
tags:
- account
description: Generate token to reset authentication.
operationId: add-account-authentication
parameters:
- name: token
in: query
2024-05-21 07:56:25 +00:00
description: session token for admin access
2022-06-08 08:25:41 +00:00
required: true
schema:
type: string
2022-11-01 18:27:57 +00:00
- name: accountId
in: path
description: specified account
required: true
schema:
type: string
2022-06-08 08:25:41 +00:00
responses:
'201':
description: generated
content:
application/json:
schema:
type: string
'401':
description: invalid password
'500':
description: internal server error
/admin/accounts/{accountId}/status:
2022-06-07 17:54:33 +00:00
put:
tags:
- admin
description: Disable account. Access granted to admin token
operationId: set-node-account
parameters:
- name: accountId
in: path
description: id of account to delete
required: true
schema:
type: string
- name: token
in: query
2024-05-21 07:56:25 +00:00
description: session token for admin access
2022-06-07 17:54:33 +00:00
required: true
schema:
type: string
responses:
'200':
description: successful operation
content:
application/json:
schema:
type: boolean
'401':
description: invalid authentication
'404':
description: account not found
'500':
description: internal server error
2022-01-13 05:00:52 +00:00
/admin/accounts/import:
post:
tags:
- admin
description: Import an account account from a backup archive. Access granted to the admin username and password.
operationId: import account
security:
- basicAuth: []
responses:
'201':
description: success
'401':
description: permission denied
'406':
description: account already imported
'500':
description: internal server error
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
fileName:
type: string
format: binary
2022-03-11 05:26:17 +00:00
2022-02-08 08:59:53 +00:00
/account/available:
2022-03-11 05:26:17 +00:00
get:
tags:
- account
description: Check if any public accounts are available
operationId: get-account-available
responses:
'200':
description: available public accounts
content:
application/json:
schema:
type: integer
format: uint32
'500':
description: internal server error
/account/username:
2021-12-20 21:49:59 +00:00
get:
tags:
- account
2022-01-04 07:18:32 +00:00
description: Check if username is available. Access granted account reset token or account create token.
operationId: get-account-username
2021-12-20 21:49:59 +00:00
security:
- bearerAuth: []
parameters:
2022-03-11 21:40:29 +00:00
- name: name
2021-12-20 21:49:59 +00:00
in: query
description: username to check
required: true
schema:
type: string
responses:
'200':
description: success
2022-01-13 18:06:19 +00:00
content:
application/json:
schema:
type: boolean
2021-12-20 21:49:59 +00:00
'401':
2022-01-04 07:18:32 +00:00
description: permission denied
2021-12-20 21:49:59 +00:00
'500':
description: internal server error
2022-11-01 18:27:57 +00:00
/account/flag/{guid}:
get:
tags:
- account
description: Report record for admin review.
operationId: add-flag
parameters:
- name: guid
in: path
description: guid of account holder
required: true
schema:
type: string
- name: channel
in: query
description: channel of or reported record
required: false
schema:
type: string
- name: topic
in: query
description: topic id of reported record
required: false
schema:
type: string
responses:
'200':
description: success
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Profile'
'401':
description: permission denied
'500':
description: internal server error
2022-03-07 23:03:24 +00:00
/account/listing:
2021-12-20 21:49:59 +00:00
get:
tags:
- account
2022-03-07 23:03:24 +00:00
description: Get profile of searchable accounts. Endpoint is publically accessible.
operationId: get-account-listing
parameters:
2022-11-01 18:27:57 +00:00
- name: filter
2022-03-07 23:03:24 +00:00
in: query
2022-11-01 18:27:57 +00:00
description: filter handles by text
2022-03-07 23:03:24 +00:00
required: false
schema:
type: string
responses:
'200':
description: success
2022-01-15 22:54:49 +00:00
content:
application/json:
schema:
2022-03-07 23:03:24 +00:00
type: array
items:
$ref: '#/components/schemas/Profile'
2022-03-09 19:27:50 +00:00
'401':
description: permission denied
'500':
description: internal server error
/account/listing/{guid}/image:
get:
tags:
- account
description: Get profile image of searchable accounts. Endpoint is publically accessible.
operationId: get-account-listing-image
parameters:
- name: guid
in: path
description: filter for specified guid
required: true
schema:
type: string
responses:
'200':
description: success
content:
application/octet-stream: # content specific
schema:
type: string
format: binary
'401':
2022-01-04 07:18:32 +00:00
description: permission denied
'500':
description: internal server error
2022-04-05 18:39:18 +00:00
/account/listing/{guid}/message:
get:
tags:
- account
description: Get profile message of searchable account. Endpoint is publically accessible.
operationId: get-account-listing-message
parameters:
- name: guid
in: path
description: filter for specified guid
required: true
schema:
type: string
responses:
'200':
description: success
content:
application/json:
schema:
$ref: '#/components/schemas/DataMessage'
'401':
description: permission denied
'500':
description: internal server error
2022-04-05 18:39:18 +00:00
2022-03-07 23:03:24 +00:00
/account/token:
2022-01-13 05:00:52 +00:00
get:
tags:
- account
2022-03-07 23:03:24 +00:00
description: Check if account reset token or account create token is valid. Access granted to valid create or reset token.
operationId: get-account-token
2022-01-13 05:00:52 +00:00
security:
2022-03-07 23:03:24 +00:00
- bearerAuth: []
2022-01-13 05:00:52 +00:00
responses:
'200':
2022-03-07 23:03:24 +00:00
description: success
2022-01-13 05:00:52 +00:00
content:
application/json:
schema:
type: string
'401':
2022-03-07 23:03:24 +00:00
description: permission denied
2022-01-13 05:00:52 +00:00
'500':
description: internal server error
2022-01-13 05:08:44 +00:00
/account/status:
2022-01-13 05:00:52 +00:00
get:
tags:
- account
description: Get disabled status of account. Authorized to account username and password.
operationId: get-account-status
2022-03-25 07:33:22 +00:00
parameters:
- name: agent
in: query
description: agent token
required: false
schema:
type: string
2022-01-13 05:00:52 +00:00
responses:
'200':
description: successful operation
content:
application/json:
schema:
2022-01-13 05:08:44 +00:00
$ref: '#/components/schemas/AccountStatus'
2022-01-13 05:00:52 +00:00
'401':
description: authentication error
'500':
description: internal server error
/account/notification:
put:
tags:
- account
description: Set whether account should receive push notifications.
operationId: set-account-notification
parameters:
- name: agent
in: query
description: agent token
required: false
schema:
type: string
- name: deviceToken
in: query
description: deviceToken for push notification
required: false
schema:
type: string
- name: webEndpoint
in: query
description: webpush endpoint
required: false
schema:
type: string
- name: webPublicKey
in: query
description: webpush public key
required: false
schema:
type: string
- name: webAuth
in: query
description: webpush authorization
required: false
schema:
type: string
- name: pushType
in: query
description: unifiedpush (up) or firebase (fcm), or webpush (web)
required: false
schema:
type: string
responses:
'201':
description: success
'401':
description: permission denied
'405':
description: failed to confirm
'500':
description: internal server error
requestBody:
content:
application/json:
schema:
type: boolean
2022-12-03 23:30:12 +00:00
/account/seal:
put:
tags:
- account
description: Set sealing key for account.
operationId: set-account-seal
parameters:
- name: agent
in: query
description: agent token
required: false
schema:
type: string
responses:
'201':
description: success
'401':
description: permission denied
'410':
description: account disabled
'500':
description: internal server error
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Seal'
2022-03-07 23:03:24 +00:00
/account/searchable:
put:
tags:
- account
description: Set whether account is publicly listed.
operationId: set-account-seachable
2022-03-25 07:33:22 +00:00
parameters:
- name: agent
in: query
description: agent token
required: false
schema:
type: string
2022-03-07 23:03:24 +00:00
responses:
'201':
description: success
'401':
description: permission denied
'405':
description: failed to confirm
'500':
description: internal server error
requestBody:
content:
application/json:
schema:
type: boolean
2024-05-14 22:20:00 +00:00
2024-05-15 21:48:38 +00:00
/account/mfauth:
2024-05-14 22:20:00 +00:00
post:
tags:
- account
description: Enable multi-factor authentication
operationId: add-mfa
parameters:
- name: agent
in: query
description: agent token
required: false
schema:
type: string
responses:
'201':
description: success
content:
application/json:
schema:
type: string
'401':
description: permission denied
'500':
description: internal server error
put:
tags:
- account
description: Confirm multi-factor authentication
operationId: confirm-mfa
parameters:
- name: agent
in: query
description: agent token
required: false
schema:
type: string
- name: code
in: query
description: totp code generated from secret
required: true
schema:
type: string
responses:
'200':
description: success
'401':
description: permission denied
2024-05-17 01:45:48 +00:00
'403':
description: totp code not correct
2024-05-15 21:48:38 +00:00
'405':
description: totp code required but not set
'429':
description: temporarily locked due to too many failures
2024-05-14 22:20:00 +00:00
'500':
description: internal server error
delete:
tags:
- account
description: Disable multi-factor authentication
operationId: remove-mfa
parameters:
- name: agent
in: query
description: agent token
required: false
schema:
type: string
responses:
'200':
description: success
'401':
description: permission denied
'500':
description: internal server error
2022-06-01 06:46:29 +00:00
/account/login:
put:
tags:
- account
description: Reset account login credentials
operationId: set-account-login
security:
- basicAuth: []
responses:
'201':
description: success
content:
application/json:
schema:
type: string
'401':
description: invalid password
'404':
description: unknown portal
'500':
description: internal server error
/account/profile:
2021-12-20 21:49:59 +00:00
post:
tags:
- account
2022-01-04 07:18:32 +00:00
description: Add a new account. Basic auth will be used for the accounts username and password. Access granted to valid create account token.
operationId: add-account
security:
- bearerAuth: []
- basicCredentials: []
2022-12-03 22:06:06 +00:00
responses:
2021-12-20 21:49:59 +00:00
'201':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/Profile'
2021-12-20 21:49:59 +00:00
'400':
description: invalid handle or password
'401':
description: permission denied
2021-12-20 21:49:59 +00:00
'500':
description: internal server error
2022-01-13 18:06:19 +00:00
delete:
tags:
- account
description: Delete account. Access granted to valid create account token.
operationId: remove-account
security:
- basicAuth: []
responses:
'201':
description: successful operation
'401':
description: permission denied
'500':
description: internal server error
2021-12-20 21:49:59 +00:00
2022-01-13 18:06:19 +00:00
/account/assets/{assetId}:
get:
tags:
- account
description: Get asset assigned to an account. The endpoint supports byte-range requests and responds with the content-type set appropriatly. Access granted to the app tokens of the account holder and in the case of non-original assets, the contact token for accounts with which the article is shared.
operationId: get-account-asset
security:
- basicAuth: []
parameters:
- 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 or article not found
'500':
description: internal server error
2022-01-04 07:18:32 +00:00
/account/auth:
2021-12-21 22:47:10 +00:00
put:
tags:
- account
2022-01-04 07:18:32 +00:00
description: Apply account reset token to set handle and password. Basic auth will be used for new login and password. Access granted to valid reset token.
2021-12-21 22:47:10 +00:00
operationId: set-account-authentication
security:
- bearerAuth: []
- basicAuth: []
responses:
'201':
2022-01-04 07:18:32 +00:00
description: success
2021-12-21 22:47:10 +00:00
'401':
2022-01-04 07:18:32 +00:00
description: permission denied
2021-12-21 22:47:10 +00:00
'500':
description: internal server error
/account/access:
put:
tags:
- account
description: Apply reset token to acquire app token for access.
operationId: set-account-access
parameters:
- name: token
in: query
description: access token for connecting to accounts
required: false
schema:
type: string
- name: appName
in: query
description: name of connecting app
required: false
schema:
type: string
- name: appVersion
in: query
description: version of connecting app
required: false
schema:
type: string
- name: platform
in: query
description: device platform
required: false
schema:
type: string
- name: deviceToken
in: query
description: deviceToken for push notification
required: false
schema:
type: string
- name: notifications
in: query
description: push notifications to receive
required: false
schema:
type: array
items:
type: string
responses:
'201':
description: generated
content:
application/json:
schema:
$ref: '#/components/schemas/LoginAccess'
'401':
description: permission denied
'500':
description: internal server error
2022-01-13 18:06:19 +00:00
/account/node:
put:
tags:
- account
description: Set forwarding address after export/import has completed. Access granted to valid reset token.
operationId: set-account-node
security:
- basicAuth: []
responses:
'201':
description: success
'401':
description: permission denied
'405':
description: failed to confirm
'500':
description: internal server error
2022-03-07 23:03:24 +00:00
requestBody:
content:
application/json:
schema:
type: string
2022-01-13 18:06:19 +00:00
2022-01-04 07:18:32 +00:00
/account/apps:
get:
tags:
- account
description: Get list of attached apps to account. Access granted to account's username and password.
operationId: get-account-apps
security:
- basicAuth: []
responses:
'200':
description: success
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/App'
'401':
description: permission denied
'500':
description: internal server error
2021-12-21 08:13:48 +00:00
post:
2021-12-20 21:49:59 +00:00
tags:
- account
2022-01-04 07:18:32 +00:00
description: Generate token to attach an app to the account. Access granted to account's username and password.
operationId: add-account-app
security:
2021-12-20 21:49:59 +00:00
- basicAuth: []
parameters:
2024-05-14 22:20:00 +00:00
- name: code
in: query
description: totp code
required: false
schema:
type: string
- name: appName
in: query
description: name of connecting app
required: false
schema:
type: string
- name: appVersion
in: query
description: version of connecting app
required: false
schema:
type: string
- name: platform
in: query
description: device platform
required: false
schema:
type: string
- name: deviceToken
in: query
description: deviceToken for push notification
required: false
schema:
type: string
- name: pushType
in: query
description: unifiedpush (up) or firebase (fcm), default fcm
required: false
schema:
type: string
- name: notifications
in: query
description: push notifications to receive
required: false
schema:
type: array
items:
type: string
2021-12-20 21:49:59 +00:00
responses:
'201':
description: generated
2021-12-21 08:13:48 +00:00
content:
application/json:
schema:
$ref: '#/components/schemas/LoginAccess'
2021-12-21 08:13:48 +00:00
'401':
description: invalid token
'406':
description: app limit reached
2024-05-15 21:48:38 +00:00
'405':
2024-05-14 22:20:00 +00:00
description: totp code required but not set
2022-01-13 05:00:52 +00:00
'410':
description: account disabled
2024-05-14 22:20:00 +00:00
'429':
description: temporarily locked due to too many failures
2021-12-21 08:13:48 +00:00
'500':
description: internal server error
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AppData'
delete:
tags:
- account
description: Remove an app entry to achieve logout. Access granted to agent token.
operationId: remove-agent-token
parameters:
- name: agent
in: query
description: agent token for account access
required: true
schema:
type: string
- name: all
in: query
description: whether all app tokens should be cleared
required: false
schema:
type: boolean
responses:
'200':
description: ok
'401':
description: invalid token
'410':
description: account disabled
'500':
description: internal server error
2021-12-21 08:13:48 +00:00
/account/apps/{appId}:
delete:
tags:
- account
2022-01-04 07:18:32 +00:00
description: Get list of attached apps. Access granted to account's username and password.
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
2022-01-13 05:00:52 +00:00
'410':
description: account disabled
'500':
description: internal server error
/account/export:
put:
tags:
- account
description: Export account from node. Account is automatically disabled afterwards. Authorized to account username and password.
operationId: set-account-export
security:
- basicAuth: []
responses:
'201':
description: success
'401':
description: permission denied
'500':
description: internal server error
2022-01-04 07:18:32 +00:00
2022-01-05 05:31:18 +00:00
/authorize:
put:
tags:
2022-01-05 05:31:18 +00:00
- authorize
2022-01-04 07:18:32 +00:00
description: Retrieve an authenticate data messaging verifying the account holder is accepting the action referenced by the token.
2022-01-13 05:23:18 +00:00
operationId: authorize
security:
- bearerAuth: []
responses:
2022-01-04 07:18:32 +00:00
'200':
description: success
content:
application/json:
schema:
$ref: '#/components/schemas/DataMessage'
'401':
2022-01-04 07:18:32 +00:00
description: permission denied
2022-01-13 05:00:52 +00:00
'410':
description: account disabled
'500':
description: internal server error
2022-01-04 07:18:32 +00:00
requestBody:
content:
application/json:
schema:
type: string
2021-12-21 22:47:10 +00:00
/profile:
get:
tags:
- profile
2022-01-03 23:13:16 +00:00
description: Get profile of accunt. Access granted to app token of account holder.
2021-12-21 22:47:10 +00:00
operationId: get-profile
2022-03-20 06:01:18 +00:00
parameters:
- name: agent
in: query
description: agent token
required: false
schema:
type: string
2021-12-21 22:47:10 +00:00
responses:
'200':
2022-01-03 23:13:16 +00:00
description: success
2021-12-21 22:47:10 +00:00
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':
2022-01-03 23:13:16 +00:00
description: permission denied
2022-01-13 05:00:52 +00:00
'410':
description: account disabled
2021-12-21 22:47:10 +00:00
'500':
description: internal server error
2022-11-01 18:27:57 +00:00
delete:
tags:
- profile
description: Delete own account.
operationId: remove-profile
parameters:
- name: agent
in: query
description: agent token
required: false
schema:
type: string
responses:
'200':
description: success
'401':
description: permission denied
'500':
description: internal server error
2022-01-19 08:03:46 +00:00
/profile/data:
2021-12-21 22:47:10 +00:00
put:
tags:
- profile
2022-01-03 23:13:16 +00:00
description: Set profile data. Access granted to app tokens of account holder.
2021-12-21 22:47:10 +00:00
operationId: set-profile
2022-03-20 06:01:18 +00:00
parameters:
- name: agent
in: query
description: agent token
required: false
schema:
type: string
2021-12-21 22:47:10 +00:00
responses:
'200':
2022-01-03 23:13:16 +00:00
description: success
2022-02-09 18:30:39 +00:00
content:
application/json:
schema:
$ref: '#/components/schemas/Profile'
2021-12-21 22:47:10 +00:00
'401':
2022-01-03 23:13:16 +00:00
description: permission denied
2022-01-13 05:00:52 +00:00
'410':
description: account disabled
2021-12-21 22:47:10 +00:00
'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
2022-01-03 23:13:16 +00:00
description: Download base64 decoded data of profile image. Access granted to app tokens of account holder.
2021-12-22 05:50:25 +00:00
operationId: get-profile-image
parameters:
- name: agent
in: query
description: agent token
required: false
schema:
type: string
2021-12-22 05:50:25 +00:00
responses:
'200':
2022-01-03 23:13:16 +00:00
description: success
2021-12-22 05:50:25 +00:00
content:
2022-01-03 23:13:16 +00:00
application/octet-stream: # content specific
2021-12-22 05:50:25 +00:00
schema:
type: string
format: binary
'401':
2022-01-03 23:13:16 +00:00
description: permission denied
2022-01-03 17:21:18 +00:00
'405':
description: invalid image
2022-01-13 05:00:52 +00:00
'410':
description: account disabled
2021-12-22 05:50:25 +00:00
'500':
description: internal server error
2022-01-19 08:03:46 +00:00
put:
tags:
- profile
description: Set base64 encode image data for profile. Access granted to app tokens of account holder.
operationId: set-profile-image
2022-03-20 06:01:18 +00:00
parameters:
- name: agent
in: query
description: agent token
required: false
schema:
type: string
2022-01-19 08:03:46 +00:00
responses:
'200':
description: success
2022-02-09 18:30:39 +00:00
content:
application/json:
schema:
$ref: '#/components/schemas/Profile'
2022-01-19 08:03:46 +00:00
'401':
description: permission denied
'405':
description: invalid image
'410':
description: account disabled
'500':
description: internal server error
requestBody:
content:
2022-02-09 18:30:39 +00:00
application/json:
2022-01-19 08:03:46 +00:00
schema:
type: string
2021-12-22 05:50:25 +00:00
2021-12-21 22:47:10 +00:00
/profile/message:
get:
tags:
- profile
2022-01-03 23:13:16 +00:00
description: Get a profile data message. Access granted to app token of account holder or contact token of connected contact.
2021-12-21 22:47:10 +00:00
operationId: get-profile-message
parameters:
2022-03-20 06:01:18 +00:00
- name: agent
in: query
description: agent token
required: false
schema:
type: string
- name: contact
in: query
description: contact token
required: false
schema:
type: string
2021-12-21 22:47:10 +00:00
responses:
'200':
2022-01-03 23:13:16 +00:00
description: success
2021-12-21 22:47:10 +00:00
content:
application/json:
schema:
$ref: '#/components/schemas/DataMessage'
'401':
2022-01-03 23:13:16 +00:00
description: permission denied
2022-01-13 05:00:52 +00:00
'410':
description: account disabled
2021-12-21 22:47:10 +00:00
'500':
description: internal server error
2022-02-08 08:59:53 +00:00
/alias/groups:
2021-12-24 22:59:24 +00:00
get:
tags:
2022-02-08 08:59:53 +00:00
- alias
2022-01-03 17:21:18 +00:00
description: Get groups for sharing. Access granted to app tokens of the account holder.
operationId: get-groups
parameters:
- name: agent
in: query
description: agent token
required: false
schema:
type: string
2021-12-24 22:59:24 +00:00
responses:
'200':
2022-02-08 08:59:53 +00:00
description: successful operation
headers:
X-Group-Revision:
schema:
type: integer
format: int64
description: current group revision
2021-12-24 22:59:24 +00:00
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Group'
'401':
description: invalid token
2022-01-13 05:00:52 +00:00
'410':
description: account disabled
2021-12-24 22:59:24 +00:00
'500':
description: internal server error
post:
tags:
2022-02-08 08:59:53 +00:00
- alias
2022-01-03 17:21:18 +00:00
description: Add a group for sharing. Access granted to app tokens of account holder.
operationId: add-group
parameters:
- name: agent
in: query
description: agent token
required: false
schema:
type: string
2021-12-24 22:59:24 +00:00
responses:
2022-01-03 17:21:18 +00:00
'200':
2022-01-25 05:22:33 +00:00
description: success
content:
application/json:
schema:
$ref: '#/components/schemas/Group'
2021-12-24 22:59:24 +00:00
'401':
2022-01-03 17:21:18 +00:00
description: permission denied
2022-01-13 05:00:52 +00:00
'410':
description: account disabled
2021-12-24 22:59:24 +00:00
'500':
description: internal server error
requestBody:
content:
application/json:
schema:
2022-01-25 05:22:33 +00:00
$ref: '#/components/schemas/Subject'
2022-03-03 08:57:52 +00:00
/alias/groups/{groupId}/subject/{field}:
get:
tags:
- alias
description: Base64 decode and download specified field from the groups's subject. Access granted to app token of account holder.
operationId: get-group-subject-field
parameters:
- name: groupId
in: path
description: specified group id
required: true
schema:
type: string
- name: field
in: path
description: field from subject to base64 decode and download
required: true
schema:
type: string
- name: agent
in: query
description: agent token
required: false
schema:
type: string
2022-03-03 08:57:52 +00:00
responses:
'200':
description: success
content:
application/json:
schema:
type: string
format: binary
'401':
description: permission denied
'404':
description: field, article not found
'405':
description: invalid field
'410':
description: account disabled
'500':
description: internal server error
2022-02-14 05:36:29 +00:00
/alias/groups/{groupId}/subject:
2021-12-28 05:07:43 +00:00
put:
2021-12-24 22:59:24 +00:00
tags:
2022-02-08 08:59:53 +00:00
- alias
2022-01-03 17:21:18 +00:00
description: Update group description for sharing. Access granted to app tokens of account holder.
2022-02-14 05:36:29 +00:00
operationId: set-group-subject
2021-12-24 22:59:24 +00:00
parameters:
- name: groupId
in: path
description: specified group id
required: true
schema:
type: string
- name: agent
in: query
description: agent token
required: false
schema:
type: string
2021-12-24 22:59:24 +00:00
responses:
'200':
2022-01-03 17:21:18 +00:00
description: success
2022-01-25 05:22:33 +00:00
content:
application/json:
schema:
$ref: '#/components/schemas/Group'
2021-12-24 22:59:24 +00:00
'401':
2022-01-03 17:21:18 +00:00
description: permission denied
'404':
description: group not found
2022-01-13 05:00:52 +00:00
'410':
description: account disabled
2021-12-24 22:59:24 +00:00
'500':
description: internal server error
2021-12-28 05:07:43 +00:00
requestBody:
content:
application/json:
schema:
2022-01-25 05:22:33 +00:00
$ref: '#/components/schemas/Subject'
2021-12-28 05:07:43 +00:00
delete:
2021-12-24 22:59:24 +00:00
tags:
2022-02-08 08:59:53 +00:00
- alias
2022-01-03 17:21:18 +00:00
description: Remove sharing group
operationId: remove-group
2021-12-24 22:59:24 +00:00
parameters:
- name: groupId
in: path
description: specified group id
required: true
schema:
type: string
- name: agent
in: query
description: agent token
required: false
schema:
type: string
2021-12-24 22:59:24 +00:00
responses:
'200':
2022-01-03 17:21:18 +00:00
description: success
2021-12-24 22:59:24 +00:00
'401':
2022-01-03 17:21:18 +00:00
description: permission denied
'404':
description: group not found
2022-01-13 05:00:52 +00:00
'410':
description: account disabled
2021-12-24 22:59:24 +00:00
'500':
description: internal server error
2021-12-31 20:23:30 +00:00
/contact/cards:
2022-02-02 19:20:18 +00:00
get:
2021-12-25 22:54:45 +00:00
tags:
2021-12-31 20:23:30 +00:00
- contact
2022-02-02 19:20:18 +00:00
description: Get list of cards. Access granted to app tokens of account holder.
operationId: get-cards
parameters:
2022-02-08 08:59:53 +00:00
- name: revision
2022-02-02 19:20:18 +00:00
in: query
description: only return updated cards since specified revision
required: false
schema:
type: string
2022-04-03 06:30:49 +00:00
- name: agent
in: query
description: agent token
required: false
schema:
type: string
2021-12-25 22:54:45 +00:00
responses:
'200':
2022-02-02 19:20:18 +00:00
description: successful operation
2022-02-08 08:59:53 +00:00
headers:
X-Card-Revision:
schema:
type: integer
format: int64
description: current card revision
2021-12-25 22:54:45 +00:00
content:
application/json:
schema:
2022-02-02 19:20:18 +00:00
type: array
items:
$ref: '#/components/schemas/Card'
2021-12-25 22:54:45 +00:00
'401':
2022-01-02 20:11:51 +00:00
description: permission denied
2022-01-13 05:00:52 +00:00
'410':
description: account disabled
2021-12-25 22:54:45 +00:00
'500':
description: internal server error
2022-02-02 19:20:18 +00:00
post:
2021-12-24 22:59:24 +00:00
tags:
2021-12-31 20:23:30 +00:00
- contact
2022-02-02 19:20:18 +00:00
description: Add a contact card. Access granted to app tokens of account holder.
operationId: add-card
2022-04-03 06:30:49 +00:00
parameters:
- name: agent
in: query
description: agent token
required: false
schema:
type: string
2021-12-24 22:59:24 +00:00
responses:
'200':
2022-02-02 19:20:18 +00:00
description: success
2021-12-24 22:59:24 +00:00
content:
application/json:
schema:
2022-02-09 18:30:39 +00:00
$ref: '#/components/schemas/DataMessage'
2022-02-02 19:20:18 +00:00
'400':
description: invalid data message
2021-12-24 22:59:24 +00:00
'401':
2022-01-02 20:11:51 +00:00
description: permission denied
2022-01-13 05:00:52 +00:00
'410':
description: account disabled
2021-12-24 22:59:24 +00:00
'500':
description: internal server error
2022-02-09 18:30:39 +00:00
2021-12-31 20:23:30 +00:00
/contact/cards/{cardId}:
2022-11-01 18:27:57 +00:00
get:
tags:
- contact
description: Get specified card. Access granted to app tokens of account holder.
operationId: get-card
parameters:
- name: cardId
in: path
description: specified card id
required: true
schema:
type: string
- name: agent
in: query
description: agent token
required: false
schema:
type: string
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/Card'
'401':
description: permission denied
'404':
description: card not found
'410':
description: account disabled
'500':
description: internal server error
2021-12-31 20:23:30 +00:00
delete:
2021-12-25 22:54:45 +00:00
tags:
2021-12-31 20:23:30 +00:00
- contact
2022-01-02 20:11:51 +00:00
description: Remove card entry. Access granted to app tokens of account holder.
operationId: remove-card
2021-12-31 20:23:30 +00:00
parameters:
- name: cardId
in: path
description: specified card id
required: true
schema:
type: string
2022-04-03 06:30:49 +00:00
- name: agent
in: query
description: agent token
required: false
schema:
type: string
2021-12-25 22:54:45 +00:00
responses:
2021-12-31 20:23:30 +00:00
'200':
2022-01-02 20:11:51 +00:00
description: success
2021-12-25 22:54:45 +00:00
'401':
2022-01-02 20:11:51 +00:00
description: permission denied
2021-12-31 20:23:30 +00:00
'404':
2022-01-02 20:11:51 +00:00
description: card not found
2022-01-13 05:00:52 +00:00
'410':
description: account disabled
2021-12-25 22:54:45 +00:00
'500':
description: internal server error
2022-02-08 15:29:59 +00:00
2021-12-31 20:23:30 +00:00
/contact/cards/{cardId}/status:
put:
2021-12-25 22:54:45 +00:00
tags:
2021-12-31 20:23:30 +00:00
- contact
2022-01-02 20:11:51 +00:00
description: Updated connected status of contact. Access granted to app tokens of account holder.
operationId: set-card-status
2021-12-25 22:54:45 +00:00
parameters:
2021-12-31 20:23:30 +00:00
- name: cardId
2021-12-25 22:54:45 +00:00
in: path
2021-12-31 20:23:30 +00:00
description: specified card id
required: true
schema:
type: string
2022-04-03 06:30:49 +00:00
- name: agent
in: query
description: agent token
required: false
schema:
type: string
2021-12-31 20:23:30 +00:00
- name: token
in: query
description: token for accessing card
2022-01-02 20:11:51 +00:00
required: false # required for connected
2021-12-25 22:54:45 +00:00
schema:
type: string
2022-02-09 18:30:39 +00:00
- name: profileRevision
in: query
description: profile revision of contact
required: false # required for connected
schema:
type: string
- name: articleRevision
in: query
description: article revision of contact
required: false # required for connected
schema:
type: string
- name: channelRevision
in: query
description: channel revision of contact
required: false # required for connected
schema:
type: string
- name: viewRevision
in: query
description: view revision of contact
required: false # required for connected
schema:
type: string
2021-12-25 22:54:45 +00:00
responses:
'200':
2022-01-02 20:11:51 +00:00
description: success
2021-12-25 22:54:45 +00:00
content:
application/json:
schema:
$ref: '#/components/schemas/CardDetail'
2021-12-25 22:54:45 +00:00
'401':
2022-01-02 20:11:51 +00:00
description: permission denied
2021-12-31 20:23:30 +00:00
'404':
2022-01-02 20:11:51 +00:00
description: card not found
2022-01-13 05:00:52 +00:00
'410':
description: account disabled
2021-12-25 22:54:45 +00:00
'500':
description: internal server error
2021-12-31 20:23:30 +00:00
requestBody:
content:
application/json:
schema:
type: string
enum: [ pending, confirmed, connecting, connected ]
/contact/cards/{cardId}/openMessage:
get:
2021-12-25 22:54:45 +00:00
tags:
2021-12-31 20:23:30 +00:00
- contact
2022-01-02 20:11:51 +00:00
description: Get message for connecting to other contacts. Access granted to app tokens for account holder.
operationId: get-open-message
2021-12-25 22:54:45 +00:00
parameters:
2021-12-31 20:23:30 +00:00
- name: cardId
2021-12-25 22:54:45 +00:00
in: path
2021-12-31 20:23:30 +00:00
description: specified card id
2021-12-25 22:54:45 +00:00
required: true
schema:
type: string
2022-04-03 06:30:49 +00:00
- name: agent
in: query
description: agent token
required: false
schema:
type: string
2021-12-25 22:54:45 +00:00
responses:
'200':
2022-01-02 20:11:51 +00:00
description: success
2021-12-31 20:23:30 +00:00
content:
application/json:
schema:
$ref: '#/components/schemas/DataMessage'
2021-12-25 22:54:45 +00:00
'401':
2022-01-02 20:11:51 +00:00
description: permission denied
2021-12-31 20:23:30 +00:00
'404':
2022-01-02 20:11:51 +00:00
description: card not found
2022-01-13 05:00:52 +00:00
'410':
description: account disabled
2021-12-25 22:54:45 +00:00
'500':
description: internal server error
2022-01-03 23:13:16 +00:00
/contact/openMessage:
2021-12-25 22:54:45 +00:00
put:
tags:
2021-12-31 20:23:30 +00:00
- contact
2022-01-02 20:11:51 +00:00
description: Set message for connecting to a contact. If card has not already been added, the card will be created in the pending state. Access granted to public.
operationId: set-open-message
2021-12-25 22:54:45 +00:00
responses:
2021-12-31 20:23:30 +00:00
'200':
description: successful operation
content:
application/json:
schema:
2022-01-21 08:05:42 +00:00
$ref: '#/components/schemas/ContactStatus'
2022-01-02 20:11:51 +00:00
'400':
description: invalid data message
2022-01-13 05:00:52 +00:00
'410':
description: account disabled
2021-12-25 22:54:45 +00:00
'500':
description: internal server error
requestBody:
content:
application/json:
schema:
2021-12-31 20:23:30 +00:00
$ref: '#/components/schemas/DataMessage'
/contact/cards/{cardId}/closeMessage:
get:
2021-12-29 05:49:51 +00:00
tags:
2021-12-31 20:23:30 +00:00
- contact
2022-01-02 20:11:51 +00:00
description: Get message for closing connection with contact. Access granted to app tokens for account holder.
operationId: get-close-message
2021-12-29 05:49:51 +00:00
parameters:
2021-12-31 20:23:30 +00:00
- name: cardId
2021-12-29 05:49:51 +00:00
in: path
2021-12-31 20:23:30 +00:00
description: specified card id
2021-12-29 05:49:51 +00:00
required: true
schema:
type: string
2022-04-03 06:30:49 +00:00
- name: agent
in: query
description: agent token
required: false
schema:
type: string
2021-12-29 05:49:51 +00:00
responses:
'200':
2021-12-31 20:23:30 +00:00
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/DataMessage'
2021-12-29 05:49:51 +00:00
'401':
2022-01-02 20:11:51 +00:00
description: permission denied
2021-12-31 20:23:30 +00:00
'404':
2022-01-02 20:11:51 +00:00
description: card not found
2022-01-13 05:00:52 +00:00
'410':
description: account disabled
2021-12-29 05:49:51 +00:00
'500':
description: internal server error
2022-01-03 23:13:16 +00:00
/contact/closeMessage:
2021-12-31 20:23:30 +00:00
put:
2021-12-29 05:49:51 +00:00
tags:
2021-12-31 20:23:30 +00:00
- contact
2022-01-02 20:11:51 +00:00
description: Set message for closing card connection. Access granted to public.
operationId: set-close-message
2021-12-29 05:49:51 +00:00
responses:
'200':
2021-12-31 20:23:30 +00:00
description: successful operation
2022-01-02 20:11:51 +00:00
'400':
description: invalid data message
2022-01-13 05:00:52 +00:00
'410':
description: account disabled
2021-12-29 05:49:51 +00:00
'500':
description: internal server error
2021-12-31 20:23:30 +00:00
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DataMessage'
/contact/cards/{cardId}/profile:
get:
2021-12-29 05:49:51 +00:00
tags:
2021-12-31 20:23:30 +00:00
- contact
2022-01-03 17:21:18 +00:00
description: Get profile of card entry. Access granted to app tokens of account holder.
operationId: get-card-profile
2021-12-29 05:49:51 +00:00
parameters:
2021-12-31 20:23:30 +00:00
- name: cardId
2021-12-29 05:49:51 +00:00
in: path
2021-12-31 20:23:30 +00:00
description: specified card id
2021-12-29 05:49:51 +00:00
required: true
schema:
type: string
2022-04-03 06:30:49 +00:00
- name: agent
in: query
description: agent token
required: false
schema:
type: string
2021-12-29 05:49:51 +00:00
responses:
'200':
2021-12-31 20:23:30 +00:00
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/CardProfile'
2021-12-29 05:49:51 +00:00
'401':
2022-01-02 20:11:51 +00:00
description: permission denied
2021-12-31 20:23:30 +00:00
'404':
description: not found
2022-01-13 05:00:52 +00:00
'410':
description: account disabled
2021-12-29 05:49:51 +00:00
'500':
description: internal server error
2021-12-31 20:23:30 +00:00
put:
2021-12-29 05:49:51 +00:00
tags:
2021-12-31 20:23:30 +00:00
- contact
2022-01-03 17:21:18 +00:00
description: Set profile of card entry. Access granted to app tokens of account holder.
operationId: set-card-profile
2021-12-29 05:49:51 +00:00
parameters:
2021-12-31 20:23:30 +00:00
- name: cardId
2021-12-29 05:49:51 +00:00
in: path
2021-12-31 20:23:30 +00:00
description: specified card id
2021-12-29 05:49:51 +00:00
required: true
schema:
type: string
2022-04-03 06:30:49 +00:00
- name: agent
in: query
description: agent token
required: false
schema:
type: string
2021-12-29 05:49:51 +00:00
responses:
'200':
2022-01-03 17:21:18 +00:00
description: success
2021-12-31 20:23:30 +00:00
content:
application/json:
schema:
2022-01-02 19:20:34 +00:00
$ref: '#/components/schemas/DataMessage'
2021-12-29 05:49:51 +00:00
'401':
2022-01-03 17:21:18 +00:00
description: permission denied
2021-12-31 20:23:30 +00:00
'404':
2022-01-03 17:21:18 +00:00
description: card not found
2022-01-13 05:00:52 +00:00
'410':
description: account disabled
2021-12-29 05:49:51 +00:00
'500':
description: internal server error
2021-12-31 20:23:30 +00:00
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Profile'
2021-12-29 05:49:51 +00:00
2022-01-02 19:20:34 +00:00
/contact/cards/{cardId}/profile/image:
get:
tags:
- contact
2022-01-03 17:21:18 +00:00
description: Get image of card profile. Access granted to app tokens of account holder.
operationId: get-card-profile-image
2022-01-02 19:20:34 +00:00
parameters:
- name: cardId
in: path
description: specified card id
required: true
schema:
type: string
2022-04-03 06:30:49 +00:00
- name: agent
in: query
description: agent token
required: false
schema:
type: string
2022-01-02 19:20:34 +00:00
responses:
'200':
description: success
content:
application/octet-stream: #asset specific
schema:
type: string
format: binary
'401':
2022-01-03 17:21:18 +00:00
description: permission denied
2022-01-02 19:20:34 +00:00
'404':
2022-01-03 17:21:18 +00:00
description: card not found
'405':
description: invalid image
2022-01-13 05:00:52 +00:00
'410':
description: account disabled
2022-01-02 19:20:34 +00:00
'500':
description: internal server error
/contact/cards/{cardId}/detail:
2021-12-29 05:49:51 +00:00
get:
tags:
2021-12-31 20:23:30 +00:00
- contact
description: Get specified card detail. Access granted to app tokens for account holder.
operationId: get-card-detail
2021-12-29 05:49:51 +00:00
parameters:
2021-12-31 20:23:30 +00:00
- name: cardId
2021-12-29 05:49:51 +00:00
in: path
2021-12-31 20:23:30 +00:00
description: specified card id
2021-12-29 05:49:51 +00:00
required: true
schema:
type: string
2022-04-03 06:30:49 +00:00
- name: agent
in: query
description: agent token
required: false
schema:
type: string
2021-12-29 05:49:51 +00:00
responses:
'200':
2022-01-03 17:21:18 +00:00
description: success
2021-12-29 05:49:51 +00:00
content:
application/json:
schema:
$ref: '#/components/schemas/CardDetail'
2021-12-29 05:49:51 +00:00
'401':
2022-01-03 17:21:18 +00:00
description: permission denied
2021-12-31 20:23:30 +00:00
'404':
2022-01-03 17:21:18 +00:00
description: card not found
2022-01-13 05:00:52 +00:00
'410':
description: account disabled
2021-12-29 05:49:51 +00:00
'500':
description: internal server error
2021-12-31 20:23:30 +00:00
/contact/cards/{cardId}/notes:
put:
2021-12-29 05:49:51 +00:00
tags:
2021-12-31 20:23:30 +00:00
- contact
2022-01-03 17:21:18 +00:00
description: Update card notes for specified card. Access granted to app tokens for account holder.
operationId: set-card-notes
2021-12-29 05:49:51 +00:00
parameters:
2021-12-31 20:23:30 +00:00
- name: cardId
2021-12-29 05:49:51 +00:00
in: path
2021-12-31 20:23:30 +00:00
description: specified card id
2021-12-29 05:49:51 +00:00
required: true
schema:
type: string
2022-04-03 06:30:49 +00:00
- name: agent
in: query
description: agent token
required: false
schema:
type: string
2021-12-29 05:49:51 +00:00
responses:
'200':
2022-01-03 17:21:18 +00:00
description: success
2021-12-29 05:49:51 +00:00
content:
application/json:
schema:
$ref: '#/components/schemas/CardDetail'
2021-12-29 05:49:51 +00:00
'401':
2022-01-03 17:21:18 +00:00
description: permission denied
2021-12-31 20:23:30 +00:00
'404':
2022-01-03 17:21:18 +00:00
description: card not found
2022-01-13 05:00:52 +00:00
'410':
description: account disabled
2021-12-29 05:49:51 +00:00
'500':
description: internal server error
2021-12-31 20:23:30 +00:00
requestBody:
content:
application/json:
schema:
type: string
delete:
2021-12-29 05:49:51 +00:00
tags:
2021-12-31 20:23:30 +00:00
- contact
2022-01-03 17:21:18 +00:00
description: Clear notes for specified card. Access granted to app tokens of account holder.
operationId: clear-card-notes
2021-12-29 05:49:51 +00:00
parameters:
2021-12-31 20:23:30 +00:00
- name: cardId
2021-12-29 05:49:51 +00:00
in: path
2021-12-31 20:23:30 +00:00
description: specified card id
2021-12-29 05:49:51 +00:00
required: true
schema:
type: string
2022-04-03 06:30:49 +00:00
- name: agent
in: query
description: agent token
required: false
schema:
type: string
2021-12-29 05:49:51 +00:00
responses:
2021-12-31 20:23:30 +00:00
'200':
2022-01-03 17:21:18 +00:00
description: success
2021-12-29 05:49:51 +00:00
content:
application/json:
schema:
$ref: '#/components/schemas/CardDetail'
2021-12-29 05:49:51 +00:00
'401':
2022-01-03 17:21:18 +00:00
description: permission denied
2021-12-31 20:23:30 +00:00
'404':
2022-01-03 17:21:18 +00:00
description: card not found
2022-01-13 05:00:52 +00:00
'410':
description: account disabled
2021-12-29 05:49:51 +00:00
'500':
description: internal server error
2021-12-31 20:23:30 +00:00
2022-01-03 17:21:18 +00:00
/contact/cards/{cardId}/groups/{groupId}:
2021-12-31 20:23:30 +00:00
put:
2021-12-29 05:49:51 +00:00
tags:
2021-12-31 20:23:30 +00:00
- contact
2022-01-03 17:21:18 +00:00
description: Set sharing group for contact. Access granted to app tokens for account holder.
operationId: set-card-group
2021-12-29 05:49:51 +00:00
parameters:
2021-12-31 20:23:30 +00:00
- name: cardId
2021-12-29 05:49:51 +00:00
in: path
2021-12-31 20:23:30 +00:00
description: specified card id
2021-12-29 05:49:51 +00:00
required: true
schema:
type: string
2022-01-03 17:21:18 +00:00
- name: groupId
2021-12-29 05:49:51 +00:00
in: path
2022-01-03 17:21:18 +00:00
description: specified group id
2021-12-29 05:49:51 +00:00
required: true
schema:
type: string
2022-04-03 06:30:49 +00:00
- name: agent
in: query
description: agent token
required: false
schema:
type: string
2021-12-29 05:49:51 +00:00
responses:
2021-12-31 20:23:30 +00:00
'200':
2022-01-03 17:21:18 +00:00
description: success
2021-12-29 05:49:51 +00:00
content:
application/json:
schema:
$ref: '#/components/schemas/CardDetail'
2021-12-29 05:49:51 +00:00
'401':
2022-01-03 17:21:18 +00:00
description: permission denied
2021-12-29 05:49:51 +00:00
'404':
2022-01-03 17:21:18 +00:00
description: card or group not found
2022-01-13 05:00:52 +00:00
'410':
description: account disabled
2021-12-29 05:49:51 +00:00
'500':
description: internal server error
delete:
tags:
2021-12-31 20:23:30 +00:00
- contact
2022-01-03 17:21:18 +00:00
description: Clear sharing group for card. Access granted to app tokens for account holder.
operationId: clear-card-group
2021-12-29 05:49:51 +00:00
parameters:
2021-12-31 20:23:30 +00:00
- name: cardId
2021-12-29 05:49:51 +00:00
in: path
2021-12-31 20:23:30 +00:00
description: specified card id
2021-12-29 05:49:51 +00:00
required: true
schema:
type: string
2022-01-03 17:21:18 +00:00
- name: groupId
2021-12-29 05:49:51 +00:00
in: path
2021-12-31 20:23:30 +00:00
description: specified share id
2021-12-29 05:49:51 +00:00
required: true
schema:
type: string
2022-04-03 06:30:49 +00:00
- name: agent
in: query
description: agent token
required: false
schema:
type: string
2021-12-29 05:49:51 +00:00
responses:
'200':
2022-01-03 17:21:18 +00:00
description: success
2021-12-31 20:23:30 +00:00
content:
application/json:
schema:
$ref: '#/components/schemas/CardDetail'
2021-12-29 05:49:51 +00:00
'401':
2022-01-03 17:21:18 +00:00
description: permission denied
2021-12-29 05:49:51 +00:00
'404':
2022-01-03 17:21:18 +00:00
description: card or group not found
2022-01-13 05:00:52 +00:00
'410':
description: account disabled
2021-12-29 05:49:51 +00:00
'500':
description: internal server error
2021-12-31 20:23:30 +00:00
/contact/profile/revision:
put:
tags:
- contact
2022-01-03 17:21:18 +00:00
description: Set profile revision for contact. This is intend to be invoked automatically anytime a contact updates their profile. Access granted to contact tokens.
operationId: set-profile-revision
2022-04-03 06:30:49 +00:00
parameters:
- name: contact
in: query
description: contact token
required: false
schema:
type: string
2021-12-31 20:23:30 +00:00
responses:
'200':
description: revision set
'401':
description: not authorized
2022-01-13 05:00:52 +00:00
'410':
description: account disabled
2021-12-31 20:23:30 +00:00
'500':
description: internal server error
requestBody:
content:
application/json:
schema:
type: integer
format: int64
2022-02-09 18:30:39 +00:00
/contact/article/revision:
put:
tags:
- contact
description: Set artcile revision for contact. This is intend to be invoked automatically anytime a contact updates their content or sharing. Access granted to contact tokens.
operationId: set-article-revision
2022-04-03 06:30:49 +00:00
parameters:
- name: contact
in: query
description: contact token
required: false
schema:
type: string
2022-02-09 18:30:39 +00:00
responses:
'200':
description: revision set
'401':
description: not authorized
'410':
description: account disabled
'500':
description: internal server error
requestBody:
content:
application/json:
schema:
type: integer
format: int64
/contact/channel/revision:
2021-12-31 20:23:30 +00:00
put:
tags:
- contact
2022-02-09 18:30:39 +00:00
description: Set channel revision for contact. This is intend to be invoked automatically anytime a contact updates their content or sharing. Access granted to contact tokens.
operationId: set-channel-revision
2022-04-03 06:30:49 +00:00
parameters:
- name: contact
in: query
description: contact token
required: false
schema:
type: string
2021-12-31 20:23:30 +00:00
responses:
'200':
description: revision set
'401':
description: not authorized
2022-01-13 05:00:52 +00:00
'410':
description: account disabled
2021-12-31 20:23:30 +00:00
'500':
description: internal server error
requestBody:
content:
application/json:
schema:
type: integer
format: int64
/contact/view/revision:
put:
tags:
- contact
description: Set view revision for contact. This is intend to be invoked automatically anytime a contact updates their content or sharing. Access granted to contact tokens.
operationId: set-view-revision
2022-04-03 06:30:49 +00:00
parameters:
- name: contact
in: query
description: contact token
required: false
schema:
type: string
responses:
'200':
description: revision set
'401':
description: not authorized
'410':
description: account disabled
'500':
description: internal server error
requestBody:
content:
application/json:
schema:
type: integer
format: int64
/contact/notification:
post:
tags:
- contact
description: Inform contact of a push notification event
operationId: set-push-event
2022-12-03 22:06:06 +00:00
parameters:
- name: contact
in: query
description: contact token
required: true
schema:
type: string
responses:
'200':
description: event set
'401':
description: not authorized
'410':
description: account disabled
'500':
description: internal server error
requestBody:
content:
application/json:
schema:
type: string
2022-02-08 08:59:53 +00:00
/attribute/articles:
2021-12-31 20:23:30 +00:00
get:
2021-12-31 06:01:08 +00:00
tags:
2022-02-08 08:59:53 +00:00
- attribute
description: Get article slots that should be updated based on revisions. Access granted to account token or contact token. When the request is made with a contact token the account view revision will be added to the block revision.
operationId: get-articles
2021-12-31 06:01:08 +00:00
security:
- bearerAuth: []
2022-01-28 22:37:35 +00:00
parameters:
- name: viewRevision
in: query
2022-02-08 08:59:53 +00:00
description: view revision from which attribute revision applies
2022-01-28 22:37:35 +00:00
required: false
schema:
type: string
2022-02-08 08:59:53 +00:00
- name: articleRevision
2022-01-28 22:37:35 +00:00
in: query
2022-02-08 08:59:53 +00:00
description: return updated articles since revision
2022-01-28 22:37:35 +00:00
required: false
schema:
type: string
2022-02-13 23:19:41 +00:00
- name: types
in: query
description: return only articles of specified types
required: false
schema:
type: string
- name: agent
in: query
description: agent token
required: false
schema:
type: string
- name: contact
in: query
description: contact token
required: false
schema:
type: string
2021-12-31 06:01:08 +00:00
responses:
'200':
2021-12-31 20:23:30 +00:00
description: successful operation
2022-02-08 08:59:53 +00:00
headers:
X-View-Revision:
schema:
type: integer
format: int64
description: current view revision
X-Article-Revision:
schema:
type: integer
format: int64
description: current article revision
2021-12-31 06:01:08 +00:00
content:
2021-12-31 20:23:30 +00:00
application/json:
2021-12-31 06:01:08 +00:00
schema:
2021-12-31 20:23:30 +00:00
type: array
items:
2022-02-08 08:59:53 +00:00
$ref: '#/components/schemas/Article'
2021-12-31 06:01:08 +00:00
'401':
2022-01-02 00:29:58 +00:00
description: permission denied
2022-01-13 05:00:52 +00:00
'410':
description: account disabled
2021-12-31 06:01:08 +00:00
'500':
description: internal server error
2021-12-29 05:49:51 +00:00
post:
tags:
2022-02-08 08:59:53 +00:00
- attribute
description: Add a content article. Access granted to app token of the account holder.
2021-12-31 20:23:30 +00:00
operationId: add-article
parameters:
- name: agent
in: query
description: agent token
required: false
schema:
type: string
2021-12-29 05:49:51 +00:00
responses:
'201':
description: entry created
2021-12-31 20:23:30 +00:00
content:
application/json:
schema:
2022-02-08 08:59:53 +00:00
$ref: '#/components/schemas/Article'
2021-12-29 05:49:51 +00:00
'401':
2022-01-02 00:29:58 +00:00
description: permission denied
2022-01-13 05:00:52 +00:00
'410':
description: account disabled
2021-12-29 05:49:51 +00:00
'500':
description: internal server error
2022-01-02 02:33:27 +00:00
requestBody:
content:
application/json:
schema:
2022-02-08 08:59:53 +00:00
$ref: '#/components/schemas/Subject'
2022-02-08 08:59:53 +00:00
/attribute/articles/{articleId}:
2021-12-29 05:49:51 +00:00
delete:
tags:
2022-02-08 08:59:53 +00:00
- attribute
2022-01-02 00:29:58 +00:00
description: Remove specified article. Access granted to app token of account holder.
2021-12-31 20:23:30 +00:00
operationId: remove-article
2021-12-29 05:49:51 +00:00
parameters:
2021-12-31 20:23:30 +00:00
- name: articleId
2021-12-29 05:49:51 +00:00
in: path
2021-12-31 20:23:30 +00:00
description: specified article id
2021-12-29 05:49:51 +00:00
required: true
schema:
type: string
- name: agent
in: query
description: agent token
required: false
schema:
type: string
2021-12-29 05:49:51 +00:00
responses:
'200':
2022-01-02 00:29:58 +00:00
description: success
2021-12-29 05:49:51 +00:00
'401':
2021-12-31 20:23:30 +00:00
description: invalid password
2022-01-02 00:29:58 +00:00
'404':
description: article not found
2022-01-13 05:00:52 +00:00
'410':
description: account disabled
2021-12-29 05:49:51 +00:00
'500':
description: internal server error
2021-12-31 20:23:30 +00:00
2022-02-08 08:59:53 +00:00
/attribute/articles/{articleId}/subject/{field}:
2022-01-02 19:20:34 +00:00
get:
tags:
2022-02-08 08:59:53 +00:00
- attribute
2022-01-02 19:20:34 +00:00
description: Base64 decode and download specified field from the article's subject. Access granted to app token of account holder or contact token of account the article is shared with.
operationId: get-article-subject-field
parameters:
- name: articleId
in: path
description: specified article id
required: true
schema:
type: string
- name: field
in: path
description: field from subject to base64 decode and download
required: true
schema:
type: string
- name: agent
in: query
description: agent token
required: false
schema:
type: string
- name: contact
in: query
description: contact token
required: false
schema:
type: string
2022-01-02 19:20:34 +00:00
responses:
'200':
description: success
content:
application/json:
schema:
2022-02-08 08:59:53 +00:00
type: string
format: binary
2022-01-02 19:20:34 +00:00
'401':
description: permission denied
'404':
description: field, article not found
'405':
description: invalid field
2022-01-13 05:00:52 +00:00
'410':
description: account disabled
2022-01-02 19:20:34 +00:00
'500':
description: internal server error
2022-02-08 08:59:53 +00:00
/attribute/articles/{articleId}/subject:
2021-12-31 20:23:30 +00:00
put:
2021-12-29 05:49:51 +00:00
tags:
2022-02-08 08:59:53 +00:00
- attribute
2022-01-02 00:29:58 +00:00
description: Set subject for article. Access granted to app token of account holder.
operationId: set-article-subject
2021-12-31 20:23:30 +00:00
parameters:
- name: articleId
in: path
description: specified article id
required: true
schema:
type: string
- name: agent
in: query
description: agent token
required: false
schema:
type: string
2021-12-29 05:49:51 +00:00
responses:
2022-01-02 00:29:58 +00:00
'200':
description: success
2021-12-29 05:49:51 +00:00
'401':
2022-01-02 00:29:58 +00:00
description: permission denied
'404':
description: article not found
2022-01-13 05:00:52 +00:00
'410':
description: account disabled
2021-12-29 05:49:51 +00:00
'500':
description: internal server error
2021-12-31 20:23:30 +00:00
requestBody:
content:
application/json:
schema:
2022-02-09 18:30:39 +00:00
$ref: '#/components/schemas/Subject'
2021-12-31 20:23:30 +00:00
2022-02-08 08:59:53 +00:00
/attribute/articles/{articleId}/groups/{groupId}:
put:
2021-12-29 05:49:51 +00:00
tags:
2022-02-08 08:59:53 +00:00
- attribute
description: Set group for articles. Access granted to app tokens for account holder.
2021-12-31 20:23:30 +00:00
operationId: set-article-group
parameters:
- name: articleId
in: path
description: specified article id
required: true
schema:
type: string
- name: groupId
in: path
2022-02-08 08:59:53 +00:00
description: specified group id
2021-12-31 20:23:30 +00:00
required: true
schema:
type: string
- name: agent
in: query
description: agent token
required: false
schema:
type: string
2021-12-29 05:49:51 +00:00
responses:
'200':
description: success
2022-02-08 08:59:53 +00:00
content:
application/json:
schema:
$ref: '#/components/schemas/Article'
2021-12-29 05:49:51 +00:00
'401':
description: permission denied
'404':
2022-02-08 08:59:53 +00:00
description: card or group not found
2022-01-13 05:00:52 +00:00
'410':
description: account disabled
2021-12-29 05:49:51 +00:00
'500':
description: internal server error
2021-12-31 20:23:30 +00:00
delete:
2021-12-29 05:49:51 +00:00
tags:
2022-02-08 08:59:53 +00:00
- attribute
description: Clear sharing group for article. Access granted to app tokens for account holder.
2021-12-31 20:23:30 +00:00
operationId: clear-article-group
2021-12-29 05:49:51 +00:00
parameters:
2021-12-31 20:23:30 +00:00
- name: articleId
2021-12-29 05:49:51 +00:00
in: path
2022-02-08 08:59:53 +00:00
description: specified card id
2021-12-31 20:23:30 +00:00
required: true
schema:
type: string
- name: groupId
in: path
description: specified share id
2021-12-29 05:49:51 +00:00
required: true
schema:
type: string
- name: agent
in: query
description: agent token
required: false
schema:
type: string
2021-12-29 05:49:51 +00:00
responses:
'200':
description: success
2022-02-08 08:59:53 +00:00
content:
application/json:
schema:
$ref: '#/components/schemas/Article'
2021-12-29 05:49:51 +00:00
'401':
description: permission denied
'404':
2022-02-08 08:59:53 +00:00
description: card or group not found
2022-01-13 05:00:52 +00:00
'410':
description: account disabled
2021-12-29 05:49:51 +00:00
'500':
description: internal server error
2022-02-08 08:59:53 +00:00
2022-02-08 15:29:59 +00:00
/content/channels:
2022-02-08 08:59:53 +00:00
get:
2021-12-29 05:49:51 +00:00
tags:
2022-02-08 15:29:59 +00:00
- content
2022-02-08 08:59:53 +00:00
description: Get channel slots. If revision set detail fields omittied in response
operationId: get-channels
2021-12-29 05:49:51 +00:00
security:
- bearerAuth: []
parameters:
2022-02-08 08:59:53 +00:00
- name: viewRevision
in: query
2022-02-08 15:29:59 +00:00
description: view revision from which content revision applies
2022-02-08 08:59:53 +00:00
required: false
2021-12-31 20:23:30 +00:00
schema:
type: string
2022-02-08 08:59:53 +00:00
- name: channelRevision
in: query
description: return updated channels since revision
required: false
2021-12-29 05:49:51 +00:00
schema:
type: string
2022-02-15 23:17:06 +00:00
- name: types
in: query
description: return only channels of specified types
required: false
schema:
type: string
2021-12-29 05:49:51 +00:00
responses:
'200':
2022-02-08 08:59:53 +00:00
description: successful operation
headers:
X-View-Revision:
schema:
type: integer
format: int64
description: current view revision
X-Channel-Revision:
schema:
type: integer
format: int64
description: current channel revision
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Channel'
'401':
description: permission denied
'410':
description: account disabled
'500':
description: internal server error
post:
tags:
2022-02-08 15:29:59 +00:00
- content
2022-02-08 08:59:53 +00:00
description: Add a channel.
operationId: add-channel
security:
- bearerAuth: []
responses:
'201':
description: entry created
content:
application/json:
schema:
$ref: '#/components/schemas/Channel'
2021-12-29 05:49:51 +00:00
'401':
description: permission denied
2022-01-13 05:00:52 +00:00
'410':
description: account disabled
2021-12-29 05:49:51 +00:00
'500':
description: internal server error
2022-02-08 08:59:53 +00:00
requestBody:
content:
application/json:
schema:
2022-03-07 23:03:24 +00:00
$ref: '#/components/schemas/ChannelParams'
2022-02-08 08:59:53 +00:00
2022-04-14 21:13:08 +00:00
/content/channels/{channelId}/detail:
2022-02-18 20:21:15 +00:00
get:
2021-12-29 05:49:51 +00:00
tags:
2022-02-08 15:29:59 +00:00
- content
2022-02-18 20:21:15 +00:00
description: Get details of channel.
operationId: get-channel-detail
2021-12-29 05:49:51 +00:00
security:
- bearerAuth: []
parameters:
2022-02-07 23:10:04 +00:00
- name: channelId
2021-12-31 20:23:30 +00:00
in: path
2022-02-07 23:10:04 +00:00
description: specified channel id
2021-12-29 05:49:51 +00:00
required: true
schema:
type: string
responses:
'200':
description: success
2022-02-18 20:21:15 +00:00
content:
application/json:
schema:
$ref: '#/components/schemas/ChannelDetail'
'401':
2022-02-08 08:59:53 +00:00
description: invalid password
'404':
2022-02-08 08:59:53 +00:00
description: channel not found
2022-01-13 05:00:52 +00:00
'410':
description: account disabled
'500':
description: internal server error
2022-04-14 21:13:08 +00:00
2022-05-09 21:08:54 +00:00
/content/channels/{channelId}/summary:
get:
tags:
- content
description: Get summary of channel.
operationId: get-channel-summary
security:
- bearerAuth: []
parameters:
- name: channelId
in: path
description: specified channel id
required: true
schema:
type: string
responses:
'200':
description: success
content:
application/json:
schema:
$ref: '#/components/schemas/ChannelSummary'
'401':
description: invalid password
'404':
description: channel not found
'410':
description: account disabled
'500':
description: internal server error
/content/channels/{channelId}:
2022-02-18 20:21:15 +00:00
delete:
2022-02-08 15:29:59 +00:00
tags:
- content
2022-05-12 06:33:00 +00:00
description: Remove specified channel or membership. When invoked by account holder, channel is removed. When invoked by member, membership is removed.
2022-02-18 20:21:15 +00:00
operationId: remove-channel
2022-02-08 15:29:59 +00:00
security:
- bearerAuth: []
parameters:
- name: channelId
in: path
description: specified channel id
required: true
schema:
type: string
responses:
'200':
description: success
'401':
description: invalid password
'404':
description: channel not found
'410':
description: account disabled
'500':
description: internal server error
2022-12-03 22:06:06 +00:00
/content/channels/{channelId}/notification:
get:
tags:
- content
description: Get notification enabled state for the specified channel
operationId: get-channel-notifications
parameters:
- name: channelId
in: path
description: specified channel id
required: true
schema:
type: string
- name: agent
in: query
description: access token granted to agent
required: true
schema:
type: string
- name: contact
in: query
description: access token granted to contact
required: true
schema:
type: string
responses:
'200':
description: success
content:
application/json:
schema:
type: boolean
'401':
description: permission denied
'404':
description: field, channel not found
'410':
description: account disabled
'500':
description: internal server error
put:
tags:
- content
description: Set notification enabled state for the specified channel
operationId: set-channel-notifications
parameters:
- name: channelId
in: path
description: specified channel id
required: true
schema:
type: string
- name: agent
in: query
description: access token granted to agent
required: true
schema:
type: string
- name: contact
in: query
description: access token granted to contact
required: true
schema:
type: string
responses:
'200':
description: success
'401':
description: permission denied
'404':
description: field, channel not found
'410':
description: account disabled
'500':
description: internal server error
requestBody:
content:
application/json:
schema:
2022-12-03 22:06:06 +00:00
type: boolean
2022-02-08 15:29:59 +00:00
/content/channels/{channelId}/subject/{field}:
get:
tags:
2022-02-08 15:29:59 +00:00
- content
2022-02-08 08:59:53 +00:00
description: Base64 decode and download specified field from the channel's subject. Access granted to app token of account holder or contact token of account the channel is shared with.
operationId: get-channel-subject-field
security:
- bearerAuth: []
parameters:
2022-02-08 08:59:53 +00:00
- name: channelId
in: path
2022-02-08 08:59:53 +00:00
description: specified channel id
required: true
schema:
type: string
- name: field
in: path
description: field from subject to base64 decode and download
required: true
schema:
type: string
responses:
2022-02-08 08:59:53 +00:00
'200':
description: success
content:
application/json:
schema:
2022-02-08 08:59:53 +00:00
type: string
format: binary
2021-12-29 05:49:51 +00:00
'401':
2022-02-08 08:59:53 +00:00
description: permission denied
'404':
description: field, channel not found
'405':
description: invalid field
2022-01-13 05:00:52 +00:00
'410':
description: account disabled
2021-12-29 05:49:51 +00:00
'500':
description: internal server error
2022-02-08 08:59:53 +00:00
2022-02-08 15:29:59 +00:00
/content/channels/{channelId}/subject:
2022-02-08 08:59:53 +00:00
put:
tags:
2022-02-08 15:29:59 +00:00
- content
2022-02-08 08:59:53 +00:00
description: Set subject for channel. Access granted to app token of account holder.
operationId: set-channel-subject
security:
- bearerAuth: []
parameters:
2022-02-08 08:59:53 +00:00
- name: channelId
in: path
2022-02-08 08:59:53 +00:00
description: specified channel id
required: true
schema:
type: string
responses:
2022-02-08 08:59:53 +00:00
'200':
description: success
content:
application/json:
schema:
2022-02-08 08:59:53 +00:00
$ref: '#/components/schemas/Channel'
'401':
description: permission denied
'404':
2022-02-08 08:59:53 +00:00
description: channel not found
2022-01-13 05:00:52 +00:00
'410':
description: account disabled
'500':
description: internal server error
requestBody:
content:
2022-02-08 08:59:53 +00:00
application/json:
schema:
2022-02-08 08:59:53 +00:00
$ref: '#/components/schemas/Subject'
2022-02-11 21:07:39 +00:00
2022-02-08 15:29:59 +00:00
/content/channels/{channelId}/groups/{groupId}:
2022-02-08 08:59:53 +00:00
put:
tags:
2022-02-08 15:29:59 +00:00
- content
2022-02-11 21:07:39 +00:00
description: Set group for read access to channel. Access granted to app tokens for account holder.
2022-02-08 08:59:53 +00:00
operationId: set-channel-group
security:
- bearerAuth: []
parameters:
2022-02-08 08:59:53 +00:00
- name: channelId
in: path
2022-02-08 08:59:53 +00:00
description: specified channel id
required: true
schema:
type: string
2022-02-08 08:59:53 +00:00
- name: groupId
in: path
2022-02-08 08:59:53 +00:00
description: specified group id
required: true
schema:
type: string
responses:
'200':
description: success
content:
2022-02-08 08:59:53 +00:00
application/json:
schema:
2022-02-08 08:59:53 +00:00
$ref: '#/components/schemas/Channel'
'401':
description: permission denied
'404':
2022-02-08 08:59:53 +00:00
description: card or group not found
2022-01-13 05:00:52 +00:00
'410':
description: account disabled
'500':
description: internal server error
delete:
tags:
2022-02-08 15:29:59 +00:00
- content
2022-02-11 21:07:39 +00:00
description: Clear read access to channel for group. Access granted to app tokens for account holder.
2022-02-08 08:59:53 +00:00
operationId: clear-channel-group
security:
- bearerAuth: []
parameters:
2022-02-08 08:59:53 +00:00
- name: channelId
in: path
2022-02-08 08:59:53 +00:00
description: specified card id
required: true
schema:
type: string
2022-02-08 08:59:53 +00:00
- name: groupId
in: path
2022-02-08 08:59:53 +00:00
description: specified share id
required: true
schema:
type: string
responses:
'200':
description: success
2022-02-08 08:59:53 +00:00
content:
application/json:
schema:
$ref: '#/components/schemas/Channel'
'401':
description: permission denied
'404':
2022-02-08 08:59:53 +00:00
description: card or group not found
2022-01-13 05:00:52 +00:00
'410':
description: account disabled
'500':
description: internal server error
2022-02-11 21:07:39 +00:00
/content/channels/{channelId}/cards/{cardId}:
put:
tags:
- content
description: Set card for write access to channel. Access granted to app tokens for account holder.
operationId: set-channel-card
security:
- bearerAuth: []
parameters:
- name: channelId
in: path
description: specified channel id
required: true
schema:
type: string
- name: cardId
in: path
description: specified card id
required: true
schema:
type: string
responses:
'200':
description: success
content:
application/json:
schema:
$ref: '#/components/schemas/Channel'
'401':
description: permission denied
'404':
description: card or group not found
'410':
description: account disabled
'500':
description: internal server error
delete:
tags:
- content
description: Clear write access to channel for card. Access granted to app tokens for account holder.
operationId: clear-channel-card
security:
- bearerAuth: []
parameters:
- name: channelId
in: path
description: specified channel id
required: true
schema:
type: string
- name: cardId
in: path
description: specified card id
required: true
schema:
type: string
responses:
'200':
description: success
content:
application/json:
schema:
$ref: '#/components/schemas/Channel'
'401':
description: permission denied
'404':
description: card or group not found
'410':
description: account disabled
'500':
description: internal server error
2022-02-08 15:29:59 +00:00
/content/channels/{channelId}/topics:
2022-02-08 08:59:53 +00:00
get:
tags:
2022-02-08 15:29:59 +00:00
- content
description: Get channel topic slots. If revision set, detail fields omitted in response. Staggered loading supported through sequnce marker. Initially count can be used to limit the topics returned. The sequence marker returned in the header must be used in subsequent queries for the same topic window.
2022-02-08 08:59:53 +00:00
operationId: get-channel-topics
security:
- bearerAuth: []
parameters:
2022-02-08 08:59:53 +00:00
- name: channelId
in: path
2022-02-08 08:59:53 +00:00
description: specified channel id
required: true
schema:
type: string
2022-02-08 08:59:53 +00:00
- name: revision
in: query
description: return updated topics since revision
required: false
schema:
type: integer
format: int64
- name: count
in: query
description: limit number of topics from latest when revision not set
required: false
schema:
type: integer
format: int64
- name: begin
in: query
description: return topics after and including sequence marker
required: false
schema:
type: integer
format: int64
- name: end
in: query
description: return topics before and not including sequence marker
required: false
schema:
type: integer
format: int64
responses:
'200':
2022-02-08 08:59:53 +00:00
description: successful operation
headers:
Topic-Revision:
2022-02-08 08:59:53 +00:00
schema:
type: integer
format: int64
description: current topic revision
Topic-Marker:
schema:
type: integer
format: int64
description: sequnce marker of first topic when count set
2022-02-08 08:59:53 +00:00
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Topic'
'401':
description: permission denied
2022-01-13 05:00:52 +00:00
'410':
description: account disabled
'500':
description: internal server error
2022-02-08 08:59:53 +00:00
post:
2021-12-29 05:49:51 +00:00
tags:
2022-02-08 15:29:59 +00:00
- content
2022-02-08 08:59:53 +00:00
description: Add a topic to channel channel.
operationId: add-channel-topic
2021-12-29 05:49:51 +00:00
security:
- bearerAuth: []
parameters:
2022-02-08 08:59:53 +00:00
- name: channelId
2021-12-29 05:49:51 +00:00
in: path
2022-02-08 08:59:53 +00:00
description: specified channel id
2021-12-29 05:49:51 +00:00
required: true
schema:
type: string
2022-03-01 18:35:14 +00:00
- name: confirm
in: query
description: set if intial state is confirmed
required: false
schema:
type: boolean
2021-12-29 05:49:51 +00:00
responses:
2022-02-08 08:59:53 +00:00
'201':
description: entry created
2021-12-29 05:49:51 +00:00
content:
application/json:
schema:
2022-02-08 08:59:53 +00:00
$ref: '#/components/schemas/Topic'
2021-12-29 05:49:51 +00:00
'401':
description: permission denied
2022-01-13 05:00:52 +00:00
'410':
description: account disabled
2021-12-29 05:49:51 +00:00
'500':
description: internal server error
2022-02-08 08:59:53 +00:00
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Subject'
2021-12-31 20:23:30 +00:00
2022-04-15 08:49:08 +00:00
/content/channels/{channelId}/topics/{topicId}:
2022-02-08 08:59:53 +00:00
delete:
2021-12-29 05:49:51 +00:00
tags:
2022-02-08 15:29:59 +00:00
- content
2022-02-08 08:59:53 +00:00
description: Remove specified channel. Access granted to app token of account holder.
operationId: remove-channel-topic
2021-12-31 20:23:30 +00:00
security:
- bearerAuth: []
2021-12-29 05:49:51 +00:00
parameters:
2022-02-08 08:59:53 +00:00
- name: channelId
2021-12-29 05:49:51 +00:00
in: path
2022-02-08 08:59:53 +00:00
description: specified channel id
2021-12-31 20:23:30 +00:00
required: true
schema:
type: string
2022-02-08 08:59:53 +00:00
- name: topicId
2021-12-31 20:23:30 +00:00
in: path
2022-02-08 08:59:53 +00:00
description: specified topic id
2021-12-29 05:49:51 +00:00
required: true
schema:
type: string
responses:
'200':
description: success
2021-12-31 20:23:30 +00:00
'401':
2022-02-08 08:59:53 +00:00
description: invalid password
'404':
2022-02-08 08:59:53 +00:00
description: channel not found
2022-01-13 05:00:52 +00:00
'410':
description: account disabled
2021-12-31 20:23:30 +00:00
'500':
description: internal server error
2022-02-08 08:59:53 +00:00
2022-02-08 15:29:59 +00:00
/content/channels/{channelId}/topics/{topicId}/detail:
get:
tags:
- content
description: Get detail object of topic.
operationId: get-channel-topic-detail
security:
- bearerAuth: []
parameters:
- name: channelId
in: path
description: specified channel id
required: true
schema:
type: string
- name: topicId
in: path
description: specified topic id
required: true
schema:
type: string
responses:
'200':
description: success
2022-02-18 20:21:15 +00:00
content:
application/json:
schema:
$ref: '#/components/schemas/TopicDetail'
2022-02-08 15:29:59 +00:00
'401':
description: invalid password
'404':
description: channel not found
'410':
description: account disabled
'500':
description: internal server error
/content/channels/{channelId}/topics/{topicId}/subject/{field}:
2021-12-29 05:49:51 +00:00
get:
tags:
2022-02-08 15:29:59 +00:00
- content
2022-02-08 08:59:53 +00:00
description: Base64 decode and download specified field from the channel's subject. Access granted to app token of account holder or contact token of account the channel is shared with.
operationId: get-channel-topic-subject-field
2021-12-25 22:54:45 +00:00
security:
- bearerAuth: []
parameters:
2022-02-08 08:59:53 +00:00
- name: channelId
2021-12-25 22:54:45 +00:00
in: path
2022-02-08 08:59:53 +00:00
description: specified channel id
2021-12-31 20:23:30 +00:00
required: true
schema:
type: string
2022-02-08 08:59:53 +00:00
- name: topicId
2021-12-31 20:23:30 +00:00
in: path
2022-02-08 08:59:53 +00:00
description: specified topic id
2021-12-29 05:49:51 +00:00
required: true
schema:
type: string
2022-02-08 08:59:53 +00:00
- name: field
in: path
description: field from subject to base64 decode and download
required: true
2022-01-02 02:33:27 +00:00
schema:
2022-02-08 08:59:53 +00:00
type: string
2021-12-29 05:49:51 +00:00
responses:
'200':
description: success
2021-12-29 05:49:51 +00:00
content:
application/json:
schema:
2022-02-08 08:59:53 +00:00
type: string
format: binary
2021-12-29 05:49:51 +00:00
'401':
description: permission denied
'404':
2022-02-08 08:59:53 +00:00
description: field, channel not found
'405':
description: invalid field
2022-01-13 05:00:52 +00:00
'410':
description: account disabled
2021-12-29 05:49:51 +00:00
'500':
description: internal server error
2021-12-31 20:23:30 +00:00
2022-02-08 15:29:59 +00:00
/content/channels/{channelId}/topics/{topicId}/subject:
2022-02-08 08:59:53 +00:00
put:
2021-12-29 05:49:51 +00:00
tags:
2022-02-08 15:29:59 +00:00
- content
2022-02-08 08:59:53 +00:00
description: Set subject for channel. Access granted to app token of account holder.
operationId: set-channel-topic-subject
2021-12-31 20:23:30 +00:00
security:
- bearerAuth: []
2021-12-29 05:49:51 +00:00
parameters:
2022-02-08 08:59:53 +00:00
- name: channelId
2021-12-29 05:49:51 +00:00
in: path
2022-02-08 08:59:53 +00:00
description: specified channel id
required: true
schema:
type: string
- name: topicId
in: path
description: specified topic id
2021-12-29 05:49:51 +00:00
required: true
schema:
type: string
2022-07-20 20:54:22 +00:00
- name: confirm
in: query
description: confirmed state of topic
required: false
schema:
type: boolean
2021-12-29 05:49:51 +00:00
responses:
'200':
description: success
2021-12-29 05:49:51 +00:00
'401':
description: permission denied
'404':
2022-02-08 08:59:53 +00:00
description: channel not found
2022-01-13 05:00:52 +00:00
'410':
description: account disabled
2021-12-29 05:49:51 +00:00
'500':
description: internal server error
2022-02-08 08:59:53 +00:00
requestBody:
content:
application/json:
schema:
2022-02-09 18:30:39 +00:00
$ref: '#/components/schemas/Subject'
2022-02-08 08:59:53 +00:00
2022-02-08 15:29:59 +00:00
/content/channels/{channelId}/topics/{topicId}/assets:
2021-12-29 05:49:51 +00:00
get:
tags:
2022-02-08 15:29:59 +00:00
- content
2022-02-08 08:59:53 +00:00
description: Get list of assets assigned to an channel. The original assets will only be available to the account holder to provent the accidental sharing of content metadata. Access is granted to the app token of the account holder and the contact token of accounts the channel has been shared with.
2022-02-18 07:56:30 +00:00
operationId: get-channel-topic-assets
2021-12-29 05:49:51 +00:00
security:
- bearerAuth: []
parameters:
2022-02-08 08:59:53 +00:00
- name: channelId
2021-12-29 05:49:51 +00:00
in: path
2022-02-08 08:59:53 +00:00
description: specified channel id
2021-12-31 20:23:30 +00:00
required: true
schema:
type: string
2022-02-08 08:59:53 +00:00
- name: topicId
2021-12-31 20:23:30 +00:00
in: path
2022-02-08 08:59:53 +00:00
description: specified topic id
2021-12-29 05:49:51 +00:00
required: true
schema:
type: string
responses:
2022-02-08 08:59:53 +00:00
'201':
description: entry created
2021-12-29 05:49:51 +00:00
content:
application/json:
schema:
2022-02-08 08:59:53 +00:00
type: array
items:
$ref: '#/components/schemas/Asset'
2021-12-29 05:49:51 +00:00
'401':
2022-02-08 08:59:53 +00:00
description: invalid token
2022-01-13 05:00:52 +00:00
'410':
description: account disabled
2021-12-29 05:49:51 +00:00
'500':
description: internal server error
2022-02-08 08:59:53 +00:00
post:
2021-12-29 05:49:51 +00:00
tags:
2022-02-08 15:29:59 +00:00
- content
2022-02-08 08:59:53 +00:00
description: Add an an asset to the to an channel. The original posted asset is referenced in the asset list with a null transform. The transformed assets are referenced accordingly. Transforming the asset strips it of metadata and transcodes it into a specified format. Access is granted to the app token of the account holder.
2022-02-18 07:56:30 +00:00
operationId: add-channel-topic-asset
2021-12-29 05:49:51 +00:00
security:
- bearerAuth: []
parameters:
2022-02-08 08:59:53 +00:00
- name: channelId
2021-12-29 05:49:51 +00:00
in: path
2022-02-08 08:59:53 +00:00
description: specified channel id
2021-12-31 20:23:30 +00:00
required: true
schema:
type: string
2022-02-08 08:59:53 +00:00
- name: topicId
2021-12-31 20:23:30 +00:00
in: path
2022-02-08 08:59:53 +00:00
description: specified topic id
2021-12-29 05:49:51 +00:00
required: true
schema:
type: string
2022-02-08 08:59:53 +00:00
- name: transforms
in: query
description: transforms to apply
required: false
schema:
type: array
items:
type: string
2021-12-29 05:49:51 +00:00
responses:
2022-02-08 08:59:53 +00:00
'201':
description: success
2022-02-08 08:59:53 +00:00
content:
application/json:
schema:
2022-02-28 22:59:29 +00:00
type: array
items:
$ref: '#/components/schemas/Asset'
2021-12-29 05:49:51 +00:00
'401':
description: permission denied
2021-12-29 05:49:51 +00:00
'404':
2022-02-08 08:59:53 +00:00
description: channel not found
'406':
description: storage limit reached
2022-01-13 05:00:52 +00:00
'410':
description: account disabled
2021-12-29 05:49:51 +00:00
'500':
description: internal server error
2022-02-08 08:59:53 +00:00
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
fileName:
type: string
format: binary
/content/channels/{channelId}/topics/{topicId}/blocks:
post:
tags:
- content
description: Add a asset to the channel. Payload is a file block encoded as bas64 string. This is to support e2e as the client side will encrypt the file block before applying the base64 encoding.
operationId: add-channel-topic-block
security:
- bearerAuth: []
parameters:
- name: channelId
in: path
description: specified channel 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: channel not found
'406':
description: storage limit reached
'410':
description: account disabled
'500':
description: internal server error
requestBody:
content:
application/json:
schema:
type: string
2022-02-08 15:29:59 +00:00
/content/channels/{channelId}/topics/{topicId}/assets/{assetId}:
2022-01-02 19:20:34 +00:00
get:
tags:
2022-02-08 15:29:59 +00:00
- content
2022-02-08 08:59:53 +00:00
description: Get asset assigned to an channel. The endpoint supports byte-range requests and responds with the content-type set appropriatly. Access granted to the app tokens of the account holder and in the case of non-original assets, the contact token for accounts with which the channel is shared.
2022-02-18 07:56:30 +00:00
operationId: get-channel-topic-asset
2022-01-02 19:20:34 +00:00
security:
- bearerAuth: []
parameters:
2022-02-08 08:59:53 +00:00
- name: channelId
2022-01-02 19:20:34 +00:00
in: path
2022-02-08 08:59:53 +00:00
description: specified channel id
2022-01-02 19:20:34 +00:00
required: true
schema:
type: string
2022-02-08 08:59:53 +00:00
- name: topicId
2022-01-02 19:20:34 +00:00
in: path
2022-02-08 08:59:53 +00:00
description: specified topic id
2022-01-02 19:20:34 +00:00
required: true
schema:
type: string
2022-02-08 08:59:53 +00:00
- name: assetId
2022-01-02 19:20:34 +00:00
in: path
2022-02-08 08:59:53 +00:00
description: specified asset id
2022-01-02 19:20:34 +00:00
required: true
schema:
type: string
responses:
'200':
description: success
content:
2022-02-08 08:59:53 +00:00
application/octet-stream: #asset specific
2022-01-02 19:20:34 +00:00
schema:
2022-02-08 08:59:53 +00:00
type: string
format: binary
2022-01-02 19:20:34 +00:00
'401':
description: permission denied
'404':
2022-02-08 08:59:53 +00:00
description: asset or channel not found
2022-01-13 05:00:52 +00:00
'410':
description: account disabled
2022-01-02 19:20:34 +00:00
'500':
description: internal server error
2022-02-08 08:59:53 +00:00
delete:
2021-12-29 05:49:51 +00:00
tags:
2022-02-08 15:29:59 +00:00
- content
2022-02-08 08:59:53 +00:00
description: Remove an asset from an channel. Access granted to app tokens of the account holder.
2022-02-18 07:56:30 +00:00
operationId: remove-channel-topic-asset
2021-12-29 05:49:51 +00:00
security:
- bearerAuth: []
2022-02-08 08:59:53 +00:00
parameters:
- name: channelId
in: path
description: specified channel 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
2021-12-29 05:49:51 +00:00
responses:
'200':
2022-02-08 08:59:53 +00:00
description: success
2021-12-29 05:49:51 +00:00
'401':
2022-02-08 08:59:53 +00:00
description: permission denied
'404':
description: asset or channel not found
2022-01-13 05:00:52 +00:00
'410':
description: account disabled
2021-12-29 05:49:51 +00:00
'500':
description: internal server error
2022-02-08 08:59:53 +00:00
2022-02-08 15:29:59 +00:00
/content/channels/{channelId}/topics/{topicId}/confirmed:
2022-02-08 08:59:53 +00:00
put:
2021-12-29 05:49:51 +00:00
tags:
2022-02-08 15:29:59 +00:00
- content
2022-02-08 08:59:53 +00:00
description: Set confirmed state of the channel. Until the confirmed state has been set to true, the channel will not be visible to contacts with which the channel is shared. Access granted to the app tokens of the acocunt holder.
2022-02-18 07:56:30 +00:00
operationId: set-channel-topic-confirmed
2021-12-29 05:49:51 +00:00
security:
- bearerAuth: []
2022-02-08 08:59:53 +00:00
parameters:
- name: channelId
in: path
description: specified channel id
required: true
schema:
type: string
- name: topicId
in: path
description: specified topic id
required: true
schema:
type: string
2021-12-29 05:49:51 +00:00
responses:
'200':
description: success
2021-12-29 05:49:51 +00:00
'401':
description: permission denied
2022-02-08 08:59:53 +00:00
'404':
description: channel not found
2022-01-13 05:00:52 +00:00
'410':
description: account disabled
2021-12-29 05:49:51 +00:00
'500':
description: internal server error
requestBody:
content:
application/json:
2021-12-29 05:49:51 +00:00
schema:
2022-04-14 21:13:08 +00:00
type: string
2022-02-08 08:59:53 +00:00
2022-02-08 15:29:59 +00:00
/content/channels/{channelId}/topics/{topicId}/tags:
2022-02-08 08:59:53 +00:00
get:
2021-12-25 22:54:45 +00:00
tags:
2022-02-08 15:29:59 +00:00
- content
2022-02-08 08:59:53 +00:00
description: Get channel topic tag slots.
operationId: get-channel-topic-tags
2021-12-25 22:54:45 +00:00
security:
- bearerAuth: []
parameters:
2022-02-07 23:10:04 +00:00
- name: channelId
2021-12-25 22:54:45 +00:00
in: path
2022-02-08 08:59:53 +00:00
description: specified channel id
2021-12-25 22:54:45 +00:00
required: true
schema:
type: string
2022-02-08 08:59:53 +00:00
- name: topicId
in: path
description: specified topic id
required: true
schema:
type: string
- name: revision
in: query
description: return updated topics since revision
required: false
schema:
2022-07-04 04:11:30 +00:00
type: integer
format: int64
- name: count
in: query
description: limit number of latest from latest when revision not set
required: false
schema:
type: integer
format: int64
- name: begin
in: query
description: return tags after and including sequence marker
required: false
schema:
type: integer
format: int64
- name: end
in: query
description: return tags before and not including sequence marker
required: false
schema:
type: integer
format: int64
2021-12-25 22:54:45 +00:00
responses:
'200':
description: successful operation
2022-02-08 08:59:53 +00:00
headers:
2022-07-04 04:11:30 +00:00
Tag-Revision:
2022-02-08 08:59:53 +00:00
schema:
type: integer
format: int64
description: current tag revision
2022-07-04 04:11:30 +00:00
Tag-Marker:
schema:
type: integer
format: int64
description: sequnce marker of first tag when count set
2022-02-08 08:59:53 +00:00
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Tag'
2021-12-25 22:54:45 +00:00
'401':
2022-02-08 08:59:53 +00:00
description: permission denied
'410':
description: account disabled
'500':
description: internal server error
post:
tags:
2022-02-08 15:29:59 +00:00
- content
2022-02-08 08:59:53 +00:00
description: Add a tag to channel topic.
operationId: add-channel-topic-tag
security:
- bearerAuth: []
parameters:
- name: channelId
in: path
description: specified channel 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:
$ref: '#/components/schemas/Tag'
'401':
description: permission denied
2022-01-13 05:00:52 +00:00
'410':
description: account disabled
2021-12-29 05:49:51 +00:00
'500':
description: internal server error
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Subject'
2022-02-08 08:59:53 +00:00
2022-02-08 15:29:59 +00:00
/content/channels/{channelId}/topics/{topicId}/tags/{tagId}:
2021-12-31 20:23:30 +00:00
delete:
2021-12-29 05:49:51 +00:00
tags:
2022-02-08 15:29:59 +00:00
- content
2022-02-08 08:59:53 +00:00
description: Remove specified tag from channel topic. Access granted to app token of account holder.
operationId: remove-channel-topic-tag
2021-12-29 05:49:51 +00:00
security:
- bearerAuth: []
2021-12-31 20:23:30 +00:00
parameters:
2022-02-07 23:10:04 +00:00
- name: channelId
2021-12-31 20:23:30 +00:00
in: path
2022-02-07 23:10:04 +00:00
description: specified channel id
2021-12-31 20:23:30 +00:00
required: true
schema:
type: string
2022-02-08 08:59:53 +00:00
- 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
2021-12-29 05:49:51 +00:00
responses:
'200':
description: success
2021-12-29 05:49:51 +00:00
'401':
2022-02-08 08:59:53 +00:00
description: invalid password
'404':
2022-02-07 23:10:04 +00:00
description: channel not found
2022-01-13 05:00:52 +00:00
'410':
description: account disabled
2021-12-29 05:49:51 +00:00
'500':
description: internal server error
2022-02-08 08:59:53 +00:00
2022-02-08 15:29:59 +00:00
/content/channels/{channelId}/topics/{topicId}/tags/{tagId}/subject/{field}:
2022-02-08 08:59:53 +00:00
get:
2022-01-02 02:33:27 +00:00
tags:
2022-02-08 15:29:59 +00:00
- content
2022-02-08 08:59:53 +00:00
description: Base64 decode and download specified field from the channel's subject. Access granted to app token of account holder or contact token of account the channel is shared with.
operationId: get-channel-topic-tag-subject-field
2022-01-02 02:33:27 +00:00
security:
- bearerAuth: []
parameters:
2022-02-07 23:10:04 +00:00
- name: channelId
2022-01-02 02:33:27 +00:00
in: path
2022-02-08 08:59:53 +00:00
description: specified channel id
required: true
schema:
type: string
- name: topicId
in: path
description: specified topic id
2022-01-02 02:33:27 +00:00
required: true
schema:
type: string
2022-02-08 08:59:53 +00:00
- name: tagId
2022-01-02 02:33:27 +00:00
in: path
2022-02-08 08:59:53 +00:00
description: specified tag id
required: true
schema:
type: string
- name: field
in: path
description: field from subject to base64 decode and download
2022-01-02 02:33:27 +00:00
required: true
schema:
type: string
responses:
'200':
description: success
2022-02-08 08:59:53 +00:00
content:
application/json:
schema:
type: string
format: binary
2022-01-02 02:33:27 +00:00
'401':
description: permission denied
'404':
2022-02-08 08:59:53 +00:00
description: field, channel not found
'405':
description: invalid field
2022-01-13 05:00:52 +00:00
'410':
description: account disabled
2022-01-02 02:33:27 +00:00
'500':
description: internal server error
2022-02-08 08:59:53 +00:00
2022-02-08 15:29:59 +00:00
/content/channels/{channelId}/topics/{topicId}/tags/{tagId}/subject:
2022-02-08 08:59:53 +00:00
put:
2022-01-02 02:33:27 +00:00
tags:
2022-02-08 15:29:59 +00:00
- content
2022-02-08 08:59:53 +00:00
description: Set subject for channel. Access granted to app token of account holder.
operationId: set-channel-topic-tag-subject
2022-01-02 02:33:27 +00:00
security:
- bearerAuth: []
parameters:
2022-02-07 23:10:04 +00:00
- name: channelId
2022-01-02 02:33:27 +00:00
in: path
2022-02-07 23:10:04 +00:00
description: specified channel id
2022-01-02 02:33:27 +00:00
required: true
schema:
type: string
2022-02-08 08:59:53 +00:00
- name: topicId
2022-01-02 02:33:27 +00:00
in: path
2022-02-08 08:59:53 +00:00
description: specified topic id
required: true
schema:
type: string
- name: tagId
in: path
description: specified tag id
2022-01-02 02:33:27 +00:00
required: true
schema:
type: string
responses:
'200':
description: success
2022-01-02 02:33:27 +00:00
'401':
description: permission denied
'404':
2022-02-08 08:59:53 +00:00
description: channel not found
2022-01-13 05:00:52 +00:00
'410':
description: account disabled
2022-01-02 02:33:27 +00:00
'500':
description: internal server error
2022-02-08 08:59:53 +00:00
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Subject'
/talk/calls:
2023-03-21 05:13:01 +00:00
post:
tags:
- talk
description: Add new call entry
operationId: add-call
parameters:
- name: agent
in: query
description: agent token
required: true
schema:
type: string
- name: cardId
2023-03-20 02:55:29 +00:00
in: query
description: id of card to call
required: true
schema:
type: string
responses:
'201':
description: entry created
content:
application/json:
schema:
$ref: '#/components/schemas/Call'
'401':
description: permission denied
'410':
description: account disabled
'500':
description: internal server error
2023-03-21 05:13:01 +00:00
requestBody:
content:
application/json:
schema:
type: string
/talk/calls/{callId}:
put:
tags:
- talk
description: extend keep alive on specified call
operationId: keep-call
parameters:
- name: agent
in: query
description: agent token
required: true
schema:
type: string
- name: callId
in: path
description: id of call to keep alive
required: true
schema:
type: string
responses:
'200':
description: successful operation
'401':
description: permission denied
'404':
description: call not found
'406':
description: call has already expired or closed
'410':
description: account disabled
'500':
description: internal server error
2023-03-20 02:55:29 +00:00
delete:
tags:
- talk
description: terminte sepecified call
operationId: end-call
parameters:
- name: agent
in: query
description: agent token
required: false
schema:
type: string
- name: contact
in: query
description: contact token
required: false
schema:
type: string
- name: callId
in: path
description: id of call to end
required: true
2023-03-20 02:55:29 +00:00
schema:
type: string
responses:
'200':
description: successful operation
'401':
description: permission denied
'410':
description: account disabled
'500':
description: internal server error
2023-03-20 04:46:10 +00:00
/talk/ring:
post:
tags:
- talk
description: Create a ring event in contact
operationId: add-ring
parameters:
- name: contact
in: query
description: contact token
required: true
schema:
type: string
- name: calleeToken
in: query
description: token for the contact to connect with
required: true
schema:
type: string
- name: index
in: query
description: index of current ring
required: true
schema:
type: integer
format: int32
responses:
'201':
description: entry created
'401':
description: permission denied
'410':
description: account disabled
'500':
description: internal server error
2023-03-20 13:47:54 +00:00
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Ring'
/talk/signal:
get:
tags:
2023-03-20 02:55:29 +00:00
- talk
description: Websocket endpoint for coordinating webrtc conversation
operationId: signal
responses:
'200':
description: Awaiting token
2022-02-08 08:59:53 +00:00
2022-02-07 23:10:04 +00:00
externalDocs:
description: App overview
url: ''
components:
schemas:
Announce:
type: object
required:
- appToken
properties:
appToken:
type: string
2022-11-01 18:27:57 +00:00
LoginAccess:
type: object
required:
- guid
- appToken
- created
2022-11-09 22:37:29 +00:00
- pushSupported
properties:
guid:
type: string
appToken:
type: string
created:
type: integer
format: int64
2022-11-09 22:37:29 +00:00
pushSupported:
type: boolean
2022-02-07 23:10:04 +00:00
Revision:
type: object
required:
- profile
2022-02-09 18:30:39 +00:00
- article
2022-02-07 23:10:04 +00:00
- group
- channel
- card
properties:
2022-03-26 08:37:47 +00:00
account:
type: integer
format: int64
2022-02-07 23:10:04 +00:00
profile:
type: integer
format: int64
article:
type: integer
format: int64
group:
type: integer
format: int64
channel:
type: integer
format: int64
card:
type: integer
format: int64
NodeConfig:
type: object
required:
- domain
- accountStorage
properties:
domain:
type: string
accountStorage:
type: integer
format: int64
enableImage:
2022-03-11 05:26:17 +00:00
type: boolean
enableAudio:
type: boolean
enableVideo:
type: boolean
keyType:
type: string
2022-11-10 04:54:44 +00:00
pushSupported:
type: boolean
allowUnsealed:
type: boolean
transformSupported:
type: boolean
2023-04-13 07:39:14 +00:00
enableIce:
type: boolean
2024-05-30 06:43:16 +00:00
iceService:
type: string
2023-04-13 07:39:14 +00:00
iceUrl:
type: string
iceUsername:
type: string
icePassword:
type: string
2023-07-18 05:39:38 +00:00
enableOpenAccess:
type: boolean
openAccessLimit:
type: integer
format: int64
2024-05-30 06:43:16 +00:00
2023-04-13 07:39:14 +00:00
2022-12-03 23:30:12 +00:00
Seal:
type: object
required:
- salt
- privateKeyEncrypted
- publicKey
properties:
2022-12-07 06:52:53 +00:00
passwordSalt:
2022-12-03 23:30:12 +00:00
type: string
2022-12-07 06:52:53 +00:00
format: hex encoded data
privateKeyIv:
type: string
format: hex encoded data
2022-12-03 23:30:12 +00:00
privateKeyEncrypted:
type: string
format: base64 encoded data
publicKey:
type: string
format: base64 encoded data
2022-01-13 05:08:44 +00:00
AccountStatus:
type: object
required:
- disabled
- storageUsed
- storageAvailable
2022-01-13 18:06:19 +00:00
- forwardingAddress
2022-03-07 23:03:24 +00:00
- searchable
- pushEnabled
2024-05-14 22:20:00 +00:00
- multiFactorAuth
- webServerKey
2022-01-13 05:08:44 +00:00
properties:
disabled:
type: boolean
storageUsed:
2022-03-08 21:31:04 +00:00
type: integer
2022-01-13 05:08:44 +00:00
format: int64
storageAvailable:
2022-03-08 21:31:04 +00:00
type: integer
2022-01-13 05:08:44 +00:00
format: int64
2022-01-13 18:06:19 +00:00
forwardingAddress:
type: string
2022-03-07 23:03:24 +00:00
searchable:
type: boolean
allowUnsealed:
type: boolean
pushEnabled:
type: boolean
2022-12-03 23:30:12 +00:00
sealable:
type: boolean
seal:
$ref: '#/components/schemas/Seal'
2023-04-13 07:39:14 +00:00
enableIce:
type: boolean
2024-05-14 22:20:00 +00:00
multiFactorAuth:
type: boolean
webPushKey:
type: string
2023-04-13 07:39:14 +00:00
AccountProfile:
type: object
required:
- guid
- revision
- node
properties:
accountId:
type: integer
format: uint32
guid:
type: string
handle:
type: string
name:
type: string
description:
type: string
location:
type: string
imageSet:
type: boolean
disabled:
type: boolean
seal:
type: string
2023-07-11 05:15:02 +00:00
storageUsed:
type: integer
format: int64
2021-12-20 21:49:59 +00:00
Profile:
type: object
required:
2022-01-17 05:11:24 +00:00
- guid
2021-12-20 21:49:59 +00:00
- revision
- node
properties:
2022-01-17 05:11:24 +00:00
guid:
2021-12-21 08:13:48 +00:00
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
2022-12-03 23:30:12 +00:00
seal:
type: string
format: base64 encoded data
2022-01-04 07:18:32 +00:00
version:
type: string
2021-12-21 08:13:48 +00:00
node:
type: string
ProfileData:
type: object
properties:
2021-12-20 21:49:59 +00:00
name:
type: string
description:
type: string
location:
type: string
2021-12-21 08:13:48 +00:00
2022-01-04 07:18:32 +00:00
Account:
type: object
required:
- accountId
2022-01-13 05:00:52 +00:00
- disabled
2022-01-04 07:18:32 +00:00
properties:
accountId:
2022-03-10 05:19:05 +00:00
type: integer
format: uint32
guid:
2022-01-04 07:18:32 +00:00
type: string
2022-03-10 05:19:05 +00:00
handle:
type: string
name:
type: string
description:
type: string
location:
type: string
imageSet:
type: boolean
2022-01-13 05:00:52 +00:00
disabled:
type: boolean
2022-01-04 07:18:32 +00:00
2021-12-21 08:13:48 +00:00
App:
type: object
required:
2022-02-08 08:59:53 +00:00
- id
- revision
- data
2021-12-21 08:13:48 +00:00
properties:
2022-02-08 08:59:53 +00:00
id:
2021-12-21 08:13:48 +00:00
type: string
2022-02-08 08:59:53 +00:00
revision:
2021-12-20 21:49:59 +00:00
type: integer
2022-01-18 08:40:39 +00:00
format: int64
2022-02-08 08:59:53 +00:00
data:
$ref: '#/components/schemas/AppData'
2021-12-21 08:13:48 +00:00
AppData:
type: object
2022-02-08 08:59:53 +00:00
required:
- attached
2021-12-21 08:13:48 +00:00
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
2022-02-08 08:59:53 +00:00
attached:
type: integer
format: int64
2021-12-25 22:54:45 +00:00
Card:
2021-12-25 22:54:45 +00:00
type: object
required:
2022-02-08 08:59:53 +00:00
- id
- revision
2022-02-08 08:59:53 +00:00
- data
2021-12-25 22:54:45 +00:00
properties:
2022-02-08 08:59:53 +00:00
id:
2021-12-24 22:59:24 +00:00
type: string
revision:
2022-02-09 18:30:39 +00:00
type: integer
format: int64
2022-02-08 08:59:53 +00:00
data:
$ref: '#/components/schemas/CardData'
CardData:
2021-12-25 22:54:45 +00:00
type: object
required:
- detailRevision
- profileRevision
- notifiedProfile
2022-02-09 18:30:39 +00:00
- notifiedArticle
2022-02-07 23:10:04 +00:00
- notifiedChannel
- notifiedView
2021-12-25 22:54:45 +00:00
properties:
detailRevision:
type: integer
format: int64
profileRevision:
type: integer
format: int64
notifiedProfile:
2021-12-25 22:54:45 +00:00
type: integer
format: int64
2022-02-09 18:30:39 +00:00
notifiedArticle:
type: integer
format: int64
2022-02-07 23:10:04 +00:00
notifiedChannel:
type: integer
format: int64
notifiedView:
2021-12-25 22:54:45 +00:00
type: integer
format: int64
2022-02-08 08:59:53 +00:00
cardDetail:
$ref: '#/components/schemas/CardDetail'
cardProfile:
$ref: '#/components/schemas/CardProfile'
CardProfile:
2021-12-29 05:49:51 +00:00
type: object
required:
2022-02-08 08:59:53 +00:00
- guid
- node
2021-12-29 05:49:51 +00:00
properties:
2022-02-08 08:59:53 +00:00
guid:
2021-12-29 05:49:51 +00:00
type: string
2022-02-08 08:59:53 +00:00
handle:
2021-12-29 05:49:51 +00:00
type: string
2022-02-08 08:59:53 +00:00
name:
type: string
description:
type: string
location:
type: string
imageSet:
type: boolean
version:
type: string
node:
2021-12-29 05:49:51 +00:00
type: string
seal:
type: string
2022-04-04 21:56:57 +00:00
revision:
type: integer
format: int64
2021-12-29 05:49:51 +00:00
2022-02-08 08:59:53 +00:00
CardDetail:
2021-12-29 05:49:51 +00:00
type: object
required:
2022-02-08 08:59:53 +00:00
- status
2021-12-29 05:49:51 +00:00
properties:
2022-02-08 08:59:53 +00:00
status:
type: string
enum: [ pending, confirmed, requested, connecting, connected ]
2022-08-13 14:01:13 +00:00
statusUpdated:
type: integer
format: int64
2022-02-08 08:59:53 +00:00
token:
type: string
notes:
type: string
2022-02-07 23:10:04 +00:00
groups:
type: array
items:
type: string
Group:
type: object
required:
2022-02-08 08:59:53 +00:00
- id
2022-02-07 23:10:04 +00:00
- revision
2022-02-09 18:30:39 +00:00
- data
2022-02-07 23:10:04 +00:00
properties:
2022-02-08 08:59:53 +00:00
id:
2021-12-29 05:49:51 +00:00
type: string
2022-01-10 22:18:18 +00:00
revision:
type: integer
format: int64
2022-02-08 08:59:53 +00:00
data:
2022-02-07 23:10:04 +00:00
$ref: '#/components/schemas/GroupData'
GroupData:
type: object
required:
- dataType
- data
- created
- updated
properties:
dataType:
2022-01-10 22:18:18 +00:00
type: string
data:
type: string
created:
type: integer
2022-01-18 08:40:39 +00:00
format: int64
2022-02-07 23:10:04 +00:00
updated:
type: integer
format: int64
2022-03-07 23:03:24 +00:00
ChannelParams:
type: object
required:
2022-04-06 21:02:18 +00:00
- dataType
- data
2022-03-07 23:03:24 +00:00
- groups
- cards
properties:
2022-04-06 21:02:18 +00:00
dataType:
type: string
data:
type: string
2022-03-07 23:03:24 +00:00
groups:
type: array
items:
type: string
cards:
type: array
items:
type: string
2022-02-07 23:10:04 +00:00
Channel:
2021-12-29 05:49:51 +00:00
type: object
required:
2022-02-08 08:59:53 +00:00
- id
2022-02-07 23:10:04 +00:00
- revision
2022-02-08 08:59:53 +00:00
- data
2021-12-29 05:49:51 +00:00
properties:
2022-02-08 08:59:53 +00:00
id:
2021-12-29 05:49:51 +00:00
type: string
2022-02-07 23:10:04 +00:00
revision:
2022-02-18 07:56:30 +00:00
type: integer
format: int64
2022-02-08 08:59:53 +00:00
data:
2022-02-07 23:10:04 +00:00
$ref: '#/components/schemas/ChannelData'
2021-12-29 05:49:51 +00:00
2022-02-07 23:10:04 +00:00
ChannelData:
2021-12-29 05:49:51 +00:00
type: object
required:
2022-02-08 08:59:53 +00:00
- detailRevision
- topicRevision
2022-02-08 08:59:53 +00:00
properties:
detailRevision:
type: integer
format: int64
topicRevision:
type: integer
format: int64
2022-05-09 21:08:54 +00:00
channelSummary:
$ref: '#/components/schemas/ChannelSummary'
2022-02-08 08:59:53 +00:00
channelDetail:
$ref: '#/components/schemas/ChannelDetail'
ChannelDetail:
type: object
required:
- dataType
2022-01-10 22:18:18 +00:00
- data
- created
2022-02-07 23:10:04 +00:00
- updated
2021-12-29 05:49:51 +00:00
properties:
2022-02-08 08:59:53 +00:00
dataType:
2022-01-10 22:18:18 +00:00
type: string
data:
type: string
created:
type: integer
2022-01-18 08:40:39 +00:00
format: int64
2022-02-07 23:10:04 +00:00
updated:
2022-01-10 22:18:18 +00:00
type: integer
format: int64
enableImage:
type: boolean
enableAudio:
type: boolean
enableVideo:
2022-11-01 18:27:57 +00:00
type: boolean
2022-03-07 23:03:24 +00:00
contacts:
$ref: '#/components/schemas/ChannelContacts'
members:
2022-04-09 08:36:03 +00:00
type: array
items:
$ref: '#/components/schemas/ChannelMember'
2022-05-09 21:08:54 +00:00
ChannelSummary:
type: object
properties:
lastTopic:
$ref: '#/components/schemas/TopicDetail'
2022-03-07 23:03:24 +00:00
ChannelContacts:
type: object
required:
- groups
- cards
properties:
2022-02-11 21:07:39 +00:00
groups:
2022-03-07 23:03:24 +00:00
type: array
items:
type: string
2022-02-11 21:07:39 +00:00
cards:
type: array
items:
type: string
2022-03-07 23:03:24 +00:00
ChannelMember:
2022-02-08 08:59:53 +00:00
type: object
required:
2022-03-07 23:03:24 +00:00
- members
2022-02-08 08:59:53 +00:00
properties:
member:
type: string
pushEnabled:
2022-12-03 22:06:06 +00:00
type: boolean
2022-03-07 23:03:24 +00:00
2021-12-31 06:01:08 +00:00
Topic:
2021-12-29 05:49:51 +00:00
type: object
required:
2022-02-08 08:59:53 +00:00
- id
2022-02-07 23:10:04 +00:00
- revision
2022-02-08 08:59:53 +00:00
- data
2022-02-07 23:10:04 +00:00
properties:
2022-02-08 08:59:53 +00:00
id:
2022-02-07 23:10:04 +00:00
type: string
revision:
2022-02-09 18:30:39 +00:00
type: integer
format: int64
2022-02-08 08:59:53 +00:00
data:
2022-02-07 23:10:04 +00:00
$ref: '#/components/schemas/TopicData'
TopicData:
type: object
required:
2022-02-08 08:59:53 +00:00
- detailRevision
- tagRevision
properties:
detailRevision:
type: integer
format: int64
tagRevision:
type: integer
format: int64
topicDetail:
$ref: '#/components/schemas/TopicDetail'
TopicDetail:
type: object
required:
- guid
2022-02-07 23:10:04 +00:00
- dataType
2022-01-10 22:18:18 +00:00
- data
- created
2022-02-18 07:56:30 +00:00
- updated
2021-12-29 05:49:51 +00:00
- status
properties:
2022-02-08 08:59:53 +00:00
guid:
type: string
2022-02-07 23:10:04 +00:00
dataType:
2022-01-10 22:18:18 +00:00
type: string
data:
type: string
created:
type: integer
2022-01-18 08:40:39 +00:00
format: int64
2022-02-18 07:56:30 +00:00
updated:
2022-01-10 22:18:18 +00:00
type: integer
2022-01-18 08:40:39 +00:00
format: int64
2021-12-29 05:49:51 +00:00
status:
type: string
2022-03-01 08:28:36 +00:00
enum: [ unconfirmed, confirmed ]
transform:
type: string
enum: [ complete, incomplete ]
2021-12-29 05:49:51 +00:00
2022-02-07 23:10:04 +00:00
Tag:
2022-01-28 22:37:35 +00:00
type: object
required:
2022-02-08 08:59:53 +00:00
- id
- revision
2022-02-08 08:59:53 +00:00
- data
2022-01-28 22:37:35 +00:00
properties:
2022-02-08 08:59:53 +00:00
id:
2022-01-28 22:37:35 +00:00
type: string
revision:
2022-02-09 18:30:39 +00:00
type: integer
format: int64
2022-02-08 08:59:53 +00:00
data:
2022-02-07 23:10:04 +00:00
$ref: '#/components/schemas/TagData'
TagData:
2021-12-24 22:59:24 +00:00
type: object
required:
2022-02-08 08:59:53 +00:00
- guid
2022-01-25 05:22:33 +00:00
- dataType
2022-01-10 22:18:18 +00:00
- data
- created
2022-01-25 05:22:33 +00:00
- updated
2021-12-24 22:59:24 +00:00
properties:
2022-02-08 08:59:53 +00:00
guid:
type: string
2022-01-25 05:22:33 +00:00
dataType:
2022-01-10 22:18:18 +00:00
type: string
data:
type: string
created:
type: integer
2022-01-18 08:40:39 +00:00
format: int64
2022-01-25 05:22:33 +00:00
updated:
2022-01-10 22:18:18 +00:00
type: integer
2022-01-18 08:40:39 +00:00
format: int64
2021-12-26 07:19:25 +00:00
2022-02-07 23:10:04 +00:00
Article:
2021-12-26 07:19:25 +00:00
type: object
required:
2022-02-08 08:59:53 +00:00
- id
- revision
2022-02-08 08:59:53 +00:00
- data
properties:
2022-02-08 08:59:53 +00:00
id:
type: string
revision:
2022-02-09 18:30:39 +00:00
type: integer
format: int64
2022-02-08 08:59:53 +00:00
data:
$ref: '#/components/schemas/ArticleData'
ArticleData:
type: object
required:
- dataType
- data
- created
- updated
- status
properties:
2022-02-07 23:10:04 +00:00
dataType:
2022-01-10 22:18:18 +00:00
type: string
data:
type: string
created:
type: integer
2022-01-18 08:40:39 +00:00
format: int64
updated:
type: integer
format: int64
2022-02-07 23:10:04 +00:00
status:
type: string
enum: [ unconfirmed, confirmed, incomplete, error ]
2022-02-08 08:59:53 +00:00
groups:
$ref: '#/components/schemas/ArticleGroups'
ArticleGroups:
type: object
required:
- groups
properties:
groups:
type: array
items:
type: string
Asset:
type: object
required:
- assetId
properties:
assetId:
type: string
transform:
type: string
status:
type: string
enum: [ pending, processing, importing, ready, error ]
2022-02-07 23:10:04 +00:00
Subject:
type: object
required:
- dataType
- data
properties:
dataType:
type: string
data:
type: string
2022-02-08 08:59:53 +00:00
Claim:
2021-12-22 05:50:25 +00:00
type: object
required:
- token
properties:
token:
type: string
2022-01-20 07:45:53 +00:00
Identity:
type: object
required:
- revision
- version
- node
properties:
revision:
2021-12-22 05:50:25 +00:00
type: integer
2022-01-18 08:40:39 +00:00
format: int64
2022-01-20 07:45:53 +00:00
handle:
type: string
name:
type: string
description:
type: string
location:
type: string
image:
type: string
format: base64 encoded image
version:
type: string
node:
type: string
seal:
type: string
2021-12-22 05:50:25 +00:00
Connect:
type: object
required:
2022-01-20 07:45:53 +00:00
- contact
2021-12-22 05:50:25 +00:00
- token
properties:
2022-01-20 07:45:53 +00:00
contact:
2021-12-22 05:50:25 +00:00
type: string
token:
type: string
viewRevision:
type: integer
format: int64
2022-02-09 18:30:39 +00:00
articleRevision:
2021-12-22 05:50:25 +00:00
type: integer
format: int64
2022-01-20 07:45:53 +00:00
profileRevision:
type: integer
format: int64
handle:
type: string
name:
type: string
description:
type: string
location:
type: string
image:
type: string
format: base64 encoded image
version:
type: string
seal:
type: string
2022-01-20 07:45:53 +00:00
node:
type: string
2021-12-22 05:50:25 +00:00
Disconnect:
type: object
required:
2022-01-20 07:45:53 +00:00
- contact
2021-12-22 05:50:25 +00:00
properties:
2022-01-20 07:45:53 +00:00
contact:
2021-12-22 05:50:25 +00:00
type: string
2022-01-20 07:45:53 +00:00
SignedData:
type: object
required:
- guid
- timestamp
- messageType
- value
properties:
guid:
2021-12-22 05:50:25 +00:00
type: string
2022-01-20 07:45:53 +00:00
timestamp:
2021-12-22 05:50:25 +00:00
type: integer
2022-01-18 08:40:39 +00:00
format: int64
2022-01-20 07:45:53 +00:00
messageType:
type: string
enum: [Connect, Disconnect, Identity, Authenticate]
value:
type: string
format: json string of Connect, Disconnect, Authenticate, or Profile
2022-01-21 08:05:42 +00:00
2022-01-21 07:41:08 +00:00
ContactStatus:
type: object
required:
- status
properties:
token:
type: string
2022-02-09 18:30:39 +00:00
profileRevision:
type: integer
format: int64
articleRevision:
type: integer
format: int64
channelRevision:
type: integer
format: int64
viewRevision:
type: integer
format: int64
2022-01-21 07:41:08 +00:00
status:
type: string
enum: [ pending, confirmed, requested, connecting, connected ]
2022-01-21 08:05:42 +00:00
2021-12-21 08:13:48 +00:00
DataMessage:
type: object
required:
- message
- keyType
- publicKey
- signature
- signatureType
2021-12-21 08:13:48 +00:00
properties:
message:
type: string
2022-01-20 07:45:53 +00:00
format: base64 encoded json string of SignedData
2021-12-21 08:13:48 +00:00
keyType:
type: string
enum: [RSA4096, RSA2048]
publicKey:
type: string
2022-01-13 05:00:52 +00:00
format: base64 encoding of account public key
signature:
type: string
format: base64 encoding of message signature
signatureType:
type: string
enum: [PKCS1v15, PSS]
Call:
type: object
required:
- id
- cardId
- callerToken
- calleeToken
- keepAlive
properties:
id:
type: string
cardId:
type: string
callerToken:
type: string
calleeToken:
type: string
keepAlive:
type: integer
format: int32
2024-05-30 06:43:16 +00:00
iceService:
type: string
2023-04-13 07:39:14 +00:00
iceUrl:
type: string
iceUsername:
type: string
icePassword:
type: string
2024-05-30 06:43:16 +00:00
IceUrl:
tyle: object
required:
- urls
- username
- credential
properties:
urls:
type: string
username:
type: string
credential:
type: string
2023-03-20 13:47:54 +00:00
Ring:
type: object
required:
- callId
2023-03-20 13:47:54 +00:00
- calleeToken
- index
properties:
callId:
type: string
2023-03-20 13:47:54 +00:00
calleeToken:
type: string
index:
type: integer
format: int32
2024-05-30 06:43:16 +00:00
ice:
type: array
items:
$ref: '#/components/schemas/IceUrl'
2023-04-13 07:39:14 +00:00
iceUrl:
type: string
iceUsername:
type: string
icePassword:
type: string
2023-03-20 13:47:54 +00:00
2021-12-20 21:49:59 +00:00
securitySchemes:
basicAuth:
type: http
scheme: basic
2022-01-17 05:11:24 +00:00
basicCredentials:
type: http
2022-01-19 08:03:46 +00:00
scheme: basic
2022-01-17 05:11:24 +00:00
2021-12-20 21:49:59 +00:00
bearerAuth:
type: http
scheme: bearer
2022-12-03 22:06:06 +00:00
2023-03-20 04:46:10 +00:00