mirror of
https://github.com/balzack/databag.git
synced 2025-02-12 03:29:16 +00:00
3195 lines
84 KiB
Plaintext
3195 lines
84 KiB
Plaintext
openapi: 3.0.0
|
|
info:
|
|
description: |
|
|
DataBag provides storage for decentralized identity based self-hosting apps.
|
|
It is intended to support sharing of personal data and hosting group
|
|
conversations.
|
|
version: "0.0.1"
|
|
title: DataBag
|
|
contact:
|
|
email: roland.osborne@gmail.com
|
|
license:
|
|
name: Apache 2.0
|
|
url: 'http://www.apache.org/licenses/LICENSE-2.0.html'
|
|
tags:
|
|
- name: status
|
|
description: websocket endpoint for receiving module revision events
|
|
- name: admin
|
|
description: account creation for portal backend.
|
|
- name: account
|
|
description: account configuration for portal backend. supports app attachment
|
|
- name: authorize
|
|
description: authorize holder of identity for external service
|
|
- name: profile
|
|
description: getting and setting of the public profile
|
|
- name: detail
|
|
description: attribute management associated with profile
|
|
- name: alias
|
|
description: group management for showing attributes
|
|
- name: content
|
|
description: article management for hosted data
|
|
- name: contact
|
|
description: card management for referencing contacts
|
|
- name: share
|
|
description: channel management for hosting communication
|
|
|
|
paths:
|
|
|
|
# Concetps:
|
|
## access tokens for bearer auth:prefix for bearer tokens types
|
|
### app: app_
|
|
### contact: cnt_
|
|
### attach: atc_
|
|
### reset: res_
|
|
### create: act_
|
|
## subject based content provides external definition of datatypes
|
|
|
|
/status:
|
|
get:
|
|
tags:
|
|
- status
|
|
description: Websocket placeholder endpoint for receiving account status updates
|
|
operationId: status
|
|
responses:
|
|
'200':
|
|
description: Awaiting announce
|
|
|
|
/admin/claimable:
|
|
get:
|
|
tags:
|
|
- admin
|
|
description: Check if portal params have been set
|
|
operationId: get-node-claimable
|
|
responses:
|
|
'200':
|
|
description: success
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: boolean
|
|
'500':
|
|
description: internal server error
|
|
|
|
/admin/claim:
|
|
post:
|
|
tags:
|
|
- admin
|
|
description: Set admin password and node domain
|
|
operationId: set-node-claim
|
|
security:
|
|
- basicCredentials: []
|
|
parameters:
|
|
- name: domain
|
|
in: query
|
|
description: domain of node
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: success
|
|
'401':
|
|
description: permission denied
|
|
'500':
|
|
description: internal server error
|
|
|
|
/admin/config:
|
|
get:
|
|
tags:
|
|
- admin
|
|
description: Get node configuration. Access granted to admin username and password.
|
|
operationId: get-node-config
|
|
security:
|
|
- basicAuth: []
|
|
responses:
|
|
'200':
|
|
description: success
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NodeConfig'
|
|
'401':
|
|
description: permission denied
|
|
'500':
|
|
description: internal server error
|
|
put:
|
|
tags:
|
|
- admin
|
|
description: Set node config. Access granted to admin username and password.
|
|
operationId: set-node-config
|
|
security:
|
|
- basicAuth: []
|
|
responses:
|
|
'200':
|
|
description: success
|
|
'401':
|
|
description: permission denide
|
|
'500':
|
|
description: internal server error
|
|
|
|
/admin/accounts:
|
|
get:
|
|
tags:
|
|
- admin
|
|
description: Get list of accounts hosted on node. Access granted to admin username and password.
|
|
operationId: get-node-accounts
|
|
security:
|
|
- basicAuth: []
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Account'
|
|
'401':
|
|
description: invalid password
|
|
'404':
|
|
description: handle not found
|
|
'500':
|
|
description: internal server error
|
|
post:
|
|
tags:
|
|
- admin
|
|
description: Gernerate a url for creating a new account. Access granted to admin username and password.
|
|
operationId: add-node-account
|
|
security:
|
|
- basicAuth: []
|
|
responses:
|
|
'201':
|
|
description: success
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: string
|
|
'401':
|
|
description: invalid password
|
|
'500':
|
|
description: internal server error
|
|
|
|
/admin/accounts/{accountId}/reset:
|
|
put:
|
|
tags:
|
|
- admin
|
|
description: Generate a password reset url for specified account. Access granted to admin username and password.
|
|
operationId: set-node-account
|
|
security:
|
|
- basicAuth: []
|
|
parameters:
|
|
- name: accountId
|
|
in: path
|
|
description: id of profile to access
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'201':
|
|
description: success
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: string
|
|
'401':
|
|
description: invalid password
|
|
'404':
|
|
description: unknown portal
|
|
'500':
|
|
description: internal server error
|
|
|
|
/admin/accounts/{accountId}/image:
|
|
get:
|
|
tags:
|
|
- admin
|
|
description: Get profile image of specified account. Access granted to admin username and password
|
|
operationId: get-node-account-image
|
|
security:
|
|
- basicAuth: []
|
|
parameters:
|
|
- name: accountId
|
|
in: path
|
|
description: id of specified account
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: success
|
|
content:
|
|
application/octet-stream: # content specific
|
|
schema:
|
|
type: string
|
|
format: binary
|
|
'401':
|
|
description: permission denied
|
|
'405':
|
|
description: invalid image
|
|
'500':
|
|
description: internal server error
|
|
|
|
/admin/accounts/{accountId}:
|
|
delete:
|
|
tags:
|
|
- admin
|
|
description: Remove account from node. Access granted to admin username and password.
|
|
operationId: remove-node-account
|
|
security:
|
|
- basicAuth: []
|
|
parameters:
|
|
- name: accountId
|
|
in: path
|
|
description: id of account to delete
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
'401':
|
|
description: invalid authentication
|
|
'404':
|
|
description: account not found
|
|
'500':
|
|
description: internal server error
|
|
|
|
/admin/accounts/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
|
|
|
|
/account/public/claimable:
|
|
get:
|
|
tags:
|
|
- account
|
|
description: Check if a public account can be created.
|
|
operationId: get-public-claimable
|
|
responses:
|
|
'200':
|
|
description: success
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: boolean
|
|
'500':
|
|
description: internal server error
|
|
|
|
/account/public/profile:
|
|
post:
|
|
tags:
|
|
- account
|
|
description: Add a new account. Basic auth will be used for the accounts username and password. Access granted to when public account available.
|
|
operationId: add-public-account
|
|
security:
|
|
- bearerAuth: []
|
|
- basicCredentials: []
|
|
responses:
|
|
'201':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Profile'
|
|
'400':
|
|
description: invalid handle or password
|
|
'406':
|
|
description: accounts not available
|
|
'500':
|
|
description: internal server error
|
|
|
|
/account/claimable:
|
|
get:
|
|
tags:
|
|
- account
|
|
description: Check if username is available. Access granted account reset token or account create token.
|
|
operationId: get-account-username
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: username
|
|
in: query
|
|
description: username to check
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: success
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: boolean
|
|
'401':
|
|
description: permission denied
|
|
'500':
|
|
description: internal server error
|
|
|
|
/account/token:
|
|
get:
|
|
tags:
|
|
- account
|
|
description: Check if account reset token or account create token is valid. Access granted to valid create or reset token.
|
|
operationId: get-account-token
|
|
security:
|
|
- bearerAuth: []
|
|
responses:
|
|
'200':
|
|
description: success
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: string
|
|
'401':
|
|
description: permission denied
|
|
'500':
|
|
description: internal server error
|
|
|
|
/account/did:
|
|
get:
|
|
tags:
|
|
- account
|
|
description: Retrieve account DIDkey. Authorized to account username and password.
|
|
operationId: get-account-did
|
|
security:
|
|
- basicAuth: []
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: string
|
|
'401':
|
|
description: authentication error
|
|
'500':
|
|
description: internal server error
|
|
|
|
/account/status:
|
|
get:
|
|
tags:
|
|
- account
|
|
description: Get disabled status of account. Authorized to account username and password.
|
|
operationId: get-account-status
|
|
security:
|
|
- basicAuth: []
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AccountStatus'
|
|
'401':
|
|
description: authentication error
|
|
'500':
|
|
description: internal server error
|
|
|
|
/account/profile:
|
|
get:
|
|
tags:
|
|
- account
|
|
description: Get account profile. Access granted to account's username and password.
|
|
operationId: get-account-profile
|
|
security:
|
|
- basicAuth: []
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Profile'
|
|
'401':
|
|
description: authentication error
|
|
'500':
|
|
description: internal server error
|
|
post:
|
|
tags:
|
|
- account
|
|
description: Add a new account. Basic auth will be used for the accounts username and password. Access granted to valid create account token.
|
|
operationId: add-account
|
|
security:
|
|
- bearerAuth: []
|
|
- basicCredentials: []
|
|
responses:
|
|
'201':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Profile'
|
|
'400':
|
|
description: invalid handle or password
|
|
'401':
|
|
description: permission denied
|
|
'500':
|
|
description: internal server error
|
|
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
|
|
|
|
/account/profile/image:
|
|
get:
|
|
tags:
|
|
- account
|
|
description: Get profile image. Access granted to account's username and password
|
|
operationId: get-account-image
|
|
security:
|
|
- basicAuth: []
|
|
responses:
|
|
'200':
|
|
description: success
|
|
content:
|
|
application/octet-stream: # content specific
|
|
schema:
|
|
type: string
|
|
format: binary
|
|
'401':
|
|
description: permission denied
|
|
'405':
|
|
description: invalid image
|
|
'500':
|
|
description: internal server error
|
|
|
|
/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
|
|
|
|
/account/auth:
|
|
post:
|
|
tags:
|
|
- account
|
|
description: Generate token to reset authentication. Access granted to account's login and password.
|
|
operationId: add-account-authentication
|
|
security:
|
|
- basicAuth: []
|
|
responses:
|
|
'201':
|
|
description: generated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: string
|
|
'401':
|
|
description: invalid password
|
|
'500':
|
|
description: internal server error
|
|
put:
|
|
tags:
|
|
- account
|
|
description: Apply account reset token to set handle and password. Basic auth will be used for new login and password. Access granted to valid reset token.
|
|
operationId: set-account-authentication
|
|
security:
|
|
- bearerAuth: []
|
|
- basicAuth: []
|
|
responses:
|
|
'201':
|
|
description: success
|
|
'401':
|
|
description: permission denied
|
|
'500':
|
|
description: internal server error
|
|
|
|
/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
|
|
|
|
/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
|
|
post:
|
|
tags:
|
|
- account
|
|
description: Generate token to attach an app to the account. Access granted to account's username and password.
|
|
operationId: add-account-app
|
|
security:
|
|
- basicAuth: []
|
|
responses:
|
|
'201':
|
|
description: generated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: string
|
|
'401':
|
|
description: invalid password
|
|
'410':
|
|
description: account disabled
|
|
'500':
|
|
description: internal server error
|
|
put:
|
|
tags:
|
|
- account
|
|
description: Apply the token to attach an app to the account. Access granted to valid attach token.
|
|
operationId: set-account-app
|
|
security:
|
|
- bearerAuth: []
|
|
responses:
|
|
'201':
|
|
description: generated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: string
|
|
'401':
|
|
description: invalid token
|
|
'406':
|
|
description: app limit reached
|
|
'410':
|
|
description: account disabled
|
|
'500':
|
|
description: internal server error
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AppData'
|
|
|
|
/account/apps/{appId}:
|
|
delete:
|
|
tags:
|
|
- account
|
|
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
|
|
'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
|
|
|
|
/authorize:
|
|
put:
|
|
tags:
|
|
- authorize
|
|
description: Retrieve an authenticate data messaging verifying the account holder is accepting the action referenced by the token.
|
|
operationId: authorize
|
|
security:
|
|
- bearerAuth: []
|
|
responses:
|
|
'200':
|
|
description: success
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/DataMessage'
|
|
'401':
|
|
description: permission denied
|
|
'410':
|
|
description: account disabled
|
|
'500':
|
|
description: internal server error
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: string
|
|
|
|
/profile:
|
|
get:
|
|
tags:
|
|
- profile
|
|
description: Get profile of accunt. Access granted to app token of account holder.
|
|
operationId: get-profile
|
|
security:
|
|
- bearerAuth: []
|
|
responses:
|
|
'200':
|
|
description: success
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Profile'
|
|
'401':
|
|
description: permission denied
|
|
'410':
|
|
description: account disabled
|
|
'500':
|
|
description: internal server error
|
|
|
|
/profile/data:
|
|
put:
|
|
tags:
|
|
- profile
|
|
description: Set profile data. Access granted to app tokens of account holder.
|
|
operationId: set-profile
|
|
security:
|
|
- bearerAuth: []
|
|
responses:
|
|
'200':
|
|
description: success
|
|
'401':
|
|
description: permission denied
|
|
'410':
|
|
description: account disabled
|
|
'500':
|
|
description: internal server error
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ProfileData'
|
|
|
|
/profile/image:
|
|
get:
|
|
tags:
|
|
- profile
|
|
description: Download base64 decoded data of profile image. Access granted to app tokens of account holder.
|
|
operationId: get-profile-image
|
|
security:
|
|
- bearerAuth: []
|
|
responses:
|
|
'200':
|
|
description: success
|
|
content:
|
|
application/octet-stream: # content specific
|
|
schema:
|
|
type: string
|
|
format: binary
|
|
'401':
|
|
description: permission denied
|
|
'405':
|
|
description: invalid image
|
|
'410':
|
|
description: account disabled
|
|
'500':
|
|
description: internal server error
|
|
put:
|
|
tags:
|
|
- profile
|
|
description: Set base64 encode image data for profile. Access granted to app tokens of account holder.
|
|
operationId: set-profile-image
|
|
security:
|
|
- bearerAuth: []
|
|
responses:
|
|
'200':
|
|
description: success
|
|
'401':
|
|
description: permission denied
|
|
'405':
|
|
description: invalid image
|
|
'410':
|
|
description: account disabled
|
|
'500':
|
|
description: internal server error
|
|
requestBody:
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
type: string
|
|
format: binary
|
|
|
|
/profile/message:
|
|
get:
|
|
tags:
|
|
- profile
|
|
description: Get a profile data message. Access granted to app token of account holder or contact token of connected contact.
|
|
operationId: get-profile-message
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- in: header
|
|
name: TokenType
|
|
schema:
|
|
type: string
|
|
enum: [ app, contact ]
|
|
required: true
|
|
responses:
|
|
'200':
|
|
description: success
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/DataMessage'
|
|
'401':
|
|
description: permission denied
|
|
'410':
|
|
description: account disabled
|
|
'500':
|
|
description: internal server error
|
|
|
|
/share/groups:
|
|
get:
|
|
tags:
|
|
- share
|
|
description: Get groups for sharing. Access granted to app tokens of the account holder.
|
|
operationId: get-groups
|
|
security:
|
|
- bearerAuth: []
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Group'
|
|
'401':
|
|
description: invalid token
|
|
'410':
|
|
description: account disabled
|
|
'500':
|
|
description: internal server error
|
|
post:
|
|
tags:
|
|
- share
|
|
description: Add a group for sharing. Access granted to app tokens of account holder.
|
|
operationId: add-group
|
|
security:
|
|
- bearerAuth: []
|
|
responses:
|
|
'200':
|
|
description: success
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Group'
|
|
'401':
|
|
description: permission denied
|
|
'410':
|
|
description: account disabled
|
|
'500':
|
|
description: internal server error
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Subject'
|
|
|
|
/share/groups/{groupId}:
|
|
put:
|
|
tags:
|
|
- share
|
|
description: Update group description for sharing. Access granted to app tokens of account holder.
|
|
operationId: update-group
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: groupId
|
|
in: path
|
|
description: specified group id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: success
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Group'
|
|
'401':
|
|
description: permission denied
|
|
'404':
|
|
description: group not found
|
|
'410':
|
|
description: account disabled
|
|
'500':
|
|
description: internal server error
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Subject'
|
|
delete:
|
|
tags:
|
|
- share
|
|
description: Remove sharing group
|
|
operationId: remove-group
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: groupId
|
|
in: path
|
|
description: specified group id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: success
|
|
'401':
|
|
description: permission denied
|
|
'404':
|
|
description: group not found
|
|
'410':
|
|
description: account disabled
|
|
'500':
|
|
description: internal server error
|
|
|
|
/contact/cards:
|
|
get:
|
|
tags:
|
|
- contact
|
|
description: Get list of cards. Access granted to app tokens of account holder.
|
|
operationId: get-cards
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: cardRevision
|
|
in: query
|
|
description: only return updated cards since specified revision
|
|
required: false
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Card'
|
|
'401':
|
|
description: permission denied
|
|
'410':
|
|
description: account disabled
|
|
'500':
|
|
description: internal server error
|
|
post:
|
|
tags:
|
|
- contact
|
|
description: Add a contact card. Access granted to app tokens of account holder.
|
|
operationId: add-card
|
|
security:
|
|
- bearerAuth: []
|
|
responses:
|
|
'200':
|
|
description: success
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/DataMessage'
|
|
'400':
|
|
description: invalid data message
|
|
'401':
|
|
description: permission denied
|
|
'410':
|
|
description: account disabled
|
|
'500':
|
|
description: internal server error
|
|
|
|
/contact/cards/{cardId}:
|
|
get:
|
|
tags:
|
|
- contact
|
|
description: Retieve card entry. Permission granted to app tokens for account holder.
|
|
operationId: get-card
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: cardId
|
|
in: path
|
|
description: specified card id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Card'
|
|
'401':
|
|
description: permission denied
|
|
'404':
|
|
description: card not found
|
|
'410':
|
|
description: account disabled
|
|
'500':
|
|
description: internal server error
|
|
delete:
|
|
tags:
|
|
- contact
|
|
description: Remove card entry. Access granted to app tokens of account holder.
|
|
operationId: remove-card
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: cardId
|
|
in: path
|
|
description: specified card id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: success
|
|
'401':
|
|
description: permission denied
|
|
'404':
|
|
description: card not found
|
|
'410':
|
|
description: account disabled
|
|
'500':
|
|
description: internal server error
|
|
|
|
/contact/cards/{cardId}/status:
|
|
put:
|
|
tags:
|
|
- contact
|
|
description: Updated connected status of contact. Access granted to app tokens of account holder.
|
|
operationId: set-card-status
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: cardId
|
|
in: path
|
|
description: specified card id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: token
|
|
in: query
|
|
description: token for accessing card
|
|
required: false # required for connected
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: success
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/CardDetail'
|
|
'401':
|
|
description: permission denied
|
|
'404':
|
|
description: card not found
|
|
'410':
|
|
description: account disabled
|
|
'500':
|
|
description: internal server error
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: string
|
|
enum: [ pending, confirmed, connecting, connected ]
|
|
|
|
/contact/cards/{cardId}/openMessage:
|
|
get:
|
|
tags:
|
|
- contact
|
|
description: Get message for connecting to other contacts. Access granted to app tokens for account holder.
|
|
operationId: get-open-message
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: cardId
|
|
in: path
|
|
description: specified card id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: success
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/DataMessage'
|
|
'401':
|
|
description: permission denied
|
|
'404':
|
|
description: card not found
|
|
'410':
|
|
description: account disabled
|
|
'500':
|
|
description: internal server error
|
|
|
|
/contact/openMessage:
|
|
put:
|
|
tags:
|
|
- contact
|
|
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
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ContactStatus'
|
|
'400':
|
|
description: invalid data message
|
|
'410':
|
|
description: account disabled
|
|
'500':
|
|
description: internal server error
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/DataMessage'
|
|
|
|
/contact/cards/{cardId}/closeMessage:
|
|
get:
|
|
tags:
|
|
- contact
|
|
description: Get message for closing connection with contact. Access granted to app tokens for account holder.
|
|
operationId: get-close-message
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: cardId
|
|
in: path
|
|
description: specified card id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/DataMessage'
|
|
'401':
|
|
description: permission denied
|
|
'404':
|
|
description: card not found
|
|
'410':
|
|
description: account disabled
|
|
'500':
|
|
description: internal server error
|
|
|
|
/contact/closeMessage:
|
|
put:
|
|
tags:
|
|
- contact
|
|
description: Set message for closing card connection. Access granted to public.
|
|
operationId: set-close-message
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required:
|
|
- status
|
|
properties:
|
|
token:
|
|
type: string
|
|
status:
|
|
type: string
|
|
enum: [ pending, confirmed, requested, connecting, connected ]
|
|
'400':
|
|
description: invalid data message
|
|
'410':
|
|
description: account disabled
|
|
'500':
|
|
description: internal server error
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/DataMessage'
|
|
|
|
/contact/cards/{cardId}/profile:
|
|
get:
|
|
tags:
|
|
- contact
|
|
description: Get profile of card entry. Access granted to app tokens of account holder.
|
|
operationId: get-card-profile
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: cardId
|
|
in: path
|
|
description: specified card id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/CardProfile'
|
|
'401':
|
|
description: permission denied
|
|
'404':
|
|
description: not found
|
|
'410':
|
|
description: account disabled
|
|
'500':
|
|
description: internal server error
|
|
put:
|
|
tags:
|
|
- contact
|
|
description: Set profile of card entry. Access granted to app tokens of account holder.
|
|
operationId: set-card-profile
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: cardId
|
|
in: path
|
|
description: specified card id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: success
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/DataMessage'
|
|
'401':
|
|
description: permission denied
|
|
'404':
|
|
description: card not found
|
|
'410':
|
|
description: account disabled
|
|
'500':
|
|
description: internal server error
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Profile'
|
|
|
|
/contact/cards/{cardId}/profile/image:
|
|
get:
|
|
tags:
|
|
- contact
|
|
description: Get image of card profile. Access granted to app tokens of account holder.
|
|
operationId: get-card-profile-image
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: cardId
|
|
in: path
|
|
description: specified card 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: card not found
|
|
'405':
|
|
description: invalid image
|
|
'410':
|
|
description: account disabled
|
|
'500':
|
|
description: internal server error
|
|
|
|
/contact/cards/{cardId}/detail:
|
|
get:
|
|
tags:
|
|
- contact
|
|
description: Get specified card detail. Access granted to app tokens for account holder.
|
|
operationId: get-card-detail
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: cardId
|
|
in: path
|
|
description: specified card id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: success
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/CardDetail'
|
|
'401':
|
|
description: permission denied
|
|
'404':
|
|
description: card not found
|
|
'410':
|
|
description: account disabled
|
|
'500':
|
|
description: internal server error
|
|
|
|
/contact/cards/{cardId}/notes:
|
|
put:
|
|
tags:
|
|
- contact
|
|
description: Update card notes for specified card. Access granted to app tokens for account holder.
|
|
operationId: set-card-notes
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: cardId
|
|
in: path
|
|
description: specified card id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: success
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/CardDetail'
|
|
'401':
|
|
description: permission denied
|
|
'404':
|
|
description: card not found
|
|
'410':
|
|
description: account disabled
|
|
'500':
|
|
description: internal server error
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: string
|
|
delete:
|
|
tags:
|
|
- contact
|
|
description: Clear notes for specified card. Access granted to app tokens of account holder.
|
|
operationId: clear-card-notes
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: cardId
|
|
in: path
|
|
description: specified card id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: success
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/CardDetail'
|
|
'401':
|
|
description: permission denied
|
|
'404':
|
|
description: card not found
|
|
'410':
|
|
description: account disabled
|
|
'500':
|
|
description: internal server error
|
|
|
|
/contact/cards/{cardId}/groups/{groupId}:
|
|
put:
|
|
tags:
|
|
- contact
|
|
description: Set sharing group for contact. Access granted to app tokens for account holder.
|
|
operationId: set-card-group
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: cardId
|
|
in: path
|
|
description: specified card id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: groupId
|
|
in: path
|
|
description: specified group id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: success
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/CardDetail'
|
|
'401':
|
|
description: permission denied
|
|
'404':
|
|
description: card or group not found
|
|
'410':
|
|
description: account disabled
|
|
'500':
|
|
description: internal server error
|
|
delete:
|
|
tags:
|
|
- contact
|
|
description: Clear sharing group for card. Access granted to app tokens for account holder.
|
|
operationId: clear-card-group
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: cardId
|
|
in: path
|
|
description: specified card id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: groupId
|
|
in: path
|
|
description: specified share id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: success
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/CardDetail'
|
|
'401':
|
|
description: permission denied
|
|
'404':
|
|
description: card or group not found
|
|
'410':
|
|
description: account disabled
|
|
'500':
|
|
description: internal server error
|
|
|
|
/contact/profile/revision:
|
|
put:
|
|
tags:
|
|
- contact
|
|
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
|
|
security:
|
|
- bearerAuth: []
|
|
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/content/revision:
|
|
put:
|
|
tags:
|
|
- contact
|
|
description: Set content 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-content-revision
|
|
security:
|
|
- bearerAuth: []
|
|
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/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
|
|
security:
|
|
- bearerAuth: []
|
|
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
|
|
|
|
/content/articles:
|
|
get:
|
|
tags:
|
|
- content
|
|
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
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: viewRevision
|
|
in: query
|
|
description: only return updated if view matches
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- name: contentRevision
|
|
in: query
|
|
description: only return updated if view matches
|
|
required: false
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
'401':
|
|
description: permission denied
|
|
'410':
|
|
description: account disabled
|
|
'500':
|
|
description: internal server error
|
|
post:
|
|
tags:
|
|
- content
|
|
description: Add a content article. Access granted to app token of the account holder.
|
|
operationId: add-article
|
|
security:
|
|
- bearerAuth: []
|
|
responses:
|
|
'201':
|
|
description: entry created
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ArticleEntry'
|
|
'401':
|
|
description: permission denied
|
|
'410':
|
|
description: account disabled
|
|
'500':
|
|
description: internal server error
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ArticleAccess'
|
|
|
|
/content/articles/{articleId}:
|
|
get:
|
|
tags:
|
|
- content
|
|
description: Get specified article. Access granted to app token of account holder or contact token of account the article is shared with.
|
|
operationId: get-article
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: articleId
|
|
in: path
|
|
description: specified article id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: success
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Article'
|
|
'401':
|
|
description: permission denied
|
|
'404':
|
|
description: article not found
|
|
'410':
|
|
description: account disabled
|
|
'500':
|
|
description: internal server error
|
|
delete:
|
|
tags:
|
|
- content
|
|
description: Remove specified article. Access granted to app token of account holder.
|
|
operationId: remove-article
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: articleId
|
|
in: path
|
|
description: specified article id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: success
|
|
'401':
|
|
description: invalid password
|
|
'404':
|
|
description: article not found
|
|
'410':
|
|
description: account disabled
|
|
'500':
|
|
description: internal server error
|
|
|
|
/content/articles/{articleId}/subject/{field}:
|
|
get:
|
|
tags:
|
|
- content
|
|
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
|
|
security:
|
|
- bearerAuth: []
|
|
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
|
|
responses:
|
|
'200':
|
|
description: success
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Article'
|
|
'401':
|
|
description: permission denied
|
|
'404':
|
|
description: field, article not found
|
|
'405':
|
|
description: invalid field
|
|
'410':
|
|
description: account disabled
|
|
'500':
|
|
description: internal server error
|
|
|
|
/content/articles/{articleId}/subject:
|
|
put:
|
|
tags:
|
|
- content
|
|
description: Set subject for article. Access granted to app token of account holder.
|
|
operationId: set-article-subject
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: articleId
|
|
in: path
|
|
description: specified article id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: success
|
|
'401':
|
|
description: permission denied
|
|
'404':
|
|
description: article not found
|
|
'410':
|
|
description: account disabled
|
|
'500':
|
|
description: internal server error
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required:
|
|
- type
|
|
- data
|
|
properties:
|
|
type:
|
|
type: string
|
|
data:
|
|
type: string
|
|
|
|
/content/articles/{articleId}/groups/{groupId}:
|
|
post:
|
|
tags:
|
|
- content
|
|
description: Assign a sharing group for the specified article. Contacts with the same sharing group will have access to the article. Access granted to app token of account holder.
|
|
operationId: set-article-group
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: articleId
|
|
in: path
|
|
description: specified article id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: groupId
|
|
in: path
|
|
description: specified share group id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: success
|
|
'401':
|
|
description: permission denied
|
|
'404':
|
|
description: group or article not found
|
|
'410':
|
|
description: account disabled
|
|
'500':
|
|
description: internal server error
|
|
delete:
|
|
tags:
|
|
- content
|
|
description: Remove article from sharing group. Unless the article is shared through other groups or channels contacts within that group will no longer have access to the article. Access granted to app tokens of the account holder.
|
|
operationId: clear-article-group
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: articleId
|
|
in: path
|
|
description: specified article id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: groupId
|
|
in: path
|
|
description: specified share id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: success
|
|
'401':
|
|
description: permission denied
|
|
'404':
|
|
description: group or article not found
|
|
'410':
|
|
description: account disabled
|
|
'500':
|
|
description: internal server error
|
|
|
|
/content/articles/{articleId}/channels/{channelId}:
|
|
post:
|
|
tags:
|
|
- content
|
|
description: Assign a channel to an article. If the channel has been assigned a sharing group the article will be accessible by contacts within that group. Access is granted to app tokens of the account holder.
|
|
operationId: set-article-channel
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: articleId
|
|
in: path
|
|
description: specified article id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: channelId
|
|
in: path
|
|
description: specified channel id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: success
|
|
'401':
|
|
description: permission denied
|
|
'404':
|
|
description: channel or article not found
|
|
'410':
|
|
description: account disabled
|
|
'500':
|
|
description: internal server error
|
|
delete:
|
|
tags:
|
|
- content
|
|
description: Remove a channel from an article. If the channel has been assigned a sharing group the article and the article is not shared in another way, the article will no longer be accessible to that group's contacts. Access is granted to app tokens of the account holder.
|
|
operationId: clear-article-channel
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: articleId
|
|
in: path
|
|
description: specified article id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: channelId
|
|
in: path
|
|
description: specified channel id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: success
|
|
'401':
|
|
description: permission denied
|
|
'404':
|
|
description: channel or article not found
|
|
'410':
|
|
description: account disabled
|
|
'500':
|
|
description: internal server error
|
|
|
|
/content/articles/{articleId}/assets:
|
|
get:
|
|
tags:
|
|
- content
|
|
description: Get list of assets assigned to an article. 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 article has been shared with.
|
|
operationId: get-article-assets
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: articleId
|
|
in: path
|
|
description: specified article id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'201':
|
|
description: entry created
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Asset'
|
|
'401':
|
|
description: invalid token
|
|
'410':
|
|
description: account disabled
|
|
'500':
|
|
description: internal server error
|
|
post:
|
|
tags:
|
|
- content
|
|
description: Add an an asset to the to an article. 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.
|
|
operationId: add-article-asset
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: articleId
|
|
in: path
|
|
description: specified article id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: transforms
|
|
in: query
|
|
description: transforms to apply
|
|
required: false
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
responses:
|
|
'201':
|
|
description: success
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Asset'
|
|
'401':
|
|
description: permission denied
|
|
'404':
|
|
description: article not found
|
|
'406':
|
|
description: storage limit reached
|
|
'410':
|
|
description: account disabled
|
|
'500':
|
|
description: internal server error
|
|
requestBody:
|
|
content:
|
|
multipart/form-data:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
fileName:
|
|
type: string
|
|
format: binary
|
|
|
|
/content/articles/{articleId}/assets/{assetId}:
|
|
get:
|
|
tags:
|
|
- content
|
|
description: Get asset assigned to an article. 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-article-asset
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: articleId
|
|
in: path
|
|
description: specified article id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: assetId
|
|
in: path
|
|
description: specified asset id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: success
|
|
content:
|
|
application/octet-stream: #asset specific
|
|
schema:
|
|
type: string
|
|
format: binary
|
|
'401':
|
|
description: permission denied
|
|
'404':
|
|
description: asset or article not found
|
|
'410':
|
|
description: account disabled
|
|
'500':
|
|
description: internal server error
|
|
delete:
|
|
tags:
|
|
- content
|
|
description: Remove an asset from an article. Access granted to app tokens of the account holder.
|
|
operationId: remove-article-asset
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: articleId
|
|
in: path
|
|
description: specified article id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: assetId
|
|
in: path
|
|
description: specified asset id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: success
|
|
'401':
|
|
description: permission denied
|
|
'404':
|
|
description: asset or article not found
|
|
'410':
|
|
description: account disabled
|
|
'500':
|
|
description: internal server error
|
|
|
|
/content/articles/{articleId}/confirmed:
|
|
put:
|
|
tags:
|
|
- content
|
|
description: Set confirmed state of the article. Until the confirmed state has been set to true, the article will not be visible to contacts with which the article is shared. Access granted to the app tokens of the acocunt holder.
|
|
operationId: set-article-confirmed
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: articleId
|
|
in: path
|
|
description: specified article id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: success
|
|
'401':
|
|
description: permission denied
|
|
'404':
|
|
description: article not found
|
|
'410':
|
|
description: account disabled
|
|
'500':
|
|
description: internal server error
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: boolean
|
|
|
|
/content/articles/{articleId}/tagBlocks/view:
|
|
get:
|
|
tags:
|
|
- content
|
|
description: Get view of tag blocks associated with specified article. Access granted to app tokens of account holder and contact tokens of account with which the article is shared.
|
|
operationId: get-article-tag-block-view
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: articleId
|
|
in: path
|
|
description: specified article id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: types
|
|
in: query
|
|
description: limit results to tags of types
|
|
required: false
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: success
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
revision:
|
|
type: integer
|
|
format: int64
|
|
'401':
|
|
description: permission denied
|
|
'404':
|
|
description: article not found
|
|
'410':
|
|
description: account disabled
|
|
'500':
|
|
description: internal server error
|
|
|
|
/content/articles/{articleId}/tagBlocks/{blockId}/view:
|
|
get:
|
|
tags:
|
|
- content
|
|
description: Get view of tags within speicified block. Access granted to app tokens of account holder and contact token of accounts with which the article is shared.
|
|
operationId: get-article-tag-view
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: articleId
|
|
in: path
|
|
description: specified article id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: blockId
|
|
in: path
|
|
description: specified block id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: types
|
|
in: query
|
|
description: limit results to tags of types
|
|
required: false
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: success
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
revision:
|
|
type: integer
|
|
format: int64
|
|
'401':
|
|
description: permission denied
|
|
'404':
|
|
description: block or article not found
|
|
'410':
|
|
description: account disabled
|
|
'500':
|
|
description: internal server error
|
|
|
|
/content/articles/{articleId}/tagBlocks/{blockId}:
|
|
get:
|
|
tags:
|
|
- content
|
|
description: Get tags within specified block. Access granted to app tokens of account holder and contact tokens of accounts with which the article is shared.
|
|
operationId: get-article-tags
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: articleId
|
|
in: path
|
|
description: specified article id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: blockId
|
|
in: path
|
|
description: specified block id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: types
|
|
in: query
|
|
description: limit results to tags of types
|
|
required: false
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: success
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
revision:
|
|
type: integer
|
|
format: int64
|
|
'401':
|
|
description: permission denied
|
|
'404':
|
|
description: block or article not found
|
|
'410':
|
|
description: account disabled
|
|
'500':
|
|
description: internal server error
|
|
|
|
/content/articles/{articleId}/tags:
|
|
post:
|
|
tags:
|
|
- content
|
|
description: Add a tag to an article. Access granted to app tokens of the account holder and contact tokens of accounts with which the article is shared.
|
|
operationId: add-article-tag
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: articleId
|
|
in: path
|
|
description: specified article id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: success
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
blockId:
|
|
type: string
|
|
blockRevision:
|
|
type: integer
|
|
format: int64
|
|
tag:
|
|
$ref: '#/components/schemas/Tag'
|
|
'401':
|
|
description: permission denied
|
|
'404':
|
|
description: article not found
|
|
'410':
|
|
description: account disabled
|
|
'500':
|
|
description: internal server error
|
|
|
|
/content/articles/{articleId}/tags/{tagId}:
|
|
get:
|
|
tags:
|
|
- content
|
|
description: Get specified tag. Access granted to app tokens of account holder and contact tokens of accounts with which the article is shared.
|
|
operationId: get-article-tag
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: articleId
|
|
in: path
|
|
description: specified article id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: tagId
|
|
in: path
|
|
description: specified tag id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: success
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Tag'
|
|
'401':
|
|
description: permission denied
|
|
'404':
|
|
description: tag or article not found
|
|
'410':
|
|
description: account disabled
|
|
'500':
|
|
description: internal server error
|
|
delete:
|
|
tags:
|
|
- content
|
|
description: Remove a tag from an article. Access granted to app tokens of account holder and the contact tokens of the account that created the tag.
|
|
operationId: remove-article-tag
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: articleId
|
|
in: path
|
|
description: specified article id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: tagId
|
|
in: path
|
|
description: specified tag id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: success
|
|
'401':
|
|
description: permission denied
|
|
'404':
|
|
description: tag or article not found
|
|
'410':
|
|
description: account disabled
|
|
'500':
|
|
description: internal server error
|
|
|
|
/content/articles/{articleId}/tags/{tagId}/subject/{field}:
|
|
get:
|
|
tags:
|
|
- content
|
|
description: Base64 decode and retrieve specified tag on the article. Access granted to app tokens of account holder and contact tokens of accounts with which the article is shared.
|
|
operationId: get-article-tag-subject-field
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: articleId
|
|
in: path
|
|
description: specified article id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: tagId
|
|
in: path
|
|
description: specified tag id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: field
|
|
in: path
|
|
description: field to base64 decode and transfer
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: success
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Tag'
|
|
'401':
|
|
description: permission denied
|
|
'404':
|
|
description: field, tag or article not found
|
|
'405':
|
|
description: invalid field
|
|
'410':
|
|
description: account disabled
|
|
'500':
|
|
description: internal server error
|
|
|
|
/content/channels:
|
|
get:
|
|
tags:
|
|
- content
|
|
description: Get channels with which to organize the articles. Contacts requesting the channels will only retrieve the channels with which they are shared. Access granted to the app tokens of the account holder and connected contact tokens.
|
|
operationId: get-channels
|
|
security:
|
|
- bearerAuth: []
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Channel'
|
|
'401':
|
|
description: invalid token
|
|
'410':
|
|
description: account disabled
|
|
'500':
|
|
description: internal server error
|
|
post:
|
|
tags:
|
|
- content
|
|
description: Add a new channel for organizing the articles. Access granted to the app tokens of the account holder.
|
|
operationId: add-channel
|
|
security:
|
|
- bearerAuth: []
|
|
responses:
|
|
'200':
|
|
description: success
|
|
'401':
|
|
description: permission denied
|
|
'410':
|
|
description: account disabled
|
|
'500':
|
|
description: internal server error
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Subject'
|
|
|
|
/content/channels/{channelId}:
|
|
put:
|
|
tags:
|
|
- content
|
|
description: Update specified channel. Access granted to app tokens of the account holder.
|
|
operationId: update-channel
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: channelId
|
|
in: path
|
|
description: specified group id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
'401':
|
|
description: invalid token
|
|
'410':
|
|
description: account disabled
|
|
'500':
|
|
description: internal server error
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Subject'
|
|
delete:
|
|
tags:
|
|
- content
|
|
description: Remove specified channel. Access granted the the app tokens of the account holder.
|
|
operationId: remove-channel
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: channelId
|
|
in: path
|
|
description: specified channel id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: success
|
|
'401':
|
|
description: permission denied
|
|
'404':
|
|
description: channel not found
|
|
'410':
|
|
description: account disabled
|
|
'500':
|
|
description: internal server error
|
|
|
|
|
|
/content/channels/{channelId}/groups/{groupId}:
|
|
post:
|
|
tags:
|
|
- content
|
|
description: Set a sharing group for the channel and articles assigned to the channel. Access granted to app tokens of the account holder.
|
|
operationId: set-channel-group
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: channelId
|
|
in: path
|
|
description: specified channel id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: groupId
|
|
in: path
|
|
description: specified group id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: success
|
|
'401':
|
|
description: permission denied
|
|
'404':
|
|
description: group or channel not found
|
|
'410':
|
|
description: account disabled
|
|
'500':
|
|
description: internal server error
|
|
delete:
|
|
tags:
|
|
- content
|
|
description: Clear a sharing group from a channel. Access granted to app tokens of the account holder.
|
|
operationId: clear-channel-group
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- name: channelId
|
|
in: path
|
|
description: specified channel id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: groupId
|
|
in: path
|
|
description: specified group id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: success
|
|
'401':
|
|
description: permission denied
|
|
'404':
|
|
description: group or channel not found
|
|
'410':
|
|
description: account disabled
|
|
'500':
|
|
description: internal server error
|
|
|
|
externalDocs:
|
|
description: App overview
|
|
url: ''
|
|
|
|
components:
|
|
schemas:
|
|
|
|
Announce:
|
|
type: object
|
|
required:
|
|
- appToken
|
|
properties:
|
|
appToken:
|
|
type: string
|
|
|
|
Revision:
|
|
type: object
|
|
required:
|
|
- profile
|
|
- attribute
|
|
- article
|
|
- group
|
|
- channel
|
|
- card
|
|
properties:
|
|
profile:
|
|
type: integer
|
|
format: int64
|
|
attribute:
|
|
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
|
|
- publicLimit
|
|
- accountStorage
|
|
properties:
|
|
domain:
|
|
type: string
|
|
publicLimit:
|
|
type: integer
|
|
format: int64
|
|
accountStorage:
|
|
type: integer
|
|
format: int64
|
|
|
|
AccountStatus:
|
|
type: object
|
|
required:
|
|
- disabled
|
|
- storageUsed
|
|
- storageAvailable
|
|
- forwardingAddress
|
|
properties:
|
|
disabled:
|
|
type: boolean
|
|
storageUsed:
|
|
type: number
|
|
format: int64
|
|
storageAvailable:
|
|
type: number
|
|
format: int64
|
|
forwardingAddress:
|
|
type: string
|
|
|
|
Profile:
|
|
type: object
|
|
required:
|
|
- guid
|
|
- revision
|
|
- node
|
|
properties:
|
|
guid:
|
|
type: string
|
|
handle:
|
|
type: string
|
|
name:
|
|
type: string
|
|
description:
|
|
type: string
|
|
location:
|
|
type: string
|
|
image:
|
|
type: string
|
|
format: base64 encoded data
|
|
revision:
|
|
type: integer
|
|
format: int64
|
|
version:
|
|
type: string
|
|
node:
|
|
type: string
|
|
|
|
ProfileData:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
description:
|
|
type: string
|
|
location:
|
|
type: string
|
|
|
|
Account:
|
|
type: object
|
|
required:
|
|
- accountId
|
|
- profile
|
|
- disabled
|
|
properties:
|
|
accountId:
|
|
type: string
|
|
profile:
|
|
$ref: '#/components/schemas/Profile'
|
|
disabled:
|
|
type: boolean
|
|
|
|
App:
|
|
type: object
|
|
required:
|
|
- appId
|
|
- appData
|
|
- attached
|
|
properties:
|
|
appId:
|
|
type: string
|
|
appData:
|
|
$ref: '#/components/schemas/AppData'
|
|
attached:
|
|
type: integer
|
|
format: int64
|
|
|
|
AppData:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
description:
|
|
type: string
|
|
url:
|
|
type: string
|
|
image:
|
|
type: string
|
|
format: base64 encoded image
|
|
|
|
CardProfile:
|
|
type: object
|
|
required:
|
|
- node
|
|
properties:
|
|
revision:
|
|
type: integer
|
|
format: int64
|
|
handle:
|
|
type: string
|
|
name:
|
|
type: string
|
|
description:
|
|
type: string
|
|
location:
|
|
type: string
|
|
imageSet:
|
|
type: boolean
|
|
version:
|
|
type: string
|
|
node:
|
|
type: string
|
|
|
|
CardDetail:
|
|
type: object
|
|
required:
|
|
- revision
|
|
properties:
|
|
revision:
|
|
type: integer
|
|
format: int64
|
|
notes:
|
|
type: string
|
|
groups:
|
|
type: array
|
|
items:
|
|
type: string
|
|
|
|
Card:
|
|
type: object
|
|
required:
|
|
- cardId
|
|
- revision
|
|
- cardData
|
|
properties:
|
|
cardId:
|
|
type: string
|
|
revision:
|
|
type: number
|
|
format: int64
|
|
cardData:
|
|
$ref: '#/components/schemas/CardData'
|
|
|
|
|
|
CardData:
|
|
type: object
|
|
required:
|
|
- guid
|
|
- status
|
|
- token
|
|
- detailRevision
|
|
- profileRevision
|
|
- notifiedProfile
|
|
- notifiedContent
|
|
- notifiedChannel
|
|
- notifiedView
|
|
properties:
|
|
guid:
|
|
type: string
|
|
status:
|
|
type: string
|
|
enum: [ pending, confirmed, requested, connecting, connected ]
|
|
token:
|
|
type: string
|
|
detailRevision:
|
|
type: integer
|
|
format: int64
|
|
profileRevision:
|
|
type: integer
|
|
format: int64
|
|
notifiedProfile:
|
|
type: integer
|
|
format: int64
|
|
notifiedContent:
|
|
type: integer
|
|
format: int64
|
|
notifiedChannel:
|
|
type: integer
|
|
format: int64
|
|
notifiedView:
|
|
type: integer
|
|
format: int64
|
|
|
|
Asset:
|
|
type: object
|
|
required:
|
|
- assetId
|
|
properties:
|
|
assetId:
|
|
type: string
|
|
transform:
|
|
type: string
|
|
status:
|
|
type: string
|
|
enum: [ pending, processing, ready, error ]
|
|
|
|
ArticleAccess:
|
|
type: object
|
|
required:
|
|
- channels
|
|
- groups
|
|
properties:
|
|
channels:
|
|
type: array
|
|
items:
|
|
type: string
|
|
groups:
|
|
type: array
|
|
items:
|
|
type: string
|
|
|
|
ArticleEntry:
|
|
type: object
|
|
required:
|
|
- articleBlockId
|
|
- article
|
|
properties:
|
|
articleBlockId:
|
|
type: string
|
|
article:
|
|
$ref: '#/components/schemas/Article'
|
|
|
|
Group:
|
|
type: object
|
|
required:
|
|
- groupId
|
|
- revision
|
|
- groupData
|
|
properties:
|
|
groupId:
|
|
type: string
|
|
revision:
|
|
type: integer
|
|
format: int64
|
|
groupData:
|
|
$ref: '#/components/schemas/GroupData'
|
|
|
|
GroupData:
|
|
type: object
|
|
required:
|
|
- dataType
|
|
- data
|
|
- created
|
|
- updated
|
|
properties:
|
|
dataType:
|
|
type: string
|
|
data:
|
|
type: string
|
|
created:
|
|
type: integer
|
|
format: int64
|
|
updated:
|
|
type: integer
|
|
format: int64
|
|
|
|
Channel:
|
|
type: object
|
|
required:
|
|
- channelId
|
|
- revision
|
|
- channelData
|
|
properties:
|
|
channelId:
|
|
type: string
|
|
revision:
|
|
type: string
|
|
channelData:
|
|
$ref: '#/components/schemas/ChannelData'
|
|
|
|
ChannelData:
|
|
type: object
|
|
required:
|
|
- type
|
|
- data
|
|
- created
|
|
- updated
|
|
properties:
|
|
type:
|
|
type: string
|
|
data:
|
|
type: string
|
|
created:
|
|
type: integer
|
|
format: int64
|
|
updated:
|
|
type: integer
|
|
format: int64
|
|
groups: # present only in account holder responses
|
|
type: array
|
|
items:
|
|
type: string
|
|
|
|
Topic:
|
|
type: object
|
|
required:
|
|
- topicId
|
|
- revision
|
|
- topicData
|
|
properties:
|
|
topicId:
|
|
type: string
|
|
revision:
|
|
type: string
|
|
topicData:
|
|
$ref: '#/components/schemas/TopicData'
|
|
|
|
TopicData:
|
|
type: object
|
|
required:
|
|
- dataType
|
|
- data
|
|
- created
|
|
- modified
|
|
- status
|
|
- tagCount
|
|
- tagUpdated
|
|
- tagRevision
|
|
properties:
|
|
dataType:
|
|
type: string
|
|
data:
|
|
type: string
|
|
created:
|
|
type: integer
|
|
format: int64
|
|
modified:
|
|
type: integer
|
|
format: int64
|
|
status:
|
|
type: string
|
|
enum: [ unconfirmed, confirmed, complete, error ]
|
|
tagCount:
|
|
type: integer
|
|
format: int32
|
|
tagUpdate:
|
|
type: integer
|
|
format: int64
|
|
tagRevision:
|
|
type: integer
|
|
format: int64
|
|
|
|
Attribute:
|
|
type: object
|
|
required:
|
|
- attributeId
|
|
- revision
|
|
- attributeData
|
|
properties:
|
|
attributeId:
|
|
type: string
|
|
revision:
|
|
type: string
|
|
attributeData:
|
|
$ref: '#/components/schemas/AttributeData'
|
|
|
|
AttributeData:
|
|
type: object
|
|
required:
|
|
- article
|
|
- tagRevision
|
|
- tagCount
|
|
- tagUpdated
|
|
properties:
|
|
article:
|
|
$ref: '#/components/schemas/AttributeData'
|
|
groups: # present only in account holder responses
|
|
type: array
|
|
items:
|
|
type: string
|
|
tagCount:
|
|
type: integer
|
|
format: int32
|
|
tagUpdate:
|
|
type: integer
|
|
format: int64
|
|
tagRevision:
|
|
type: integer
|
|
format: int64
|
|
|
|
Tag:
|
|
type: object
|
|
required:
|
|
- tagId
|
|
- revision
|
|
- tagData
|
|
properties:
|
|
tagId:
|
|
type: string
|
|
revision:
|
|
type: string
|
|
tagData:
|
|
$ref: '#/components/schemas/TagData'
|
|
|
|
TagData:
|
|
type: object
|
|
required:
|
|
- dataType
|
|
- data
|
|
- created
|
|
- updated
|
|
properties:
|
|
dataType:
|
|
type: string
|
|
data:
|
|
type: string
|
|
created:
|
|
type: integer
|
|
format: int64
|
|
updated:
|
|
type: integer
|
|
format: int64
|
|
|
|
Article:
|
|
type: object
|
|
required:
|
|
- articleId
|
|
- revision
|
|
- status
|
|
properties:
|
|
articleId:
|
|
type: string
|
|
revision:
|
|
type: string
|
|
dataType:
|
|
type: string
|
|
data:
|
|
type: string
|
|
created:
|
|
type: integer
|
|
format: int64
|
|
updated:
|
|
type: integer
|
|
format: int64
|
|
status:
|
|
type: string
|
|
enum: [ unconfirmed, confirmed, incomplete, error ]
|
|
|
|
Subject:
|
|
type: object
|
|
required:
|
|
- dataType
|
|
- data
|
|
properties:
|
|
dataType:
|
|
type: string
|
|
data:
|
|
type: string
|
|
|
|
Authenticate:
|
|
type: object
|
|
required:
|
|
- token
|
|
properties:
|
|
token:
|
|
type: string
|
|
|
|
Identity:
|
|
type: object
|
|
required:
|
|
- revision
|
|
- version
|
|
- node
|
|
properties:
|
|
revision:
|
|
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
|
|
node:
|
|
type: string
|
|
|
|
Connect:
|
|
type: object
|
|
required:
|
|
- contact
|
|
- token
|
|
properties:
|
|
contact:
|
|
type: string
|
|
token:
|
|
type: string
|
|
viewRevision:
|
|
type: integer
|
|
format: int64
|
|
contentRevision:
|
|
type: integer
|
|
format: int64
|
|
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
|
|
node:
|
|
type: string
|
|
|
|
Disconnect:
|
|
type: object
|
|
required:
|
|
- contact
|
|
properties:
|
|
contact:
|
|
type: string
|
|
|
|
SignedData:
|
|
type: object
|
|
required:
|
|
- guid
|
|
- timestamp
|
|
- messageType
|
|
- value
|
|
properties:
|
|
guid:
|
|
type: string
|
|
timestamp:
|
|
type: integer
|
|
format: int64
|
|
messageType:
|
|
type: string
|
|
enum: [Connect, Disconnect, Identity, Authenticate]
|
|
value:
|
|
type: string
|
|
format: json string of Connect, Disconnect, Authenticate, or Profile
|
|
|
|
ContactStatus:
|
|
type: object
|
|
required:
|
|
- status
|
|
properties:
|
|
token:
|
|
type: string
|
|
status:
|
|
type: string
|
|
enum: [ pending, confirmed, requested, connecting, connected ]
|
|
|
|
DataMessage:
|
|
type: object
|
|
required:
|
|
- message
|
|
- keyType
|
|
- publicKey
|
|
- signature
|
|
- signatureType
|
|
properties:
|
|
message:
|
|
type: string
|
|
format: base64 encoded json string of SignedData
|
|
keyType:
|
|
type: string
|
|
enum: [RSA4096, RSA2048]
|
|
publicKey:
|
|
type: string
|
|
format: base64 encoding of account public key
|
|
signature:
|
|
type: string
|
|
format: base64 encoding of message signature
|
|
signatureType:
|
|
type: string
|
|
enum: [PKCS1v15, PSS]
|
|
|
|
|
|
securitySchemes:
|
|
|
|
basicAuth:
|
|
type: http
|
|
scheme: basic
|
|
|
|
basicCredentials:
|
|
type: http
|
|
scheme: basic
|
|
|
|
bearerAuth:
|
|
type: http
|
|
scheme: bearer
|
|
|
|
|