DataBag

DataBag provides storage for decentralized identity based self-hosting apps. It is intended to support sharing of personal data and hosting group conversations.
More information: https://helloreverb.com
Contact Info: roland.osborne@gmail.com
Version: 0.0.1
Apache 2.0
http://www.apache.org/licenses/LICENSE-2.0.html

Access

  1. HTTP Basic Authentication

Methods

[ Jump to Models ]

Table of Contents

Account

Admin

Authenticate

Contact

Content

Conversation

Profile

Share

Status

Account

Up
post /account/profile
(addAccount)
Add a new account. Basic auth will be used for the accounts username and password. Access granted to valid create account token.

Return type

Profile

Example data

Content-Type: application/json
{
  "image" : "image",
  "node" : "node",
  "name" : "name",
  "description" : "description",
  "handle" : "handle",
  "location" : "location",
  "version" : "version",
  "did" : "did",
  "revision" : 0
}

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

201

successful operation Profile

400

invalid handle or password

401

invalid bearer token

500

internal server error

Up
post /account/apps
(addAccountApp)
Generate token to attach an app to the account. Access granted to account's username and password.

Return type

String

Example data

Content-Type: application/json
""

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

201

generated String

401

invalid password

500

internal server error

Up
post /account/auth
(addAccountAuthentication)
Generate token to reset authentication. Access granted to account's login and password.

Return type

String

Example data

Content-Type: application/json
""

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

201

generated String

401

invalid password

500

internal server error

Up
get /account/apps
(getAccountApps)
Get list of attached apps to account. Access granted to account's username and password.

Return type

array[App]

Example data

Content-Type: application/json
[ {
  "appId" : "appId",
  "attached" : 0,
  "appData" : {
    "image" : "image",
    "name" : "name",
    "description" : "description",
    "url" : "url"
  }
}, {
  "appId" : "appId",
  "attached" : 0,
  "appData" : {
    "image" : "image",
    "name" : "name",
    "description" : "description",
    "url" : "url"
  }
} ]

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

200

success

401

permission denied

500

internal server error

Up
get /account/profile/image
(getAccountImage)
Get profile image. Access granted to account's username and password

Return type

byte[]

Example data

Content-Type: application/json
""

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

200

success byte[]

401

permission denied

405

invalid image

500

internal server error

Up
get /account/profile
(getAccountProfile)
Get account profile. Access granted to account's username and password.

Return type

Profile

Example data

Content-Type: application/json
{
  "image" : "image",
  "node" : "node",
  "name" : "name",
  "description" : "description",
  "handle" : "handle",
  "location" : "location",
  "version" : "version",
  "did" : "did",
  "revision" : 0
}

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

200

successful operation Profile

401

authentication error

500

internal server error

Up
get /account/token
(getAccountToken)
Check if account reset token or account create token is valid. Access granted to valid create or reset token.

Responses

200

success

401

permission denied

500

internal server error

Up
get /account/claimable
(getAccountUsername)
Check if username is available. Access granted account reset token or account create token.

Query parameters

username (required)
Query Parameter — username to check

Responses

200

success

401

permission denied

406

username already claimed

500

internal server error

Up
delete /account/apps/{appId}
(removeAccountApp)
Get list of attached apps. Access granted to account's username and password.

Path parameters

appId (required)
Path Parameter — specified app id

Responses

200

successful operation

401

invalid password

404

app not found

500

internal server error

Up
put /account/apps
(setAccountApp)
Apply the token to attach an app to the account. Access granted to valid attach token.

Consumes

This API call consumes the following media types via the Content-Type request header:

Request body

body AppData (optional)
Body Parameter

Return type

String

Example data

Content-Type: application/json
""

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

201

generated String

401

invalid token

406

app limit reached

500

internal server error

Up
put /account/auth
(setAccountAuthentication)
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.

Responses

201

success

401

permission denied

500

internal server error

Admin

Up
post /admin/accounts
(addNodeAccount)
Gernerate a url for creating a new account. Access granted to admin username and password.

Return type

String

Example data

Content-Type: application/json
""

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

201

generated String

401

invalid password

500

internal server error

Up
get /admin/accounts/{accountId}/image
(getNodeAccountImage)
Get profile image of specified account. Access granted to admin username and password

Path parameters

accountId (required)
Path Parameter — id of specified account

Return type

byte[]

Example data

Content-Type: application/json
""

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

200

success byte[]

401

permission denied

405

invalid image

500

internal server error

Up
get /admin/accounts
(getNodeAccounts)
Get list of accounts hosted on node. Access granted to admin username and password.

Return type

array[Account]

Example data

Content-Type: application/json
[ {
  "accountId" : "accountId",
  "profile" : {
    "image" : "image",
    "node" : "node",
    "name" : "name",
    "description" : "description",
    "handle" : "handle",
    "location" : "location",
    "version" : "version",
    "did" : "did",
    "revision" : 0
  }
}, {
  "accountId" : "accountId",
  "profile" : {
    "image" : "image",
    "node" : "node",
    "name" : "name",
    "description" : "description",
    "handle" : "handle",
    "location" : "location",
    "version" : "version",
    "did" : "did",
    "revision" : 0
  }
} ]

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

200

successful operation

401

invalid password

404

handle not found

500

internal server error

Up
get /admin/claimable
(getNodeClaimable)
Check if portal params have been set

Responses

200

success

406

node already claimed

500

internal server error

Up
delete /admin/accounts/{accountId}
(removeNodeAccount)
Remove account from node. Access granted to admin username and password.

Path parameters

accountId (required)
Path Parameter — id of account to delete

Responses

200

successful operation

401

invalid authentication

404

account not found

500

internal server error

Up
put /admin/accounts/{accountId}/reset
(setNodeAccount)
Generate a password reset url for specified account. Access granted to admin username and password.

Path parameters

accountId (required)
Path Parameter — id of profile to access

Return type

String

Example data

Content-Type: application/json
""

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

201

generated String

401

invalid password

404

unknown portal

500

internal server error

Up
post /admin/config
(setNodeConfig)
Set admin password and node domain

Query parameters

domain (required)
Query Parameter — domain of node

Responses

200

success

401

permission denied

500

internal server error

Up
put /admin/config/domain
(setNodeConfigDomain)
Set portal domain to be set in profile queries. Access granted to admin username and password.

Consumes

This API call consumes the following media types via the Content-Type request header:

Request body

body string (optional)
Body Parameter

Responses

200

success

401

permission denide

500

internal server error

Authenticate

Up
put /authenticate
(authenticate)
Retrieve an authenticate data messaging verifying the account holder is accepting the action referenced by the token.

Consumes

This API call consumes the following media types via the Content-Type request header:

Request body

body string (optional)
Body Parameter

Return type

DataMessage

Example data

Content-Type: application/json
{
  "messageType" : "Connect",
  "signature" : "signature",
  "publicKey" : "publicKey",
  "message" : "message",
  "keyType" : "RSA4096"
}

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

200

success DataMessage

401

permission denied

500

internal server error

Contact

Up
post /contact/cards
(addCard)
Add a contact card. Access granted to app tokens of account holder.

Return type

DataMessage

Example data

Content-Type: application/json
{
  "messageType" : "Connect",
  "signature" : "signature",
  "publicKey" : "publicKey",
  "message" : "message",
  "keyType" : "RSA4096"
}

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

200

success DataMessage

400

invalid data message

401

permission denied

500

internal server error

Up
delete /contact/cards/{cardId}/groups/{groupId}
(clearCardGroup)
Clear sharing group for card. Access granted to app tokens for account holder.

Path parameters

cardId (required)
Path Parameter — specified card id
groupId (required)
Path Parameter — specified share id

Return type

CardData

Example data

Content-Type: application/json
{
  "notes" : "notes",
  "groups" : [ "groups", "groups" ],
  "revision" : 6,
  "status" : "pending",
  "token" : "token"
}

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

200

success CardData

401

permission denied

404

card or group not found

500

internal server error

Up
delete /contact/cards/{cardId}/notes
(clearCardNotes)
Clear notes for specified card. Access granted to app tokens of account holder.

Path parameters

cardId (required)
Path Parameter — specified card id

Return type

CardData

Example data

Content-Type: application/json
{
  "notes" : "notes",
  "groups" : [ "groups", "groups" ],
  "revision" : 6,
  "status" : "pending",
  "token" : "token"
}

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

200

success CardData

401

permission denied

404

card not found

500

internal server error

Up
get /contact/cards/{cardId}
(getCard)
Retieve card entry. Permission granted to app tokens for account holder.

Path parameters

cardId (required)
Path Parameter — specified card id

Return type

Card

Example data

Content-Type: application/json
{
  "cardData" : {
    "notes" : "notes",
    "groups" : [ "groups", "groups" ],
    "revision" : 6,
    "status" : "pending",
    "token" : "token"
  },
  "cardProfile" : {
    "node" : "node",
    "imageSet" : true,
    "name" : "name",
    "description" : "description",
    "handle" : "handle",
    "location" : "location",
    "revision" : 0
  },
  "cardId" : "cardId",
  "converstaionRevision" : 5,
  "contentRevision" : 1
}

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

200

successful operation Card

401

permission denied

404

card not found

500

internal server error

Up
get /contact/cards/{cardId}/data
(getCardData)
Get specified card data. Access granted to app tokens for account holder.

Path parameters

cardId (required)
Path Parameter — specified card id

Return type

CardData

Example data

Content-Type: application/json
{
  "notes" : "notes",
  "groups" : [ "groups", "groups" ],
  "revision" : 6,
  "status" : "pending",
  "token" : "token"
}

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

200

success CardData

401

permission denied

404

card not found

500

internal server error

Up
get /contact/cards/{cardId}/profile
(getCardProfile)
Get profile of card entry. Access granted to app tokens of account holder.

Path parameters

cardId (required)
Path Parameter — specified card id

Return type

CardProfile

Example data

Content-Type: application/json
{
  "node" : "node",
  "imageSet" : true,
  "name" : "name",
  "description" : "description",
  "handle" : "handle",
  "location" : "location",
  "revision" : 0
}

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

200

successful operation CardProfile

401

permission denied

404

not found

500

internal server error

Up
get /contact/cards/{cardId}/profile/image
(getCardProfileImage)
Get image of card profile. Access granted to app tokens of account holder.

Path parameters

cardId (required)
Path Parameter — specified card id

Return type

byte[]

Example data

Content-Type: application/json
""

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

200

success byte[]

401

permission denied

404

card not found

405

invalid image

500

internal server error

Up
get /contact/cards/view
(getCardView)
Get list of card views. Access granted to app tokens of account holder.

Return type

array[CardView]

Example data

Content-Type: application/json
[ {
  "cardRevision" : 0,
  "profileRevision" : 6,
  "cardId" : "cardId",
  "converstaionRevision" : 5,
  "contentRevision" : 1
}, {
  "cardRevision" : 0,
  "profileRevision" : 6,
  "cardId" : "cardId",
  "converstaionRevision" : 5,
  "contentRevision" : 1
} ]

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

200

successful operation

401

permission denied

500

internal server error

Up
get /contact/cards/{cardId}/closeMessage
(getCloseMessage)
Get message for closing connection with contact. Access granted to app tokens for account holder.

Path parameters

cardId (required)
Path Parameter — specified card id

Return type

DataMessage

Example data

Content-Type: application/json
{
  "messageType" : "Connect",
  "signature" : "signature",
  "publicKey" : "publicKey",
  "message" : "message",
  "keyType" : "RSA4096"
}

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

200

successful operation DataMessage

401

permission denied

404

card not found

500

internal server error

Up
get /contact/cards/{cardId}/openMessage
(getOpenMessage)
Get message for connecting to other contacts. Access granted to app tokens for account holder.

Path parameters

cardId (required)
Path Parameter — specified card id

Return type

DataMessage

Example data

Content-Type: application/json
{
  "messageType" : "Connect",
  "signature" : "signature",
  "publicKey" : "publicKey",
  "message" : "message",
  "keyType" : "RSA4096"
}

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

200

success DataMessage

401

permission denied

404

card not found

500

internal server error

Up
delete /contact/cards/{cardId}
(removeCard)
Remove card entry. Access granted to app tokens of account holder.

Path parameters

cardId (required)
Path Parameter — specified card id

Responses

200

success

401

permission denied

404

card not found

500

internal server error

Up
put /contact/cards/{cardId}/groups/{groupId}
(setCardGroup)
Set sharing group for contact. Access granted to app tokens for account holder.

Path parameters

cardId (required)
Path Parameter — specified card id
groupId (required)
Path Parameter — specified group id

Return type

CardData

Example data

Content-Type: application/json
{
  "notes" : "notes",
  "groups" : [ "groups", "groups" ],
  "revision" : 6,
  "status" : "pending",
  "token" : "token"
}

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

200

success CardData

401

permission denied

404

card or group not found

500

internal server error

Up
put /contact/cards/{cardId}/notes
(setCardNotes)
Update card notes for specified card. Access granted to app tokens for account holder.

Path parameters

cardId (required)
Path Parameter — specified card id

Consumes

This API call consumes the following media types via the Content-Type request header:

Request body

body string (optional)
Body Parameter

Return type

CardData

Example data

Content-Type: application/json
{
  "notes" : "notes",
  "groups" : [ "groups", "groups" ],
  "revision" : 6,
  "status" : "pending",
  "token" : "token"
}

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

200

success CardData

401

permission denied

404

card not found

500

internal server error

Up
put /contact/cards/{cardId}/profile
(setCardProfile)
Set profile of card entry. Access granted to app tokens of account holder.

Path parameters

cardId (required)
Path Parameter — specified card id

Consumes

This API call consumes the following media types via the Content-Type request header:

Request body

body Profile (optional)
Body Parameter

Return type

DataMessage

Example data

Content-Type: application/json
{
  "messageType" : "Connect",
  "signature" : "signature",
  "publicKey" : "publicKey",
  "message" : "message",
  "keyType" : "RSA4096"
}

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

200

success DataMessage

401

permission denied

404

card not found

500

internal server error

Up
put /contact/cards/{cardId}/status
(setCardStatus)
Updated connected status of contact. Access granted to app tokens of account holder.

Path parameters

cardId (required)
Path Parameter — specified card id

Consumes

This API call consumes the following media types via the Content-Type request header:

Request body

body string (optional)
Body Parameter

Query parameters

token (optional)
Query Parameter — token for accessing card

Return type

CardData

Example data

Content-Type: application/json
{
  "notes" : "notes",
  "groups" : [ "groups", "groups" ],
  "revision" : 6,
  "status" : "pending",
  "token" : "token"
}

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

200

success CardData

401

permission denied

404

card not found

500

internal server error

Up
put /contact/closeMessage
(setCloseMessage)
Set message for closing card connection. Access granted to public.

Consumes

This API call consumes the following media types via the Content-Type request header:

Request body

body DataMessage (optional)
Body Parameter

Return type

inline_response_200

Example data

Content-Type: application/json
{
  "token" : "token",
  "status" : "pending"
}

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

200

successful operation inline_response_200

400

invalid data message

500

internal server error

Up
put /contact/content/revision
(setContentRevision)
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.

Consumes

This API call consumes the following media types via the Content-Type request header:

Request body

body long (optional)
Body Parameter

Responses

200

revision set

401

not authorized

500

internal server error

Up
put /contact/openMessage
(setOpenMessage)
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.

Consumes

This API call consumes the following media types via the Content-Type request header:

Request body

body DataMessage (optional)
Body Parameter

Return type

inline_response_200

Example data

Content-Type: application/json
{
  "token" : "token",
  "status" : "pending"
}

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

200

successful operation inline_response_200

400

invalid data message

500

internal server error

Up
put /contact/profile/revision
(setProfileRevision)
Set profile revision for contact. This is intend to be invoked automatically anytime a contact updates their profile. Access granted to contact tokens.

Consumes

This API call consumes the following media types via the Content-Type request header:

Request body

body long (optional)
Body Parameter

Responses

200

revision set

401

not authorized

500

internal server error

Content

Up
post /content/articles
(addArticle)
Add a content article. Access granted to app token of the account holder.

Consumes

This API call consumes the following media types via the Content-Type request header:

Request body

body content_articles_body (optional)
Body Parameter

Return type

inline_response_201

Example data

Content-Type: application/json
{
  "blockId" : "blockId",
  "blockRevision" : 0,
  "article" : {
    "subject" : {
      "data" : "data",
      "created" : 6,
      "type" : "type",
      "subjectId" : "subjectId",
      "revision" : 0
    },
    "articleId" : "articleId",
    "tagUpdate" : 1,
    "groups" : [ "groups", "groups" ],
    "tagCount" : 6,
    "tagRevision" : 5,
    "revision" : 0,
    "status" : "unconfirmed",
    "labels" : [ "labels", "labels" ]
  }
}

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

201

entry created inline_response_201

401

permission denied

500

internal server error

Up
post /content/articles/{articleId}/assets
(addArticleAsset)
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.

Path parameters

articleId (required)
Path Parameter — specified article id

Consumes

This API call consumes the following media types via the Content-Type request header:

Query parameters

transforms (optional)
Query Parameter — transforms to apply

Form parameters

fileName (optional)
Form Parameter — format: binary

Return type

Asset

Example data

Content-Type: application/json
{
  "transform" : "transform",
  "assetId" : "assetId",
  "status" : "pending"
}

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

201

success Asset

401

permission denied

404

article not found

406

storage limit reached

500

internal server error

Up
post /content/articles/{articleId}/tags
(addArticleTag)
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.

Path parameters

articleId (required)
Path Parameter — specified article id

Return type

inline_response_200_2

Example data

Content-Type: application/json
{
  "blockId" : "blockId",
  "tag" : {
    "subject" : {
      "data" : "data",
      "created" : 6,
      "type" : "type",
      "subjectId" : "subjectId",
      "revision" : 0
    },
    "cardId" : "cardId"
  },
  "blockRevision" : 0
}

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

200

success inline_response_200_2

401

permission denied

404

article not found

500

internal server error

Up
post /content/labels
(addLabel)
Add a new label for organizing the articles. Access granted to the app tokens of the account holder.

Consumes

This API call consumes the following media types via the Content-Type request header:

Request body

body content_labels_body (optional)
Body Parameter

Responses

200

success

401

permission denied

500

internal server error

Up
delete /content/articles/{articleId}/groups/{groupId}
(clearArticleGroup)
Remove article from sharing group. Unless the article is shared through other groups or labels contacts within that group will no longer have access to the article. Access granted to app tokens of the account holder.

Path parameters

articleId (required)
Path Parameter — specified article id
groupId (required)
Path Parameter — specified share id

Responses

200

success

401

permission denied

404

group or article not found

500

internal server error

Up
delete /content/articles/{articleId}/labels/{labelId}
(clearArticleLabel)
Remove a label from an article. If the label 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.

Path parameters

articleId (required)
Path Parameter — specified article id
labelId (required)
Path Parameter — specified label id

Responses

200

success

401

permission denied

404

label or article not found

500

internal server error

Up
delete /content/labels/{labelId}/groups/{groupId}
(clearLabelGroup)
Clear a sharing group from a label. Access granted to app tokens of the account holder.

Path parameters

labelId (required)
Path Parameter — specified label id
groupId (required)
Path Parameter — specified group id

Responses

200

success

401

permission denied

404

group or label not found

500

internal server error

Up
get /content/articles/{articleId}
(getArticle)
Get specified article. Access granted to app token of account holder or contact token of account the article is shared with.

Path parameters

articleId (required)
Path Parameter — specified article id

Return type

Article

Example data

Content-Type: application/json
{
  "subject" : {
    "data" : "data",
    "created" : 6,
    "type" : "type",
    "subjectId" : "subjectId",
    "revision" : 0
  },
  "articleId" : "articleId",
  "tagUpdate" : 1,
  "groups" : [ "groups", "groups" ],
  "tagCount" : 6,
  "tagRevision" : 5,
  "revision" : 0,
  "status" : "unconfirmed",
  "labels" : [ "labels", "labels" ]
}

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

200

success Article

401

permission denied

404

article not found

500

internal server error

Up
get /content/articles/{articleId}/assets/{assetId}
(getArticleAsset)
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.

Path parameters

articleId (required)
Path Parameter — specified article id
assetId (required)
Path Parameter — specified asset id

Return type

byte[]

Example data

Content-Type: application/json
""

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

200

success byte[]

401

permission denied

404

asset or article not found

500

internal server error

Up
get /content/articles/{articleId}/assets
(getArticleAssets)
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.

Path parameters

articleId (required)
Path Parameter — specified article id

Return type

array[Asset]

Example data

Content-Type: application/json
[ {
  "transform" : "transform",
  "assetId" : "assetId",
  "status" : "pending"
}, {
  "transform" : "transform",
  "assetId" : "assetId",
  "status" : "pending"
} ]

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

201

entry created

401

invalid token

500

internal server error

Up
get /content/articleBlocks/view
(getArticleBlockView)
Get article block views. Acess 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.

Return type

array[inline_response_200_1]

Example data

Content-Type: application/json
[ {
  "id" : "id",
  "revision" : 0
}, {
  "id" : "id",
  "revision" : 0
} ]

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

200

successful operation

401

permission denied

500

internal server error

Up
get /content/articles/{articleId}/subject/{field}
(getArticleSubjectField)
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.

Path parameters

articleId (required)
Path Parameter — specified article id
field (required)
Path Parameter — field from subject to base64 decode and download

Return type

Article

Example data

Content-Type: application/json
{
  "subject" : {
    "data" : "data",
    "created" : 6,
    "type" : "type",
    "subjectId" : "subjectId",
    "revision" : 0
  },
  "articleId" : "articleId",
  "tagUpdate" : 1,
  "groups" : [ "groups", "groups" ],
  "tagCount" : 6,
  "tagRevision" : 5,
  "revision" : 0,
  "status" : "unconfirmed",
  "labels" : [ "labels", "labels" ]
}

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

200

success Article

401

permission denied

404

field, article not found

405

invalid field

500

internal server error

Up
get /content/articles/{articleId}/tags/{tagId}
(getArticleTag)
Get specified tag. Access granted to app tokens of account holder and contact tokens of accounts with which the article is shared.

Path parameters

articleId (required)
Path Parameter — specified article id
tagId (required)
Path Parameter — specified tag id

Return type

Tag

Example data

Content-Type: application/json
{
  "subject" : {
    "data" : "data",
    "created" : 6,
    "type" : "type",
    "subjectId" : "subjectId",
    "revision" : 0
  },
  "cardId" : "cardId"
}

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

200

success Tag

401

permission denied

404

tag or article not found

500

internal server error

Up
get /content/articles/{articleId}/tagBlocks/view
(getArticleTagBlockView)
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.

Path parameters

articleId (required)
Path Parameter — specified article id

Query parameters

types (optional)
Query Parameter — limit results to tags of types

Return type

array[inline_response_200_1]

Example data

Content-Type: application/json
[ {
  "id" : "id",
  "revision" : 0
}, {
  "id" : "id",
  "revision" : 0
} ]

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

200

success

401

permission denied

404

article not found

500

internal server error

Up
get /content/articles/{articleId}/tags/{tagId}/subject/{field}
(getArticleTagSubjectField)
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.

Path parameters

articleId (required)
Path Parameter — specified article id
tagId (required)
Path Parameter — specified tag id
field (required)
Path Parameter — field to base64 decode and transfer

Return type

Tag

Example data

Content-Type: application/json
{
  "subject" : {
    "data" : "data",
    "created" : 6,
    "type" : "type",
    "subjectId" : "subjectId",
    "revision" : 0
  },
  "cardId" : "cardId"
}

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

200

success Tag

401

permission denied

404

field, tag or article not found

405

invalid field

500

internal server error

Up
get /content/articles/{articleId}/tagBlocks/{blockId}/view
(getArticleTagView)
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.

Path parameters

articleId (required)
Path Parameter — specified article id
blockId (required)
Path Parameter — specified block id

Query parameters

types (optional)
Query Parameter — limit results to tags of types

Return type

array[inline_response_200_1]

Example data

Content-Type: application/json
[ {
  "id" : "id",
  "revision" : 0
}, {
  "id" : "id",
  "revision" : 0
} ]

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

200

success

401

permission denied

404

block or article not found

500

internal server error

Up
get /content/articles/{articleId}/tagBlocks/{blockId}
(getArticleTags)
Get tags within specified block. Access granted to app tokens of account holder and contact tokens of accounts with which the article is shared.

Path parameters

articleId (required)
Path Parameter — specified article id
blockId (required)
Path Parameter — specified block id

Query parameters

types (optional)
Query Parameter — limit results to tags of types

Return type

array[inline_response_200_1]

Example data

Content-Type: application/json
[ {
  "id" : "id",
  "revision" : 0
}, {
  "id" : "id",
  "revision" : 0
} ]

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

200

success

401

permission denied

404

block or article not found

500

internal server error

Up
get /content/articleBlocks/{blockId}/view
(getArticleViews)
Get the article views within specified block. Access granted for app token or contact token. All of the articles are returned for the app token, but only the shared articles are returned for the contact token. An article is shared by assigning a common group to an article or assigning a label to an article that has assigned a common group.

Path parameters

blockId (required)
Path Parameter — specified group id

Return type

array[inline_response_200_1]

Example data

Content-Type: application/json
[ {
  "id" : "id",
  "revision" : 0
}, {
  "id" : "id",
  "revision" : 0
} ]

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

200

successful operation

401

permission denied

404

block not found

500

internal server error

Up
get /content/articleBlocks/{blockId}
(getArticles)
Get the articles within specified block. Access granted for app token or contact token. All of the articles are returned for the app token, but only the shared articles are returned for the contact token. An article is shared by assigning a common group to an article or assigning a label to an article that has assigned a common group.

Path parameters

blockId (required)
Path Parameter — specified group id

Return type

array[Article]

Example data

Content-Type: application/json
[ {
  "subject" : {
    "data" : "data",
    "created" : 6,
    "type" : "type",
    "subjectId" : "subjectId",
    "revision" : 0
  },
  "articleId" : "articleId",
  "tagUpdate" : 1,
  "groups" : [ "groups", "groups" ],
  "tagCount" : 6,
  "tagRevision" : 5,
  "revision" : 0,
  "status" : "unconfirmed",
  "labels" : [ "labels", "labels" ]
}, {
  "subject" : {
    "data" : "data",
    "created" : 6,
    "type" : "type",
    "subjectId" : "subjectId",
    "revision" : 0
  },
  "articleId" : "articleId",
  "tagUpdate" : 1,
  "groups" : [ "groups", "groups" ],
  "tagCount" : 6,
  "tagRevision" : 5,
  "revision" : 0,
  "status" : "unconfirmed",
  "labels" : [ "labels", "labels" ]
} ]

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

200

successful operation

401

permission denied

404

block not found

500

internal server error

Up
get /content/labels
(getLabels)
Get labels with which to organize the articles. Contacts requesting the labels will only retrieve the labels with which they are shared. Access granted to the app tokens of the account holder and connected contact tokens.

Return type

array[Label]

Example data

Content-Type: application/json
[ {
  "subject" : {
    "data" : "data",
    "created" : 6,
    "type" : "type",
    "subjectId" : "subjectId",
    "revision" : 0
  },
  "groups" : [ "groups", "groups" ]
}, {
  "subject" : {
    "data" : "data",
    "created" : 6,
    "type" : "type",
    "subjectId" : "subjectId",
    "revision" : 0
  },
  "groups" : [ "groups", "groups" ]
} ]

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

200

successful operation

401

invalid token

500

internal server error

Up
delete /content/articles/{articleId}
(removeArticle)
Remove specified article. Access granted to app token of account holder.

Path parameters

articleId (required)
Path Parameter — specified article id

Responses

200

success

401

invalid password

404

article not found

500

internal server error

Up
delete /content/articles/{articleId}/assets/{assetId}
(removeArticleAsset)
Remove an asset from an article. Access granted to app tokens of the account holder.

Path parameters

articleId (required)
Path Parameter — specified article id
assetId (required)
Path Parameter — specified asset id

Responses

200

success

401

permission denied

404

asset or article not found

500

internal server error

Up
delete /content/articles/{articleId}/tags/{tagId}
(removeArticleTag)
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.

Path parameters

articleId (required)
Path Parameter — specified article id
tagId (required)
Path Parameter — specified tag id

Responses

200

success

401

permission denied

404

tag or article not found

500

internal server error

Up
delete /content/labels/{labelId}
(removeLabel)
Remove specified label. Access granted the the app tokens of the account holder.

Path parameters

labelId (required)
Path Parameter — specified label id

Responses

200

success

401

permission denied

404

label not found

500

internal server error

Up
put /content/articles/{articleId}/confirmed
(setArticleConfirmed)
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.

Path parameters

articleId (required)
Path Parameter — specified article id

Consumes

This API call consumes the following media types via the Content-Type request header:

Request body

body boolean (optional)
Body Parameter

Responses

200

success

401

permission denied

404

article not found

500

internal server error

Up
post /content/articles/{articleId}/groups/{groupId}
(setArticleGroup)
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.

Path parameters

articleId (required)
Path Parameter — specified article id
groupId (required)
Path Parameter — specified share group id

Responses

200

success

401

permission denied

404

group or article not found

500

internal server error

Up
post /content/articles/{articleId}/labels/{labelId}
(setArticleLabel)
Assign a label to an article. If the label 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.

Path parameters

articleId (required)
Path Parameter — specified article id
labelId (required)
Path Parameter — specified label id

Responses

200

success

401

permission denied

404

label or article not found

500

internal server error

Up
put /content/articles/{articleId}/subject
(setArticleSubject)
Set subject for article. Access granted to app token of account holder.

Path parameters

articleId (required)
Path Parameter — specified article id

Consumes

This API call consumes the following media types via the Content-Type request header:

Request body

body articleId_subject_body (optional)
Body Parameter

Responses

200

success

401

permission denied

404

article not found

500

internal server error

Up
post /content/labels/{labelId}/groups/{groupId}
(setLabelGroup)
Set a sharing group for the label and articles assigned to the label. Access granted to app tokens of the account holder.

Path parameters

labelId (required)
Path Parameter — specified label id
groupId (required)
Path Parameter — specified group id

Responses

200

success

401

permission denied

404

group or label not found

500

internal server error

Up
put /content/labels/{labelId}
(updateLabel)
Update specified label. Access granted to app tokens of the account holder.

Path parameters

labelId (required)
Path Parameter — specified group id

Consumes

This API call consumes the following media types via the Content-Type request header:

Request body

body labels_labelId_body (optional)
Body Parameter

Responses

200

successful operation

401

invalid token

500

internal server error

Conversation

Up
post /conversation/dialogues
(addDialogue)
Create and host a new dialogue. Authroization granted to an app token of the account holder.

Return type

array[Dialogue]

Example data

Content-Type: application/json
[ {
  "dialogueId" : "dialogueId",
  "insights" : [ {
    "cardId" : "cardId",
    "status" : "active"
  }, {
    "cardId" : "cardId",
    "status" : "active"
  } ],
  "subject" : {
    "data" : "data",
    "created" : 6,
    "type" : "type",
    "subjectId" : "subjectId",
    "revision" : 0
  },
  "active" : true,
  "revision" : 0
}, {
  "dialogueId" : "dialogueId",
  "insights" : [ {
    "cardId" : "cardId",
    "status" : "active"
  }, {
    "cardId" : "cardId",
    "status" : "active"
  } ],
  "subject" : {
    "data" : "data",
    "created" : 6,
    "type" : "type",
    "subjectId" : "subjectId",
    "revision" : 0
  },
  "active" : true,
  "revision" : 0
} ]

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

200

success

401

permission denied

500

internal server error

Up
put /conversation/dialogues/{dialogueId}/cards/{cardId}
(addDialogueInsight)
Add insight to a dialogue. This endpoint will automatically invoke the add insight on the contact's node. Authorization is granted to the app token of the account holder.

Path parameters

dialogueId (required)
Path Parameter — specified dialogue id
cardId (required)
Path Parameter — specified card id

Responses

200

success

401

permission denied

404

cardId or dialogue not found

500

internal server error

Up
post /conversation/dialogues/{dialogueId}/topics
(addDialogueTopic)
Add a topic to a dialogue. The response contains the topicBlock ID and topicBlock revision to which the topic is assigned. Authorization granted to account holder app token or dialogue member contact token who is a member of the dialogue.

Path parameters

dialogueId (required)
Path Parameter — specified dialogue id

Return type

inline_response_201_1

Example data

Content-Type: application/json
{
  "blockId" : "blockId",
  "topic" : {
    "subject" : {
      "data" : "data",
      "created" : 6,
      "type" : "type",
      "subjectId" : "subjectId",
      "revision" : 0
    },
    "articleId" : "articleId",
    "tagUpdate" : 1,
    "tagCount" : 6,
    "tagRevision" : 5,
    "revision" : 0,
    "status" : "unconfirmed"
  },
  "blockRevision" : 0
}

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

201

entry created inline_response_201_1

401

permission denied

403

inactive dialogue

404

dialogue not found

500

internal server error

Up
post /conversation/insights/{dialogueId}
(addInsightDialogue)
Create or update an insight. Because the insightId is not know by the contact, it is determined from the token and the dialogueId. Access granted to a connected contact token.

Path parameters

dialogueId (required)
Path Parameter — dialogue with insight id to update

Consumes

This API call consumes the following media types via the Content-Type request header:

Request body

body long (optional)
Body Parameter

Return type

String

Example data

Content-Type: application/json
"active"

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

200

success String

401

permission denied

404

dialogue not found

500

internal server error

Up
post /conversation/dialogues/{dialogueId}/topics/{topicId}/assets
(addTopicAsset)
Add an asset to a topic. The asset will be processed and transcoded according to the specified transformation. Authorization granted to account holder app token or dialogue member contact token who is also the creator of the topic.

Path parameters

dialogueId (required)
Path Parameter — specified dialogue id
topicId (required)
Path Parameter — specified topic id

Consumes

This API call consumes the following media types via the Content-Type request header:

Query parameters

transforms (optional)
Query Parameter — transforms to apply

Form parameters

fileName (optional)
Form Parameter — format: binary

Return type

Asset

Example data

Content-Type: application/json
{
  "transform" : "transform",
  "assetId" : "assetId",
  "status" : "pending"
}

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

201

success Asset

401

permission denied

403

inactive dialogue

404

topic or dialogue not found

500

internal server error

Up
post /conversation/dialogues/{dialogueId}/topics/{topicId}/tags
(addTopicTag)
Add a tag to specified topic. Authorization granted to account holder app token or dialogue member contact token who has access to the topic. The body of the post contains the subject of the tag, which can have no associated assets.

Path parameters

dialogueId (required)
Path Parameter — specified dialogue id
topicId (required)
Path Parameter — specified topic id

Consumes

This API call consumes the following media types via the Content-Type request header:

Request body

body topicId_tags_body (optional)
Body Parameter

Return type

inline_response_200_2

Example data

Content-Type: application/json
{
  "blockId" : "blockId",
  "tag" : {
    "subject" : {
      "data" : "data",
      "created" : 6,
      "type" : "type",
      "subjectId" : "subjectId",
      "revision" : 0
    },
    "cardId" : "cardId"
  },
  "blockRevision" : 0
}

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

201

entry created inline_response_200_2

401

permission denied

403

inactive dialogue

404

topic or dialogue not found

500

internal server error

Up
put /conversation/dialogues/{dialogueId}/topics/{topicId}/confirmed
(conversationDialoguesDialogueIdTopicsTopicIdConfirmedPut)
After the assets have been uploaded and the subject has been set, the topic should be set to confirmed (true) to make the topic available to others. Authorization granted to account holder app token or dialogue member contact token who is also the creator of the topic.

Path parameters

dialogueId (required)
Path Parameter — specified dialogue id
topicId (required)
Path Parameter — specified topic id

Consumes

This API call consumes the following media types via the Content-Type request header:

Request body

body boolean (optional)
Body Parameter

Responses

200

success

401

permission denied

403

inactive dialogue

404

topic or dialogue not found

500

internal server error

Up
get /conversation/dialogues/{dialogueId}/topics/{topicId}
(getDialogueTopic)
Retrieve a specified dialogue topic. Authorization granted to account holder app token or dialogue member contact token who is a member of the dialogue.

Path parameters

dialogueId (required)
Path Parameter — specified dialogue id
topicId (required)
Path Parameter — specified topic id

Return type

Topic

Example data

Content-Type: application/json
{
  "subject" : {
    "data" : "data",
    "created" : 6,
    "type" : "type",
    "subjectId" : "subjectId",
    "revision" : 0
  },
  "articleId" : "articleId",
  "tagUpdate" : 1,
  "tagCount" : 6,
  "tagRevision" : 5,
  "revision" : 0,
  "status" : "unconfirmed"
}

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

200

successful operation Topic

401

permission denied

404

topic or dialogue not found

500

internal server error

Up
get /conversation/dialogues/{dialogueId}/topics/{topicId}/subject/{field}
(getDialogueTopicSubjectField)
Base64 decode and retrieve a specified field from subject of dialogue topic. Authorization granted to account holder app token or dialogue member contact token who is a member of the dialogue.

Path parameters

dialogueId (required)
Path Parameter — specified dialogue id
topicId (required)
Path Parameter — specified topic id
field (required)
Path Parameter — field to base64 decode and retrieve

Return type

byte[]

Example data

Content-Type: application/json
""

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

200

success byte[]

401

permission denied

404

field, topic or dialogue not found

405

invalid field

500

internal server error

Up
get /conversation/dialogues
(getDialogues)
Retrieve all dialogues.

Return type

array[Dialogue]

Example data

Content-Type: application/json
[ {
  "dialogueId" : "dialogueId",
  "insights" : [ {
    "cardId" : "cardId",
    "status" : "active"
  }, {
    "cardId" : "cardId",
    "status" : "active"
  } ],
  "subject" : {
    "data" : "data",
    "created" : 6,
    "type" : "type",
    "subjectId" : "subjectId",
    "revision" : 0
  },
  "active" : true,
  "revision" : 0
}, {
  "dialogueId" : "dialogueId",
  "insights" : [ {
    "cardId" : "cardId",
    "status" : "active"
  }, {
    "cardId" : "cardId",
    "status" : "active"
  } ],
  "subject" : {
    "data" : "data",
    "created" : 6,
    "type" : "type",
    "subjectId" : "subjectId",
    "revision" : 0
  },
  "active" : true,
  "revision" : 0
} ]

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

200

success

401

permission denied

500

internal server error

Up
get /conversation/insights
(getInsights)
Retrieve all insights. Access granted to app token for the account holder.

Query parameters

dismissed (optional)
Query Parameter — if dismissed insights should be included

Return type

array[Insight]

Example data

Content-Type: application/json
[ {
  "cardId" : "cardId",
  "insightId" : "insightId",
  "revision" : 0,
  "status" : "active"
}, {
  "cardId" : "cardId",
  "insightId" : "insightId",
  "revision" : 0,
  "status" : "active"
} ]

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

200

success

401

permission denied

500

internal server error

Up
get /conversation/dialogues/{dialogueId}/topics/{topicId}/assets/{assetId}
(getTopicAsset)
Retrieve an asset associated with a topic. All transformed assets can be retrieved by anyone with access to the topic, but the original asset can only be retrieved by the author of the topic. Authorization granted to account holder app token or dialogue member contact token who is also the creator of the topic.

Path parameters

dialogueId (required)
Path Parameter — specified dialogue id
topicId (required)
Path Parameter — specified topic id
assetId (required)
Path Parameter — specified asset id

Return type

byte[]

Example data

Content-Type: application/json
""

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

200

success byte[]

401

permission denied

404

asset, topic or dialogue not found

500

internal server error

Up
get /conversation/dialogues/{dialogueId}/topics/{topicId}/assets
(getTopicAssets)
Get all assets associated with the specified topic. Authorization granted to account holder app token or dialogue member contact token who has access to the topic.

Path parameters

dialogueId (required)
Path Parameter — specified dialogue id
topicId (required)
Path Parameter — specified topic id

Return type

array[Asset]

Example data

Content-Type: application/json
[ {
  "transform" : "transform",
  "assetId" : "assetId",
  "status" : "pending"
}, {
  "transform" : "transform",
  "assetId" : "assetId",
  "status" : "pending"
} ]

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

201

success

401

permission denied

404

topic or dialogue not found

500

internal server error

Up
get /conversation/dialogues/{dialogueId}/topicBlocks/{blockId}
(getTopicBlock)
Get the topics within a topicBlock. Only the account holder and the topic creator will retrieve pending topics. Authorization granted to account holder app token or dialogue member contact token who is also a member of the dialogue

Path parameters

dialogueId (required)
Path Parameter — specified dialogue id
blockId (required)
Path Parameter — specified group id

Query parameters

types (optional)
Query Parameter — limit results to topics of types

Return type

array[Topic]

Example data

Content-Type: application/json
[ {
  "subject" : {
    "data" : "data",
    "created" : 6,
    "type" : "type",
    "subjectId" : "subjectId",
    "revision" : 0
  },
  "articleId" : "articleId",
  "tagUpdate" : 1,
  "tagCount" : 6,
  "tagRevision" : 5,
  "revision" : 0,
  "status" : "unconfirmed"
}, {
  "subject" : {
    "data" : "data",
    "created" : 6,
    "type" : "type",
    "subjectId" : "subjectId",
    "revision" : 0
  },
  "articleId" : "articleId",
  "tagUpdate" : 1,
  "tagCount" : 6,
  "tagRevision" : 5,
  "revision" : 0,
  "status" : "unconfirmed"
} ]

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

200

successful operation

401

permission denied

404

block or dialogue not found

500

internal server error

Up
get /conversation/dialogues/{dialogueId}/topicBlocks/view
(getTopicBlockView)
Get a view of the topicBlocks within a dialogue. Authorization granted to account holder app token or dialogue member contact token who is also a member of the dialogue

Path parameters

dialogueId (required)
Path Parameter — specified dialogue id

Query parameters

types (optional)
Query Parameter — limit results to topics of types

Return type

array[inline_response_200_1]

Example data

Content-Type: application/json
[ {
  "id" : "id",
  "revision" : 0
}, {
  "id" : "id",
  "revision" : 0
} ]

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

200

success

401

permission denied

404

dialogue not found

500

internal server error

Up
get /conversation/dialogues/{dialogueId}/topics/{topicId}/tags/{tagId}
(getTopicTag)
Retrieve specified tag on the topic. Authorization granted to account holder app token or dialogue member contact token who has access to the topic.

Path parameters

dialogueId (required)
Path Parameter — specified dialogue id
topicId (required)
Path Parameter — specified topic id
tagId (required)
Path Parameter — specified tag id

Return type

Tag

Example data

Content-Type: application/json
{
  "subject" : {
    "data" : "data",
    "created" : 6,
    "type" : "type",
    "subjectId" : "subjectId",
    "revision" : 0
  },
  "cardId" : "cardId"
}

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

201

success Tag

401

permission denied

404

tag, topic, or dialogue not found

500

internal server error

Up
get /conversation/dialogues/{dialogueId}/topics/{topicId}/tagBlocks/view
(getTopicTagBlockView)
Get a view of all of all tagBlocks. Authorization granted to account holder app token or dialogue member contact token who has access to the topic.

Path parameters

dialogueId (required)
Path Parameter — specified dialogue id
topicId (required)
Path Parameter — specified topic id

Query parameters

types (optional)
Query Parameter — limit results to articles of types

Return type

array[inline_response_200_1]

Example data

Content-Type: application/json
[ {
  "id" : "id",
  "revision" : 0
}, {
  "id" : "id",
  "revision" : 0
} ]

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

200

successful operation

401

permission denied

404

topic or dialogue not found

500

internal server error

Up
get /conversation/dialogues/{dialogueId}/topics/{topicId}/tags/{tagId}/subject/{field}
(getTopicTagSubjectField)
Base64 decode and retrieve specified field of tag subject on the topic. Authorization granted to account holder app token or dialogue member contact token who has access to the topic.

Path parameters

dialogueId (required)
Path Parameter — specified dialogue id
topicId (required)
Path Parameter — specified topic id
tagId (required)
Path Parameter — specified tag id
field (required)
Path Parameter — field to base64 decode and download

Return type

Tag

Example data

Content-Type: application/json
{
  "subject" : {
    "data" : "data",
    "created" : 6,
    "type" : "type",
    "subjectId" : "subjectId",
    "revision" : 0
  },
  "cardId" : "cardId"
}

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

201

success Tag

401

permission denied

404

field, tag, topic, or dialogue not found

405

invalid field

500

internal server error

Up
get /conversation/dialogues/{dialogueId}/topics/{topicId}/tagBlocks/{blockId}/view
(getTopicTagView)
Get a view of all of the tags within a block. Authorization granted to account holder app token or dialogue member contact token who has access to the topic.

Path parameters

dialogueId (required)
Path Parameter — specified dialogue id
topicId (required)
Path Parameter — specified topic id
blockId (required)
Path Parameter — specified block id

Query parameters

types (optional)
Query Parameter — limit results to tags of types

Return type

array[inline_response_200_1]

Example data

Content-Type: application/json
[ {
  "id" : "id",
  "revision" : 0
}, {
  "id" : "id",
  "revision" : 0
} ]

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

200

successful operation

401

permission denied

404

block, topic or dialogue not found

500

internal server error

Up
get /conversation/dialogues/{dialogueId}/topics/{topicId}/tagBlocks/{blockId}
(getTopicTags)
Get all of the tags within a tag block. Authorization granted to account holder app token or dialogue member contact token who has access to the topic.

Path parameters

dialogueId (required)
Path Parameter — specified dialogue id
topicId (required)
Path Parameter — specified topic id
blockId (required)
Path Parameter — specified block id

Query parameters

types (optional)
Query Parameter — limit results to tags of types

Return type

array[Tag]

Example data

Content-Type: application/json
[ {
  "subject" : {
    "data" : "data",
    "created" : 6,
    "type" : "type",
    "subjectId" : "subjectId",
    "revision" : 0
  },
  "cardId" : "cardId"
}, {
  "subject" : {
    "data" : "data",
    "created" : 6,
    "type" : "type",
    "subjectId" : "subjectId",
    "revision" : 0
  },
  "cardId" : "cardId"
} ]

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

200

successful operation

401

permission denied

404

block, topic, or dialogue not found

500

internal server error

Up
get /conversation/dialogues/{dialogueId}/topicBlocks/{blockId}/view
(getTopicViews)
Get a view of the topics within a topicBlock. Authorization granted to account holder app token or dialogue member contact token who is also a member of the dialogue.

Path parameters

dialogueId (required)
Path Parameter — specified dialogue id
blockId (required)
Path Parameter — specified group id

Query parameters

types (optional)
Query Parameter — limit results to topics of types

Return type

array[inline_response_200_1]

Example data

Content-Type: application/json
[ {
  "id" : "id",
  "revision" : 0
}, {
  "id" : "id",
  "revision" : 0
} ]

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

200

successful operation

401

permission denied

404

block or dialogue not found

500

internal server error

Up
delete /conversation/dialogues/{dialogueId}
(removeDialogue)
Remove specified dialogue. This endpoint will authomatically invoke the delete insight endpoint on all of the contacts' nodes. Access is granted to an app token for the account holder.

Path parameters

dialogueId (required)
Path Parameter — specified dialogue id

Responses

200

success

401

permission denied

404

dialogue not found

500

internal server error

Up
delete /conversation/dialogues/{dialogueId}/cards/{cardId}
(removeDialogueInsight)
Remove an insight from a dialogue. This endpoint will authomatically invoke the delete insight endpoint on the contact's node. Authorization is granted to the app token of the accoun holder.

Path parameters

dialogueId (required)
Path Parameter — specified dialogue id
cardId (required)
Path Parameter — specified contact id

Responses

200

success

401

permission denied

404

cardId or dialogue not found

500

internal server error

Up
delete /conversation/dialogues/{dialogueId}/topics/{topicId}
(removeDialogueTopic)
Remove a topic from a dialogue. Authorization granted to account holder app token or dialogue member contact token who is either the topic createor or the account holder.

Path parameters

dialogueId (required)
Path Parameter — specified dialogue id
topicId (required)
Path Parameter — specified topic id

Responses

200

successful operation

401

permission denied

403

inactive dialogue

404

topic or dilaogue not found

500

internal server error

Up
delete /conversation/dialogues/{dialogueId}/topics/{topicId}/assets/{assetId}
(removeTopicAsset)
Remove and delete an asset associated with a topic. Authorization granted to account holder app token or dialogue member contact token who is also the creator of the topic.

Path parameters

dialogueId (required)
Path Parameter — specified dialogue id
topicId (required)
Path Parameter — specified topic id
assetId (required)
Path Parameter — specified asset id

Responses

200

success

401

permission denied

403

inactive dialogue

404

asset, topic or dialogue not found

500

internal server error

Up
delete /conversation/dialogues/{dialogueId}/topics/{topicId}/tags/{tagId}
(removeTopicTag)
Remove specified tag from the topic. Authorization granted to account holder app token or dialogue member contact token who has access to the topic.

Path parameters

dialogueId (required)
Path Parameter — specified dialogue id
topicId (required)
Path Parameter — specified topic id
tagId (required)
Path Parameter — specified tag id

Responses

200

success

401

permission denied

403

inactive dialogue

404

tag, topic, or dialogue not found

500

internal server error

Up
put /conversation/dialogues/{dialogueId}/active
(setDialogueActive)
Set active state of dialogue. If a dialogue is inactive any update to the topics will fail. Authorization is granted to an app token of the account holder.

Path parameters

dialogueId (required)
Path Parameter — specified dialogue id

Consumes

This API call consumes the following media types via the Content-Type request header:

Request body

body boolean (optional)
Body Parameter

Responses

200

success

401

permission denied

404

dialogue not found

500

internal server error

Up
put /conversation/dialogues/{dialogueId}/status
(setDialogueInsightStatus)
Set active status for contact on the host node. Access is granted to a contact token for an account with the specified contact

Path parameters

dialogueId (required)
Path Parameter — specified dialogue id

Consumes

This API call consumes the following media types via the Content-Type request header:

Request body

body string (optional)
Body Parameter

Responses

200

success

401

permission denied

404

dialogue not found

500

internal server error

Up
put /conversation/dialogues/{dialogueId}/subject
(setDialogueSubject)
Set the subject for a dialogue. Authorization granted the an app token for the account holder.

Path parameters

dialogueId (required)
Path Parameter — specified dialogue id

Consumes

This API call consumes the following media types via the Content-Type request header:

Request body

body dialogueId_subject_body (optional)
Body Parameter

Responses

201

success

401

permission denied

404

dialogue not found

500

internal server error

Up
delete /conversation/insights/{dialogueId}
(setInsightDialogue)
Remove a specified insight. If the referenced dialogue is still active, the insight will get recreated with the next hook receiver update. Access granted to contact token of a connected card.

Path parameters

dialogueId (required)
Path Parameter — insight id to update

Responses

200

success

401

permission denied

404

dialogue not found

500

internal server error

Up
put /conversation/insights/{insightId}/status
(setInsightStatus)
Set the status of an insight. This will cause the hook receiver to return an inactive status. Access granted to app token of account holder.

Path parameters

insightId (required)
Path Parameter — dialogue with insight id to update

Consumes

This API call consumes the following media types via the Content-Type request header:

Request body

body string (optional)
Body Parameter

Responses

200

success

401

permission denied

403

invalid state

404

insight not found

500

internal server error

Up
put /conversation/dialogues/{dialogueId}/topics/{topicId}/subject
(setTopicSubject)
Set the subject for a topic. Authorization granted to account holder app token or dialogue member contact token who is also the creator of the topic.

Path parameters

dialogueId (required)
Path Parameter — specified dialogue id
topicId (required)
Path Parameter — specified topic id

Consumes

This API call consumes the following media types via the Content-Type request header:

Request body

body topicId_subject_body (optional)
Body Parameter

Responses

201

entry created

401

invalid token

403

inactive dialogue

404

topic or dialogue not found

500

internal server error

Profile

Up
get /profile
(getProfile)
Get profile of accunt. Access granted to app token of account holder.

Return type

Profile

Example data

Content-Type: application/json
{
  "image" : "image",
  "node" : "node",
  "name" : "name",
  "description" : "description",
  "handle" : "handle",
  "location" : "location",
  "version" : "version",
  "did" : "did",
  "revision" : 0
}

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

200

success Profile

401

permission denied

500

internal server error

Up
get /profile/image
(getProfileImage)
Download base64 decoded data of profile image. Access granted to app tokens of account holder.

Return type

byte[]

Example data

Content-Type: application/json
""

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

200

success byte[]

401

permission denied

405

invalid image

500

internal server error

Up
get /profile/message
(getProfileMessage)
Get a profile data message. Access granted to app token of account holder or contact token of connected contact.

Return type

DataMessage

Example data

Content-Type: application/json
{
  "messageType" : "Connect",
  "signature" : "signature",
  "publicKey" : "publicKey",
  "message" : "message",
  "keyType" : "RSA4096"
}

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

200

success DataMessage

401

permission denied

500

internal server error

Up
put /profile
(setProfile)
Set profile data. Access granted to app tokens of account holder.

Consumes

This API call consumes the following media types via the Content-Type request header:

Request body

body ProfileData (optional)
Body Parameter

Responses

200

success

401

permission denied

500

internal server error

Share

Up
post /share/groups
(addGroup)
Add a group for sharing. Access granted to app tokens of account holder.

Consumes

This API call consumes the following media types via the Content-Type request header:

Request body

body share_groups_body (optional)
Body Parameter

Responses

200

entry created

401

permission denied

500

internal server error

Up
get /share/groups
(getGroups)
Get groups for sharing. Access granted to app tokens of the account holder.

Return type

array[Group]

Example data

Content-Type: application/json
[ {
  "subject" : {
    "data" : "data",
    "created" : 6,
    "type" : "type",
    "subjectId" : "subjectId",
    "revision" : 0
  }
}, {
  "subject" : {
    "data" : "data",
    "created" : 6,
    "type" : "type",
    "subjectId" : "subjectId",
    "revision" : 0
  }
} ]

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

Responses

200

successful operation

401

invalid token

500

internal server error

Up
delete /share/groups/{groupId}
(removeGroup)
Remove sharing group

Path parameters

groupId (required)
Path Parameter — specified group id

Responses

200

success

401

permission denied

404

group not found

500

internal server error

Up
put /share/groups/{groupId}
(updateGroup)
Update group description for sharing. Access granted to app tokens of account holder.

Path parameters

groupId (required)
Path Parameter — specified group id

Consumes

This API call consumes the following media types via the Content-Type request header:

Request body

body groups_groupId_body (optional)
Body Parameter

Responses

200

success

401

permission denied

404

group not found

500

internal server error

Status

Up
get /status
(status)
Websocket placeholder endpoint for receiving account status updates

Responses

200

Awaiting announce

Models

[ Jump to Methods ]

Table of Contents

  1. Account
  2. Announce
  3. App
  4. AppData
  5. Article
  6. Asset
  7. Authenticate
  8. Card
  9. CardData
  10. CardProfile
  11. CardView
  12. Connect
  13. DataMessage
  14. Dialogue
  15. Dialogue_insights
  16. Disconnect
  17. Group
  18. Insight
  19. Label
  20. Profile
  21. ProfileData
  22. Status
  23. Subject
  24. Tag
  25. Topic
  26. Tunnel
  27. articleId_assets_body
  28. articleId_subject_body
  29. content_articles_body
  30. content_labels_body
  31. dialogueId_subject_body
  32. groups_groupId_body
  33. inline_response_200
  34. inline_response_200_1
  35. inline_response_200_2
  36. inline_response_201
  37. inline_response_201_1
  38. labels_labelId_body
  39. share_groups_body
  40. topicId_assets_body
  41. topicId_subject_body
  42. topicId_tags_body

Account Up

accountId
profile

Announce Up

appToken

App Up

appId
appData
attached
Integer format: int32

AppData Up

name (optional)
description (optional)
url (optional)
image (optional)
String format: base64 encoded image

Article Up

articleId
revision
Long format: int64
status
Enum:
unconfirmed
confirmed
complete
error
subject
labels
groups (optional)
tagCount
Integer format: int32
tagUpdate (optional)
Integer format: int32
tagRevision
Long format: int64

Asset Up

assetId
transform (optional)
status (optional)
Enum:
pending
processing
ready
error

Authenticate Up

token
timestamp
Integer format: int32

Card Up

cardId
cardProfile
cardData
contentRevision
Long format: int64
converstaionRevision (optional)
Long format: int64

CardData Up

revision (optional)
Long format: int64
status
Enum:
pending
confirmed
requested
connecting
connected
notes (optional)
token (optional)
groups (optional)

CardProfile Up

handle (optional)
name (optional)
description (optional)
location (optional)
revision (optional)
Long format: int64
imageSet (optional)
node

CardView Up

cardId
cardRevision
Long format: int64
profileRevision
Long format: int64
contentRevision
Long format: int64
converstaionRevision (optional)
Long format: int64

Connect Up

requestorcardId (optional)
requestedcardId (optional)
timestamp
Integer format: int32
profile
token
contentRevision
Long format: int64

DataMessage Up

messageType
Enum:
Connect
Disconnect
Profile
Authenticate
message
String format: base64 encoded object
keyType
Enum:
RSA4096
RSA2048
publicKey
String format: base64 encoding of account key
signature
String format: base64 encoding of message signature

Dialogue Up

dialogueId
revision
Long format: int64
active
subject
insights

Dialogue_insights Up

cardId (optional)
status (optional)
Enum:
active
offsync
inactive
dismissed

Disconnect Up

requestorId
requestedId
timestamp
Integer format: int32

Group Up

subject

Insight Up

insightId
revision
Long format: int64
cardId
status
Enum:
active
inactive
dismissed

Label Up

subject
groups (optional)

Profile Up

did
handle (optional)
name (optional)
description (optional)
location (optional)
image (optional)
String format: base64 encoded data
revision
Long format: int64
version (optional)
node

ProfileData Up

handle (optional)
name (optional)
description (optional)
location (optional)
image (optional)

Status Up

profile
Long format: int64
content
Long format: int64
label
Long format: int64
share
Long format: int64
card
Long format: int64
dialogue
Long format: int64
insight
Long format: int64

Subject Up

subjectId
revision
Long format: int64
type
data
created
Integer format: int32

Tag Up

cardId
subject

Topic Up

articleId (optional)
revision
Long format: int64
status
Enum:
unconfirmed
confirmed
complete
error
subject
tagCount
Integer format: int32
tagUpdate (optional)
Integer format: int32
tagRevision
Long format: int64

Tunnel Up

cardId
type
data (optional)

articleId_assets_body Up

fileName (optional)
byte[] format: binary

articleId_subject_body Up

type
data

content_articles_body Up

labels
groups

content_labels_body Up

type
data

dialogueId_subject_body Up

type
data

groups_groupId_body Up

type
data

inline_response_200 Up

token (optional)
status
Enum:
pending
confirmed
requested
connecting
connected

inline_response_200_1 Up

id (optional)
revision (optional)
Long format: int64

inline_response_200_2 Up

blockId (optional)
blockRevision (optional)
Long format: int64
tag (optional)

inline_response_201 Up

blockId (optional)
blockRevision (optional)
Long format: int64
article (optional)

inline_response_201_1 Up

blockId (optional)
blockRevision (optional)
Long format: int64
topic (optional)

labels_labelId_body Up

type
data

share_groups_body Up

type
data

topicId_assets_body Up

fileName (optional)
byte[] format: binary

topicId_subject_body Up

type
data

topicId_tags_body Up

type
data