Tangled Public API

Public API for tangled.com

Authentication

Every endpoint requires an API key passed as the idem_api_token query parameter. Two key types exist and are not interchangeable:

Requests

All POST endpoints take a JSON request body (Content-Type: application/json). Sending an empty string for an optional field is the same as not sending the field.

Response envelope

Every endpoint always answers with HTTP 200, even on failure — never rely on the HTTP status code. Instead check the status field of the JSON body:

File uploads

Files (images, videos, attachments) are not sent through the REST API. Uploading is a two step flow: first Insert idem upload to get an idem_upload_guid, then upload the file with a tus client, sending that guid in a header. See Upload a file with tus in the Uploads section.

Chat socket

Real-time chat is not part of the REST API above. It runs over a WebSocket at wss://chat.tangled.com/chat/socket and does not use the response envelope or the idem_api_token query parameter. See the Chat Socket section.

Base URL: https://tangled.com
Download OpenAPI specification (YAML) — import it into Postman, Insomnia, Swagger UI or a client generator.

Content

GET

Get content

GET /api_public/9lviHCEgVQwetCn1klrL7ZER
Auth: ApplicationApiKey — idem_api_token (query)

Parameters

ParameterInTypeDescription
content_guid requiredquerystring

content_guid of the content record.

conn_content requiredquerystring

conn_content of the content record.

comment_list_order_byquerycreate_date_asc | create_date_desc

Responses

HTTP 200

Always HTTP 200. Check the body to tell success from failure — see the "Response envelope" note above.

application/json
Success

Returned when the request succeeds. The HTTP status code is 200. status is optional — a response may include it as true/"success", or omit it and return the requested data directly as the response body.

FieldTypeDescription
statusboolean | string

Marks a success response. Sent as boolean true or string "success" — this field may also be absent entirely, with the response body just being the requested data (see SuccessResponse).

Allowed values: true, success
or
Error

Returned when the request fails. The HTTP status code is still 200.

FieldTypeDescription
status requiredboolean | string

Marks an error response. Sent as boolean false or string "fail".

Allowed values: false, fail
codeinteger

Optional. Present only when the error is a handled exception.

Allowed values: 10, 30, 50, 202, 203, 204, 205, 252, 253, 270, 280, 1000, 1001
result_errorarray

Optional. Extra information about the error.

array of object:

One error detail entry. Usually carries message, but it is optional; other fields may be included depending on the error.

FieldTypeDescription
messagestring
GET

Get content list

GET /api_public/sZ4B8oZvc4UrpceQI8W3ZDyT
Auth: ApplicationApiKey — idem_api_token (query)

Parameters

ParameterInTypeDescription
content_list_type requiredqueryidem_content_list | content_list_recent | content_list_story | content_list_nsfw | content_list_hot | content_list_top_earned | content_list_video | content_list_premium | content_list_hashtag | content_list_profile | content_list_live_stream | content_list_application_instance | content_list_saved | content_list_unlocked
publish_date_begin_endquerystring

Optional. Format YYYY-MM-DD HH:mm:ss, e.g. 2026-09-25 13:46:20.

last_item_timestampquerystring

Optional. Format YYYY-MM-DD HH:mm:ss, e.g. 2026-09-25 11:35:47.

last_unlocked_timestampquerystring

Optional. Format YYYY-MM-DD HH:mm:ss, e.g. 2023-12-27 02:52:32. Available for content_list_type = content_list_unlocked only.

hashtagquerystring

Hashtag value without the # char, e.g. millix. Required when content_list_type = content_list_hashtag.

profile_idem_guidquerystring

idem_guid of the profile (user or group). Required when content_list_type = content_list_profile.

category_guidquerystring

Optional. Not documented yet. Available for content_list_type = content_list_recent only.

offsetqueryinteger

Optional. Pagination offset.

Default: 0 · Min: 0
limitqueryinteger

Optional. Maximum number of results to return.

Default: 10 · Min: 1 · Max: 20
idem_verification_level_minquery0 | 1 | 2 | 3

Optional. Minimum idem verification level of the content author. Available for content_list_type = content_list_recent only.

Default: 0
idem_badge_guidquerystring

Optional. Not documented yet. Available for content_list_type = content_list_recent only.

content_badge_guidquerystring

Optional. Not documented yet. Available for content_list_type = content_list_recent only.

content_type_guid_listquerystring

Optional. Not documented yet. Available for content_list_type = content_list_profile only.

Responses

HTTP 200

Always HTTP 200. Check the body to tell success from failure — see the "Response envelope" note above.

application/json
Success

Returned when the request succeeds. The HTTP status code is 200. status is optional — a response may include it as true/"success", or omit it and return the requested data directly as the response body.

FieldTypeDescription
statusboolean | string

Marks a success response. Sent as boolean true or string "success" — this field may also be absent entirely, with the response body just being the requested data (see SuccessResponse).

Allowed values: true, success
or
Error

Returned when the request fails. The HTTP status code is still 200.

FieldTypeDescription
status requiredboolean | string

Marks an error response. Sent as boolean false or string "fail".

Allowed values: false, fail
codeinteger

Optional. Present only when the error is a handled exception.

Allowed values: 10, 30, 50, 202, 203, 204, 205, 252, 253, 270, 280, 1000, 1001
result_errorarray

Optional. Extra information about the error.

array of object:

One error detail entry. Usually carries message, but it is optional; other fields may be included depending on the error.

FieldTypeDescription
messagestring
GET

Get content engagement log list

GET /api_public/bzmkj31WzSwvwJngmZFJKXbb
Auth: ApplicationApiKey — idem_api_token (query)

Parameters

ParameterInTypeDescription
content_guid requiredquerystring

content_guid of the content record.

conn_content requiredquerystring

conn_content of the content record.

date_begin requiredquerystring

Start of the period. Format YYYY-MM-DD HH:mm:ss, e.g. 2026-09-23 18:38:22.

date_end requiredquerystring

End of the period. Format YYYY-MM-DD HH:mm:ss, e.g. 2026-09-23 18:38:22.

limitqueryinteger

Optional. Maximum number of results to return.

Default: 30 · Min: 1 · Max: 100

Responses

HTTP 200

Always HTTP 200. Check the body to tell success from failure — see the "Response envelope" note above.

application/json
Success

Returned when the request succeeds. The HTTP status code is 200. status is optional — a response may include it as true/"success", or omit it and return the requested data directly as the response body.

FieldTypeDescription
statusboolean | string

Marks a success response. Sent as boolean true or string "success" — this field may also be absent entirely, with the response body just being the requested data (see SuccessResponse).

Allowed values: true, success
or
Error

Returned when the request fails. The HTTP status code is still 200.

FieldTypeDescription
status requiredboolean | string

Marks an error response. Sent as boolean false or string "fail".

Allowed values: false, fail
codeinteger

Optional. Present only when the error is a handled exception.

Allowed values: 10, 30, 50, 202, 203, 204, 205, 252, 253, 270, 280, 1000, 1001
result_errorarray

Optional. Extra information about the error.

array of object:

One error detail entry. Usually carries message, but it is optional; other fields may be included depending on the error.

FieldTypeDescription
messagestring
POST

Upsert content

POST /api_public/hEOHr7zyXNYdfWzgUnhpmXzy
Auth: ApplicationApiKey — idem_api_token (query)

Creates or updates a content record (post, story, live stream, etc).

Request Body

application/json
FieldTypeDescription
idem_account_guid_fromstring

Optional. Source account guid.

content_guidstring

Optional. content_guid of an existing content record, to update it in place. Send together with conn_content.

conn_contentstring

Optional. conn_content of an existing content record, to update it in place. Send together with content_guid.

content_post_to requiredstring

idem_guid of the group the post is being made to, or idem_guid of the current user.

content_type_guid requiredstring
  • tv9rCCBPU = CONTENT_TYPE_GUID_STORY
  • Jj2G2UBVc = CONTENT_TYPE_GUID_APPLICATION_INSTANCE
  • 7635c530c72d8a5f85d608215abe7ca4 = CONTENT_TYPE_GUID_TEXT_SIMPLE
  • a982177ca10b39a275817659d037599c = CONTENT_TYPE_GUID_FILE_IMAGE
  • vMsZsLXZi = CONTENT_TYPE_GUID_FILE_MEDIA_MIXED
  • 92041607714c2e6cebed1e42aa207c11 = CONTENT_TYPE_GUID_FILE_VIDEO
  • LmOs2st0gBZxJw17xFHrV4y6nKUyzccl = CONTENT_TYPE_GUID_CONTENT_VIEW_BODY_FEE
  • pKpjOoHuT = CONTENT_TYPE_GUID_LIVE_STREAM
Allowed values: tv9rCCBPU, Jj2G2UBVc, 7635c530c72d8a5f85d608215abe7ca4, a982177ca10b39a275817659d037599c, vMsZsLXZi, 92041607714c2e6cebed1e42aa207c11, LmOs2st0gBZxJw17xFHrV4y6nKUyzccl, pKpjOoHuT
content_text requiredobject

Content body as a Quill.js delta object.

FieldTypeDescription
ops requiredarray
array of object
content_obscenityboolean
publish_date_begin_timestampinteger

Unix timestamp in milliseconds the content should be published at.

content_promotion_balancenumber

Balance allocated to promoting this content.

content_promotion_date_endstring

Optional. Date and time when the promotion ends. Format YYYY-MM-DD HH:mm:ss, e.g. 2026-10-19 18:00:00. When the promotion ends, the remaining content_promotion_balance is refunded. Maximum is 7 days from publish_date_begin_timestamp. Default to 3 days from publish_date_begin_timestamp.

tag_all_subscribersboolean
subscriber_onlyboolean
content_privateboolean
  • false = everyone
  • true = login_required
acl_content_view_body_feenumber

Fee required to view the content body.

acl_content_view_body_teaserstring

Teaser text shown to users who haven't paid the view fee.

acl_content_view_comment_body_intervalinteger

Access control interval for viewing comment bodies, in minutes.

Min: 0 · Max: 4320
content_urlobject

Attached link and its preview behavior.

FieldTypeDescription
urlstring
Format: uri
preview_is_disabledboolean
calendar_event_timestampinteger

Unix timestamp in milliseconds of the associated calendar event. 0 = no calendar event.

calendar_event_titlestring
content_ledger_listarray

List of ledger entries attached to the content, e.g. [{"idem_guid_to":"another_user_idem_guid","amount":1,"currency_guid":"MLXSwqbaW"}]

array of object:
FieldTypeDescription
amount requirednumber

Amount to be sent.

currency_guid requiredstring

Always MLXSwqbaW (millix).

Allowed values: MLXSwqbaW
idem_guid_to requiredstring

idem_guid of recipient.

attachment_listarray

Optional. Files attached to the content. Upload every file first (see the Uploads section), then list them here, e.g. [{"idem_upload_guid":"UPLOAD_GUID","file_name_original":"photo.png","role_name":"content_attachment"}]

array of object:

A file attached to content. The file itself is uploaded first, see Upload a file with tus, this object links the finished upload to the content.

FieldTypeDescription
idem_upload_guid requiredstring

idem_upload_guid from Insert idem upload, the same one that was sent to the tus upload.

file_name_original requiredstring

Original name of the file, e.g. photo.png. Same value as the filename metadata of the tus upload.

role_name requiredstring

What the file is used for. Same value as the x-role header of the tus upload.

  • content_attachment — image or file
  • content_attachment_video — video
Allowed values: content_attachment, content_attachment_video

Responses

HTTP 200

Always HTTP 200. Check the body to tell success from failure — see the "Response envelope" note above.

application/json
Success

Returned when the request succeeds. The HTTP status code is 200. status is optional — a response may include it as true/"success", or omit it and return the requested data directly as the response body.

FieldTypeDescription
statusboolean | string

Marks a success response. Sent as boolean true or string "success" — this field may also be absent entirely, with the response body just being the requested data (see SuccessResponse).

Allowed values: true, success
or
Error

Returned when the request fails. The HTTP status code is still 200.

FieldTypeDescription
status requiredboolean | string

Marks an error response. Sent as boolean false or string "fail".

Allowed values: false, fail
codeinteger

Optional. Present only when the error is a handled exception.

Allowed values: 10, 30, 50, 202, 203, 204, 205, 252, 253, 270, 280, 1000, 1001
result_errorarray

Optional. Extra information about the error.

array of object:

One error detail entry. Usually carries message, but it is optional; other fields may be included depending on the error.

FieldTypeDescription
messagestring

Comments

GET

Get comment list

GET /api_public/JYn7aydNsII0FMaqhfdkzIIr
Auth: ApplicationApiKey — idem_api_token (query)

Parameters

ParameterInTypeDescription
content_guid requiredquerystring

content_guid of the content record.

conn_content requiredquerystring

conn_content of the content record.

comment_guidquerystring

Optional. Defines the parent comment from which to load down the comment tree.

first_level_offsetqueryinteger

Optional. Pagination offset for first-level (top-level) comments.

Default: 0 · Min: 0
comment_list_order_by requiredquerycreate_date_asc | create_date_desc
limitqueryinteger

Optional. Maximum number of results to return.

Default: 40 · Min: 1 · Max: 100

Responses

HTTP 200

Always HTTP 200. Check the body to tell success from failure — see the "Response envelope" note above.

application/json
Success

Returned when the request succeeds. The HTTP status code is 200. status is optional — a response may include it as true/"success", or omit it and return the requested data directly as the response body.

FieldTypeDescription
statusboolean | string

Marks a success response. Sent as boolean true or string "success" — this field may also be absent entirely, with the response body just being the requested data (see SuccessResponse).

Allowed values: true, success
or
Error

Returned when the request fails. The HTTP status code is still 200.

FieldTypeDescription
status requiredboolean | string

Marks an error response. Sent as boolean false or string "fail".

Allowed values: false, fail
codeinteger

Optional. Present only when the error is a handled exception.

Allowed values: 10, 30, 50, 202, 203, 204, 205, 252, 253, 270, 280, 1000, 1001
result_errorarray

Optional. Extra information about the error.

array of object:

One error detail entry. Usually carries message, but it is optional; other fields may be included depending on the error.

FieldTypeDescription
messagestring
POST

Insert comment

POST /api_public/EWjlMb3nBPAuG8PLzSpihBrf
Auth: ApplicationApiKey — idem_api_token (query)

Creates a new comment or reply. Existing comments cannot be updated through this endpoint.

  • For a first-level comment: object_guid = OBJECT_GUID_CONTENT, object_key = content_guid, conn_object = conn_content (from the content record), conn_reaction = conn_reaction (from the content record).
  • For a reply: object_guid = OBJECT_GUID_COMMENT, object_key = comment_guid of the parent comment, conn_object = conn_reaction (from the parent comment record), conn_reaction = conn_reaction (from the parent comment record).

Request Body

application/json
FieldTypeDescription
comment requiredobject

Comment body as a Quill.js delta object.

FieldTypeDescription
ops requiredarray
array of object
object_guid requiredstring

Subset of ObjectGuid accepted when commenting or reacting.

  • VgdQ75fSR = OBJECT_GUID_CONTENT
  • kvDmw7nEG = OBJECT_GUID_COMMENT
Allowed values: VgdQ75fSR, kvDmw7nEG
object_key requiredstring

content_guid for first-level comments, or the parent comment_guid for replies.

conn_object requiredstring

See operation description for which record field to use.

conn_reaction requiredstring

See operation description for which record field to use.

object_guid_context requiredstring

Always OBJECT_GUID_CONTENT (VgdQ75fSR).

Allowed values: VgdQ75fSR
object_key_context requiredstring

content_guid of the content this comment/reply ultimately belongs to.

conn_object_context requiredstring

conn_content from the content record.

attachment_listarray

Optional. Files attached to the comment. Upload every file first (see Upload a file with tus), then list them here, e.g. [{"idem_upload_guid":"UPLOAD_GUID","file_name_original":"photo.png","role_name":"comment_attachment"}]

array of object:

A file attached to a comment. The file itself is uploaded first, see Upload a file with tus, this object links the finished upload to the comment.

FieldTypeDescription
idem_upload_guid requiredstring

idem_upload_guid from Insert idem upload, the same one that was sent to the tus upload.

file_name_original requiredstring

Original name of the file, e.g. photo.png. Same value as the filename metadata of the tus upload.

role_name requiredstring

What the file is used for. Same value as the x-role header of the tus upload, always comment_attachment.

Allowed values: comment_attachment

Responses

HTTP 200

Always HTTP 200. Check the body to tell success from failure — see the "Response envelope" note above.

application/json
Success

Returned when the request succeeds. The HTTP status code is 200. status is optional — a response may include it as true/"success", or omit it and return the requested data directly as the response body.

FieldTypeDescription
statusboolean | string

Marks a success response. Sent as boolean true or string "success" — this field may also be absent entirely, with the response body just being the requested data (see SuccessResponse).

Allowed values: true, success
or
Error

Returned when the request fails. The HTTP status code is still 200.

FieldTypeDescription
status requiredboolean | string

Marks an error response. Sent as boolean false or string "fail".

Allowed values: false, fail
codeinteger

Optional. Present only when the error is a handled exception.

Allowed values: 10, 30, 50, 202, 203, 204, 205, 252, 253, 270, 280, 1000, 1001
result_errorarray

Optional. Extra information about the error.

array of object:

One error detail entry. Usually carries message, but it is optional; other fields may be included depending on the error.

FieldTypeDescription
messagestring

Reactions

POST

Upsert reaction

POST /api_public/gL5h1Aiu1rXAr1c39bSnw1YP
Auth: ApplicationApiKey — idem_api_token (query)

Adds or removes a reaction on a content or comment record. Works as a toggle: sending the same reaction (same object + same engagement) again flips its status — the first call adds it, the next call removes it, and so on.

  • Reacting to content: object_guid = OBJECT_GUID_CONTENT, object_key = content_guid, conn_object = conn_content (from the content record), conn_reaction = conn_reaction (from the content record).
  • Reacting to a comment: object_guid = OBJECT_GUID_COMMENT, object_key = comment_guid, conn_object = conn_reaction (from the comment record), conn_reaction = conn_reaction (from the comment record).

The engagement is picked with engagement_object_guid + engagement_object_key:

  • OBJECT_GUID_ENGAGEMENT_TYPE (fLQtZfj92) — engagement_object_key = engagement_type_guid from Get engagement type list.
  • OBJECT_GUID_BADGE (zRbpHTT2M) — engagement_object_key = object_key of an idem_badge from Get idem badge list.

Request Body

application/json
FieldTypeDescription
object_guid requiredstring

Subset of ObjectGuid accepted when commenting or reacting.

  • VgdQ75fSR = OBJECT_GUID_CONTENT
  • kvDmw7nEG = OBJECT_GUID_COMMENT
Allowed values: VgdQ75fSR, kvDmw7nEG
object_key requiredstring

content_guid when reacting to content, or comment_guid when reacting to a comment.

conn_object requiredstring
  • conn_content from the content record when reacting to content
  • conn_reaction from the comment record when reacting to a comment
conn_reaction requiredstring
  • conn_reaction from the content record when reacting to content
  • conn_reaction from the comment record when reacting to a comment
object_guid_context requiredstring

Always OBJECT_GUID_CONTENT (VgdQ75fSR).

Allowed values: VgdQ75fSR
object_key_context requiredstring

content_guid of the content the reaction ultimately belongs to.

conn_object_context requiredstring

conn_content from the content record.

engagement_object_guid requiredstring

Type of engagement.

Allowed values: fLQtZfj92, zRbpHTT2M
engagement_object_key requiredstring
  • engagement_type_guid when engagement_object_guid = OBJECT_GUID_ENGAGEMENT_TYPE
  • object_key of the idem_badge when engagement_object_guid = OBJECT_GUID_BADGE

Responses

HTTP 200

Always HTTP 200. Check the body to tell success from failure — see the "Response envelope" note above.

application/json
Success

Returned when the request succeeds. The HTTP status code is 200. status is optional — a response may include it as true/"success", or omit it and return the requested data directly as the response body.

FieldTypeDescription
statusboolean | string

Marks a success response. Sent as boolean true or string "success" — this field may also be absent entirely, with the response body just being the requested data (see SuccessResponse).

Allowed values: true, success
or
Error

Returned when the request fails. The HTTP status code is still 200.

FieldTypeDescription
status requiredboolean | string

Marks an error response. Sent as boolean false or string "fail".

Allowed values: false, fail
codeinteger

Optional. Present only when the error is a handled exception.

Allowed values: 10, 30, 50, 202, 203, 204, 205, 252, 253, 270, 280, 1000, 1001
result_errorarray

Optional. Extra information about the error.

array of object:

One error detail entry. Usually carries message, but it is optional; other fields may be included depending on the error.

FieldTypeDescription
messagestring
GET

Get engagement type list

GET /api_public/yYz3owXJr3vg4tKXfaWiqWNB
Auth: ApplicationApiKey — idem_api_token (query)

Returns the engagement types available to the authenticated user. Use engagement_type_guid as engagement_object_key in Upsert reaction with OBJECT_GUID_ENGAGEMENT_TYPE.

Responses

HTTP 200

Always HTTP 200. Check the body to tell success from failure — see the "Response envelope" note above.

application/json
Success

Returned when the request succeeds. The HTTP status code is 200. status is optional — a response may include it as true/"success", or omit it and return the requested data directly as the response body.

FieldTypeDescription
statusboolean | string

Marks a success response. Sent as boolean true or string "success" — this field may also be absent entirely, with the response body just being the requested data (see SuccessResponse).

Allowed values: true, success
or
Error

Returned when the request fails. The HTTP status code is still 200.

FieldTypeDescription
status requiredboolean | string

Marks an error response. Sent as boolean false or string "fail".

Allowed values: false, fail
codeinteger

Optional. Present only when the error is a handled exception.

Allowed values: 10, 30, 50, 202, 203, 204, 205, 252, 253, 270, 280, 1000, 1001
result_errorarray

Optional. Extra information about the error.

array of object:

One error detail entry. Usually carries message, but it is optional; other fields may be included depending on the error.

FieldTypeDescription
messagestring
GET

Get idem badge list

GET /api_public/by9dMlzZH67RAvIfDNAfPBlj
Auth: ApplicationApiKey — idem_api_token (query)

Returns the badges (idem_badge) available to the authenticated user. Use the badge's object_key as engagement_object_key in Upsert reaction with OBJECT_GUID_BADGE.

Responses

HTTP 200

Always HTTP 200. Check the body to tell success from failure — see the "Response envelope" note above.

application/json
Success

Returned when the request succeeds. The HTTP status code is 200. status is optional — a response may include it as true/"success", or omit it and return the requested data directly as the response body.

FieldTypeDescription
statusboolean | string

Marks a success response. Sent as boolean true or string "success" — this field may also be absent entirely, with the response body just being the requested data (see SuccessResponse).

Allowed values: true, success
or
Error

Returned when the request fails. The HTTP status code is still 200.

FieldTypeDescription
status requiredboolean | string

Marks an error response. Sent as boolean false or string "fail".

Allowed values: false, fail
codeinteger

Optional. Present only when the error is a handled exception.

Allowed values: 10, 30, 50, 202, 203, 204, 205, 252, 253, 270, 280, 1000, 1001
result_errorarray

Optional. Extra information about the error.

array of object:

One error detail entry. Usually carries message, but it is optional; other fields may be included depending on the error.

FieldTypeDescription
messagestring
GET

Get badge list

GET /api_public/h1ZVvA4I8XOj9HN92csBqbli
Auth: ApplicationApiKey — idem_api_token (query)

Returns the list of badges. When update_date_begin is provided, only badges updated after that date are returned.

Parameters

ParameterInTypeDescription
update_date_beginquerystring

Optional. Format YYYY-MM-DD HH:mm:ss, e.g. 2026-09-29 20:10:08.

Responses

HTTP 200

Always HTTP 200. Check the body to tell success from failure — see the "Response envelope" note above.

application/json
Success

Returned when the request succeeds. The HTTP status code is 200. status is optional — a response may include it as true/"success", or omit it and return the requested data directly as the response body.

FieldTypeDescription
statusboolean | string

Marks a success response. Sent as boolean true or string "success" — this field may also be absent entirely, with the response body just being the requested data (see SuccessResponse).

Allowed values: true, success
or
Error

Returned when the request fails. The HTTP status code is still 200.

FieldTypeDescription
status requiredboolean | string

Marks an error response. Sent as boolean false or string "fail".

Allowed values: false, fail
codeinteger

Optional. Present only when the error is a handled exception.

Allowed values: 10, 30, 50, 202, 203, 204, 205, 252, 253, 270, 280, 1000, 1001
result_errorarray

Optional. Extra information about the error.

array of object:

One error detail entry. Usually carries message, but it is optional; other fields may be included depending on the error.

FieldTypeDescription
messagestring

Live Stream

POST

Set live stream status

POST /api_public/oAWGWEek0XQMa0hrbs45AljV
Auth: ApplicationApiKey — idem_api_token (query)

Request Body

application/json
FieldTypeDescription
content_guid requiredstring

content_guid of the live stream content record.

conn_content requiredstring

conn_content of the live stream content record.

status requiredinteger
  • 2 = LIVE_STREAM_STATUS_LIVE
  • 3 = LIVE_STREAM_STATUS_DONE
Allowed values: 2, 3

Responses

HTTP 200

Always HTTP 200. Check the body to tell success from failure — see the "Response envelope" note above.

application/json
Success

Returned when the request succeeds. The HTTP status code is 200. status is optional — a response may include it as true/"success", or omit it and return the requested data directly as the response body.

FieldTypeDescription
statusboolean | string

Marks a success response. Sent as boolean true or string "success" — this field may also be absent entirely, with the response body just being the requested data (see SuccessResponse).

Allowed values: true, success
or
Error

Returned when the request fails. The HTTP status code is still 200.

FieldTypeDescription
status requiredboolean | string

Marks an error response. Sent as boolean false or string "fail".

Allowed values: false, fail
codeinteger

Optional. Present only when the error is a handled exception.

Allowed values: 10, 30, 50, 202, 203, 204, 205, 252, 253, 270, 280, 1000, 1001
result_errorarray

Optional. Extra information about the error.

array of object:

One error detail entry. Usually carries message, but it is optional; other fields may be included depending on the error.

FieldTypeDescription
messagestring

Payments

POST

Send amount

POST /api_public/wbuT8rOKvemEAtvM9rIBNoiI
Auth: ApplicationApiKey — idem_api_token (query)

Sends millix (mlx) from the authenticated account to another user.

Request Body

application/json
FieldTypeDescription
amount requirednumber

Amount to send, in mlx.

recipient requiredstring

Formatted user name of the recipient. e.g. @user_name for users and g/group_name for groups

idem_account_guid_fromstring

Optional. Source account guid.

note_sharedstring

Optional. Note visible to both sender and recipient.

note_privatestring

Optional. Note visible only to the sender.

Responses

HTTP 200

Always HTTP 200. Check the body to tell success from failure — see the "Response envelope" note above.

application/json
Success

Returned when the request succeeds. The HTTP status code is 200. status is optional — a response may include it as true/"success", or omit it and return the requested data directly as the response body.

FieldTypeDescription
statusboolean | string

Marks a success response. Sent as boolean true or string "success" — this field may also be absent entirely, with the response body just being the requested data (see SuccessResponse).

Allowed values: true, success
or
Error

Returned when the request fails. The HTTP status code is still 200.

FieldTypeDescription
status requiredboolean | string

Marks an error response. Sent as boolean false or string "fail".

Allowed values: false, fail
codeinteger

Optional. Present only when the error is a handled exception.

Allowed values: 10, 30, 50, 202, 203, 204, 205, 252, 253, 270, 280, 1000, 1001
result_errorarray

Optional. Extra information about the error.

array of object:

One error detail entry. Usually carries message, but it is optional; other fields may be included depending on the error.

FieldTypeDescription
messagestring

Notifications

GET

Get idem notification list

GET /api_public/D1Y7WQ0mdI20uwYRMYjQbLNv
Auth: ApplicationApiKey — idem_api_token (query)

Parameters

ParameterInTypeDescription
date_beginqueryinteger

Optional. Unix timestamp in seconds. Only notifications with a create date strictly greater than this timestamp are returned.

Min: 0
limitqueryinteger

Optional. Maximum number of results to return.

Default: 100 · Min: 1 · Max: 200

Responses

HTTP 200

Always HTTP 200. Check the body to tell success from failure — see the "Response envelope" note above.

application/json
Success

Returned when the request succeeds. The HTTP status code is 200. status is optional — a response may include it as true/"success", or omit it and return the requested data directly as the response body.

FieldTypeDescription
statusboolean | string

Marks a success response. Sent as boolean true or string "success" — this field may also be absent entirely, with the response body just being the requested data (see SuccessResponse).

Allowed values: true, success
or
Error

Returned when the request fails. The HTTP status code is still 200.

FieldTypeDescription
status requiredboolean | string

Marks an error response. Sent as boolean false or string "fail".

Allowed values: false, fail
codeinteger

Optional. Present only when the error is a handled exception.

Allowed values: 10, 30, 50, 202, 203, 204, 205, 252, 253, 270, 280, 1000, 1001
result_errorarray

Optional. Extra information about the error.

array of object:

One error detail entry. Usually carries message, but it is optional; other fields may be included depending on the error.

FieldTypeDescription
messagestring

Idem

GET

Get idem activity stream

GET /api_public/NtWkH01LuSt1IZ3sZrpTInDX
Auth: ApplicationApiKey — idem_api_token (query)

Parameters

ParameterInTypeDescription
date_begin requiredqueryinteger

Unix timestamp in seconds. Only records with a create date strictly greater than this timestamp are returned.

Min: 0
limitqueryinteger

Optional. Maximum number of results to return.

Default: 100 · Min: 1 · Max: 200

Responses

HTTP 200

Always HTTP 200. Check the body to tell success from failure — see the "Response envelope" note above.

application/json
Success

Returned when the request succeeds. The HTTP status code is 200. status is optional — a response may include it as true/"success", or omit it and return the requested data directly as the response body.

FieldTypeDescription
statusboolean | string

Marks a success response. Sent as boolean true or string "success" — this field may also be absent entirely, with the response body just being the requested data (see SuccessResponse).

Allowed values: true, success
or
Error

Returned when the request fails. The HTTP status code is still 200.

FieldTypeDescription
status requiredboolean | string

Marks an error response. Sent as boolean false or string "fail".

Allowed values: false, fail
codeinteger

Optional. Present only when the error is a handled exception.

Allowed values: 10, 30, 50, 202, 203, 204, 205, 252, 253, 270, 280, 1000, 1001
result_errorarray

Optional. Extra information about the error.

array of object:

One error detail entry. Usually carries message, but it is optional; other fields may be included depending on the error.

FieldTypeDescription
messagestring
GET

Get idem summary list

GET /api_public/Os4FQEyp004Zu2rDMHTWyw9Z
Auth: ApplicationApiKey — idem_api_token (query)

Parameters

ParameterInTypeDescription
create_date_begin requiredquerystring

Format YYYY-MM-DD HH:mm:ss, e.g. 2026-09-29 20:10:08.

limitqueryinteger

Optional. Maximum number of results to return.

Default: 10 · Min: 1 · Max: 50

Responses

HTTP 200

Always HTTP 200. Check the body to tell success from failure — see the "Response envelope" note above.

application/json
Success

Returned when the request succeeds. The HTTP status code is 200. status is optional — a response may include it as true/"success", or omit it and return the requested data directly as the response body.

FieldTypeDescription
statusboolean | string

Marks a success response. Sent as boolean true or string "success" — this field may also be absent entirely, with the response body just being the requested data (see SuccessResponse).

Allowed values: true, success
or
Error

Returned when the request fails. The HTTP status code is still 200.

FieldTypeDescription
status requiredboolean | string

Marks an error response. Sent as boolean false or string "fail".

Allowed values: false, fail
codeinteger

Optional. Present only when the error is a handled exception.

Allowed values: 10, 30, 50, 202, 203, 204, 205, 252, 253, 270, 280, 1000, 1001
result_errorarray

Optional. Extra information about the error.

array of object:

One error detail entry. Usually carries message, but it is optional; other fields may be included depending on the error.

FieldTypeDescription
messagestring
GET

Get idem detail

GET /api_public/1d6tFgCGnUQ3wdsieUX4uW62
Auth: ApplicationApiKey — idem_api_token (query)

Returns the details of an idem (user or group).

Parameters

ParameterInTypeDescription
idem_guid requiredquerystring

idem_guid of the user or group.

Responses

HTTP 200

Always HTTP 200. Check the body to tell success from failure — see the "Response envelope" note above.

application/json
Success

Returned when the request succeeds. The HTTP status code is 200. status is optional — a response may include it as true/"success", or omit it and return the requested data directly as the response body.

FieldTypeDescription
statusboolean | string

Marks a success response. Sent as boolean true or string "success" — this field may also be absent entirely, with the response body just being the requested data (see SuccessResponse).

Allowed values: true, success
or
Error

Returned when the request fails. The HTTP status code is still 200.

FieldTypeDescription
status requiredboolean | string

Marks an error response. Sent as boolean false or string "fail".

Allowed values: false, fail
codeinteger

Optional. Present only when the error is a handled exception.

Allowed values: 10, 30, 50, 202, 203, 204, 205, 252, 253, 270, 280, 1000, 1001
result_errorarray

Optional. Extra information about the error.

array of object:

One error detail entry. Usually carries message, but it is optional; other fields may be included depending on the error.

FieldTypeDescription
messagestring

Subscriptions

GET

Get idem subscription list

GET /api_public/kpHeW13PKdm8ksVavH5CgiDZ
Auth: ApplicationApiKey — idem_api_token (query)

Returns the subscriptions of the authenticated user. Each subscription carries an idem_subscription_type_guid (see IdemSubscriptionTypeGuid):

  • f7Tr2qxpN = IDEM_SUBSCRIPTION_TYPE_GUID_IDEM_TO_IDEM
  • VrzdsVcZS = IDEM_SUBSCRIPTION_TYPE_GUID_IDEM_TO_GROUP
  • SQ01WMT6I = IDEM_SUBSCRIPTION_TYPE_GUID_IDEM_TO_BADGE_CONTENT
  • WWqNmkWbf = IDEM_SUBSCRIPTION_TYPE_GUID_IDEM_TO_TAG_HASH

Parameters

ParameterInTypeDescription
statusquery0 | 1

Optional. Filter by subscription status, 1 or 0.

Responses

HTTP 200

Always HTTP 200. Check the body to tell success from failure — see the "Response envelope" note above.

application/json
Success

Returned when the request succeeds. The HTTP status code is 200. status is optional — a response may include it as true/"success", or omit it and return the requested data directly as the response body.

FieldTypeDescription
statusboolean | string

Marks a success response. Sent as boolean true or string "success" — this field may also be absent entirely, with the response body just being the requested data (see SuccessResponse).

Allowed values: true, success
or
Error

Returned when the request fails. The HTTP status code is still 200.

FieldTypeDescription
status requiredboolean | string

Marks an error response. Sent as boolean false or string "fail".

Allowed values: false, fail
codeinteger

Optional. Present only when the error is a handled exception.

Allowed values: 10, 30, 50, 202, 203, 204, 205, 252, 253, 270, 280, 1000, 1001
result_errorarray

Optional. Extra information about the error.

array of object:

One error detail entry. Usually carries message, but it is optional; other fields may be included depending on the error.

FieldTypeDescription
messagestring
GET

Get idem subscriber list

GET /api_public/p8NY1dUukTi92lcqTahQ1epr
Auth: ApplicationApiKey — idem_api_token (query)

Returns the subscribers of the authenticated user.

Responses

HTTP 200

Always HTTP 200. Check the body to tell success from failure — see the "Response envelope" note above.

application/json
Success

Returned when the request succeeds. The HTTP status code is 200. status is optional — a response may include it as true/"success", or omit it and return the requested data directly as the response body.

FieldTypeDescription
statusboolean | string

Marks a success response. Sent as boolean true or string "success" — this field may also be absent entirely, with the response body just being the requested data (see SuccessResponse).

Allowed values: true, success
or
Error

Returned when the request fails. The HTTP status code is still 200.

FieldTypeDescription
status requiredboolean | string

Marks an error response. Sent as boolean false or string "fail".

Allowed values: false, fail
codeinteger

Optional. Present only when the error is a handled exception.

Allowed values: 10, 30, 50, 202, 203, 204, 205, 252, 253, 270, 280, 1000, 1001
result_errorarray

Optional. Extra information about the error.

array of object:

One error detail entry. Usually carries message, but it is optional; other fields may be included depending on the error.

FieldTypeDescription
messagestring
POST

Upsert idem subscription

POST /api_public/eBZXVbsBB4vxI0qmOvmfDYwN
Auth: ApplicationApiKey — idem_api_token (query)

Subscribes the authenticated user to, or unsubscribes from, an idem, a badge or a tag. Set status to 1 to subscribe and 0 to unsubscribe.

The target is picked with object_guid + object_key:

  • OBJECT_GUID_IDEM (IuHltsyvV) - object_key = idem_guid
  • OBJECT_GUID_BADGE (zRbpHTT2M) - object_key = badge_guid
  • OBJECT_GUID_TAG (frQTZal9M) - object_key = tag_guid

Use Get idem subscription list to read the resulting subscriptions.

Request Body

application/json
FieldTypeDescription
object_guid requiredstring

Type of the object to subscribe to.

  • IuHltsyvV = OBJECT_GUID_IDEM
  • zRbpHTT2M = OBJECT_GUID_BADGE
  • frQTZal9M = OBJECT_GUID_TAG
Allowed values: IuHltsyvV, zRbpHTT2M, frQTZal9M
object_key requiredstring

Identifier of the object:

  • idem_guid when object_guid = OBJECT_GUID_IDEM
  • badge_guid when object_guid = OBJECT_GUID_BADGE
  • tag_guid when object_guid = OBJECT_GUID_TAG
status requiredinteger

1 = subscribe, 0 = unsubscribe.

Allowed values: 0, 1

Responses

HTTP 200

Always HTTP 200. Check the body to tell success from failure — see the "Response envelope" note above.

application/json
Success

Returned when the request succeeds. The HTTP status code is 200. status is optional — a response may include it as true/"success", or omit it and return the requested data directly as the response body.

FieldTypeDescription
statusboolean | string

Marks a success response. Sent as boolean true or string "success" — this field may also be absent entirely, with the response body just being the requested data (see SuccessResponse).

Allowed values: true, success
or
Error

Returned when the request fails. The HTTP status code is still 200.

FieldTypeDescription
status requiredboolean | string

Marks an error response. Sent as boolean false or string "fail".

Allowed values: false, fail
codeinteger

Optional. Present only when the error is a handled exception.

Allowed values: 10, 30, 50, 202, 203, 204, 205, 252, 253, 270, 280, 1000, 1001
result_errorarray

Optional. Extra information about the error.

array of object:

One error detail entry. Usually carries message, but it is optional; other fields may be included depending on the error.

FieldTypeDescription
messagestring

Languages

GET

Get language list

GET /api_public/2ZXxOWcfx7All7vSPIQl51mS
Auth: ApplicationApiKey — idem_api_token (query)

Returns the list of languages.

Responses

HTTP 200

Always HTTP 200. Check the body to tell success from failure — see the "Response envelope" note above.

application/json
Success

Returned when the request succeeds. The HTTP status code is 200. status is optional — a response may include it as true/"success", or omit it and return the requested data directly as the response body.

FieldTypeDescription
statusboolean | string

Marks a success response. Sent as boolean true or string "success" — this field may also be absent entirely, with the response body just being the requested data (see SuccessResponse).

Allowed values: true, success
or
Error

Returned when the request fails. The HTTP status code is still 200.

FieldTypeDescription
status requiredboolean | string

Marks an error response. Sent as boolean false or string "fail".

Allowed values: false, fail
codeinteger

Optional. Present only when the error is a handled exception.

Allowed values: 10, 30, 50, 202, 203, 204, 205, 252, 253, 270, 280, 1000, 1001
result_errorarray

Optional. Extra information about the error.

array of object:

One error detail entry. Usually carries message, but it is optional; other fields may be included depending on the error.

FieldTypeDescription
messagestring

Uploads

POST

Insert idem upload

POST /api_public/O1JpeADvzQxl9OtJY4zbDjjf
Auth: ApplicationApiKey — idem_api_token (query)

Creates an idem_upload record. Takes no parameters, send an empty request. The response contains data.idem_upload_guid, which must be sent as the x-idem-upload-guid header when uploading the file with tus (see Upload a file with tus). Call it once per file.

Responses

HTTP 200

Always HTTP 200. Check status in the body, see the "Response envelope" note above. On success data contains idem_upload_guid.

application/json
Success
FieldTypeDescription
statusboolean | string

Marks a success response. Sent as boolean true or string "success" — this field may also be absent entirely, with the response body just being the requested data (see SuccessResponse).

Allowed values: true, success
dataobject
FieldTypeDescription
idem_upload_guidstring

Send it as the x-idem-upload-guid header of the tus upload.

result_errorarray

Empty on success.

array of object:

One error detail entry. Usually carries message, but it is optional; other fields may be included depending on the error.

FieldTypeDescription
messagestring
or
Error

Returned when the request fails. The HTTP status code is still 200.

FieldTypeDescription
status requiredboolean | string

Marks an error response. Sent as boolean false or string "fail".

Allowed values: false, fail
codeinteger

Optional. Present only when the error is a handled exception.

Allowed values: 10, 30, 50, 202, 203, 204, 205, 252, 253, 270, 280, 1000, 1001
result_errorarray

Optional. Extra information about the error.

array of object:

One error detail entry. Usually carries message, but it is optional; other fields may be included depending on the error.

FieldTypeDescription
messagestring
TUS

Upload a file with tus

TUS https://content-0001-upload.tangled.com/tus/upload

Resumable upload of one file with a tus client (for example tus-js-client).

Flow

  1. Call Insert idem upload and read data.idem_upload_guid from the response.
  2. Start a tus upload to the upload endpoint, with the headers and metadata below.
  3. When the upload finishes, the file is available under that idem_upload_guid.

Notes

  • The upload does not use the idem_api_token query parameter and the status envelope. It is identified by the headers below.
  • Use one idem_upload_guid per file.
  • Chunks are sent with PATCH of at most 5 MB each, the client resumes from the last confirmed offset.

Headers

NameTypeDescription
x-idem-guid requiredstring

idem_guid of the user who uploads the file.

x-role requiredstring

What the uploaded file is used for. Sent as the x-role header of the tus upload.

  • content_attachment — file attached to content (image, file)
  • content_attachment_video — video attached to content
  • comment_attachment — file attached to a comment
Allowed values: content_attachment, content_attachment_video, comment_attachment
x-idem-upload-guid requiredstring

idem_upload_guid from Insert idem upload.

Upload metadata

Sent with the tus Upload-Metadata header, the client encodes it for you.

NameTypeDescription
filename requiredstring

Original file name.

filetype requiredstring

MIME type of the file, e.g. image/png.

authorIdemGuid requiredstring

idem_guid of the user who uploads the file. Same value as x-idem-guid.

Client settings

Chunk size: 5000000 bytes · Retry delays: 0, 3000, 6000, 12000, 24000 ms

Example

new tus.Upload(file, {
  endpoint: 'https://content-0001-upload.tangled.com/tus/upload',
  retryDelays: [0, 3000, 6000, 12000, 24000],
  chunkSize: 5 * 1000 * 1000,
  headers: {
    'x-idem-guid': idemGuid,
    'x-role': 'content_attachment',
    'x-idem-upload-guid': idemUploadGuid
  },
  metadata: {
    filename: file.name,
    filetype: file.type,
    authorIdemGuid: idemGuid
  }
}).start();

Exchange

GET

Get user state

GET /api_public/exchange/exchange_get_user_state
Auth: ExchangeApiKey — idem_api_token (query)

Returns the state of the authenticated user.

Responses

HTTP 200

Always HTTP 200. Check the body to tell success from failure — see the "Response envelope" note above.

application/json
Success

Returned when the request succeeds. The HTTP status code is 200. status is optional — a response may include it as true/"success", or omit it and return the requested data directly as the response body.

FieldTypeDescription
statusboolean | string

Marks a success response. Sent as boolean true or string "success" — this field may also be absent entirely, with the response body just being the requested data (see SuccessResponse).

Allowed values: true, success
or
Error

Returned when the request fails. The HTTP status code is still 200.

FieldTypeDescription
status requiredboolean | string

Marks an error response. Sent as boolean false or string "fail".

Allowed values: false, fail
codeinteger

Optional. Present only when the error is a handled exception.

Allowed values: 10, 30, 50, 202, 203, 204, 205, 252, 253, 270, 280, 1000, 1001
result_errorarray

Optional. Extra information about the error.

array of object:

One error detail entry. Usually carries message, but it is optional; other fields may be included depending on the error.

FieldTypeDescription
messagestring
POST

Insert order

POST /api_public/exchange/exchange_insert_order
Auth: ExchangeApiKey — idem_api_token (query)

Request Body

application/json
FieldTypeDescription
action requiredstring

Order side — bid (buy) or ask (sell).

Allowed values: bid, ask
currency_pair_guidstring

Required if currency_pair_symbol is not sent.

currency_pair_symbolstring

Required if currency_pair_guid is not sent.

amount requirednumber
price requirednumber

Responses

HTTP 200

Always HTTP 200. Check the body to tell success from failure — see the "Response envelope" note above.

application/json
Success

Returned when the request succeeds. The HTTP status code is 200. status is optional — a response may include it as true/"success", or omit it and return the requested data directly as the response body.

FieldTypeDescription
statusboolean | string

Marks a success response. Sent as boolean true or string "success" — this field may also be absent entirely, with the response body just being the requested data (see SuccessResponse).

Allowed values: true, success
or
Error

Returned when the request fails. The HTTP status code is still 200.

FieldTypeDescription
status requiredboolean | string

Marks an error response. Sent as boolean false or string "fail".

Allowed values: false, fail
codeinteger

Optional. Present only when the error is a handled exception.

Allowed values: 10, 30, 50, 202, 203, 204, 205, 252, 253, 270, 280, 1000, 1001
result_errorarray

Optional. Extra information about the error.

array of object:

One error detail entry. Usually carries message, but it is optional; other fields may be included depending on the error.

FieldTypeDescription
messagestring
POST

Cancel order

POST /api_public/exchange/exchange_cancel_order
Auth: ExchangeApiKey — idem_api_token (query)

Request Body

application/json
FieldTypeDescription
currency_pair_symbol requiredstring
order_id requiredstring

Responses

HTTP 200

Always HTTP 200. Check the body to tell success from failure — see the "Response envelope" note above.

application/json
Success

Returned when the request succeeds. The HTTP status code is 200. status is optional — a response may include it as true/"success", or omit it and return the requested data directly as the response body.

FieldTypeDescription
statusboolean | string

Marks a success response. Sent as boolean true or string "success" — this field may also be absent entirely, with the response body just being the requested data (see SuccessResponse).

Allowed values: true, success
or
Error

Returned when the request fails. The HTTP status code is still 200.

FieldTypeDescription
status requiredboolean | string

Marks an error response. Sent as boolean false or string "fail".

Allowed values: false, fail
codeinteger

Optional. Present only when the error is a handled exception.

Allowed values: 10, 30, 50, 202, 203, 204, 205, 252, 253, 270, 280, 1000, 1001
result_errorarray

Optional. Extra information about the error.

array of object:

One error detail entry. Usually carries message, but it is optional; other fields may be included depending on the error.

FieldTypeDescription
messagestring
GET

Get order book

GET /api_public/exchange/exchange_get_order_book
Auth: ExchangeApiKey — idem_api_token (query)

Parameters

ParameterInTypeDescription
currency_pair_symbol requiredquerystring
depthqueryinteger

Optional. Order book depth.

Default: 100 · Min: 1 · Max: 100

Responses

HTTP 200

Always HTTP 200. Check the body to tell success from failure — see the "Response envelope" note above.

application/json
Success

Returned when the request succeeds. The HTTP status code is 200. status is optional — a response may include it as true/"success", or omit it and return the requested data directly as the response body.

FieldTypeDescription
statusboolean | string

Marks a success response. Sent as boolean true or string "success" — this field may also be absent entirely, with the response body just being the requested data (see SuccessResponse).

Allowed values: true, success
or
Error

Returned when the request fails. The HTTP status code is still 200.

FieldTypeDescription
status requiredboolean | string

Marks an error response. Sent as boolean false or string "fail".

Allowed values: false, fail
codeinteger

Optional. Present only when the error is a handled exception.

Allowed values: 10, 30, 50, 202, 203, 204, 205, 252, 253, 270, 280, 1000, 1001
result_errorarray

Optional. Extra information about the error.

array of object:

One error detail entry. Usually carries message, but it is optional; other fields may be included depending on the error.

FieldTypeDescription
messagestring
GET

Get order list

GET /api_public/exchange/exchange_get_order_list
Auth: ExchangeApiKey — idem_api_token (query)

Parameters

ParameterInTypeDescription
currency_pair_symbol requiredquerystring
timestamp requiredqueryinteger

Unix timestamp in seconds.

limitqueryinteger

Optional. Maximum number of results to return.

Default: 100 · Min: 1 · Max: 100

Responses

HTTP 200

Always HTTP 200. Check the body to tell success from failure — see the "Response envelope" note above.

application/json
Success

Returned when the request succeeds. The HTTP status code is 200. status is optional — a response may include it as true/"success", or omit it and return the requested data directly as the response body.

FieldTypeDescription
statusboolean | string

Marks a success response. Sent as boolean true or string "success" — this field may also be absent entirely, with the response body just being the requested data (see SuccessResponse).

Allowed values: true, success
or
Error

Returned when the request fails. The HTTP status code is still 200.

FieldTypeDescription
status requiredboolean | string

Marks an error response. Sent as boolean false or string "fail".

Allowed values: false, fail
codeinteger

Optional. Present only when the error is a handled exception.

Allowed values: 10, 30, 50, 202, 203, 204, 205, 252, 253, 270, 280, 1000, 1001
result_errorarray

Optional. Extra information about the error.

array of object:

One error detail entry. Usually carries message, but it is optional; other fields may be included depending on the error.

FieldTypeDescription
messagestring
GET

Get trade list

GET /api_public/exchange/exchange_get_trade_list
Auth: ExchangeApiKey — idem_api_token (query)

Parameters

ParameterInTypeDescription
currency_pair_symbol requiredquerystring
timestampqueryinteger

Optional. Unix timestamp in seconds. Defaults to the current time (time()).

limitqueryinteger

Optional. Maximum number of results to return.

Default: 30 · Min: 1 · Max: 100

Responses

HTTP 200

Always HTTP 200. Check the body to tell success from failure — see the "Response envelope" note above.

application/json
Success

Returned when the request succeeds. The HTTP status code is 200. status is optional — a response may include it as true/"success", or omit it and return the requested data directly as the response body.

FieldTypeDescription
statusboolean | string

Marks a success response. Sent as boolean true or string "success" — this field may also be absent entirely, with the response body just being the requested data (see SuccessResponse).

Allowed values: true, success
or
Error

Returned when the request fails. The HTTP status code is still 200.

FieldTypeDescription
status requiredboolean | string

Marks an error response. Sent as boolean false or string "fail".

Allowed values: false, fail
codeinteger

Optional. Present only when the error is a handled exception.

Allowed values: 10, 30, 50, 202, 203, 204, 205, 252, 253, 270, 280, 1000, 1001
result_errorarray

Optional. Extra information about the error.

array of object:

One error detail entry. Usually carries message, but it is optional; other fields may be included depending on the error.

FieldTypeDescription
messagestring
GET

Get currency pair stat

GET /api_public/exchange/exchange_get_currency_pair_stat
Auth: ExchangeApiKey — idem_api_token (query)

Parameters

ParameterInTypeDescription
currency_pair_symbol requiredquerystring
time_frame requiredqueryM1 | M5 | M15 | H1 | H4 | D1 | W1

Stat period.

Responses

HTTP 200

Always HTTP 200. Check the body to tell success from failure — see the "Response envelope" note above.

application/json
Success

Returned when the request succeeds. The HTTP status code is 200. status is optional — a response may include it as true/"success", or omit it and return the requested data directly as the response body.

FieldTypeDescription
statusboolean | string

Marks a success response. Sent as boolean true or string "success" — this field may also be absent entirely, with the response body just being the requested data (see SuccessResponse).

Allowed values: true, success
or
Error

Returned when the request fails. The HTTP status code is still 200.

FieldTypeDescription
status requiredboolean | string

Marks an error response. Sent as boolean false or string "fail".

Allowed values: false, fail
codeinteger

Optional. Present only when the error is a handled exception.

Allowed values: 10, 30, 50, 202, 203, 204, 205, 252, 253, 270, 280, 1000, 1001
result_errorarray

Optional. Extra information about the error.

array of object:

One error detail entry. Usually carries message, but it is optional; other fields may be included depending on the error.

FieldTypeDescription
messagestring

Chat Socket

WS

Connect to the chat socket

WEBSOCKET wss://chat.tangled.com/chat/socket

Real-time chat over WebSocket. Open a WebSocket connection to wss://chat.tangled.com/chat/socket. Note that this is a different host than the REST API, and that the rest of this document does not apply to it: there is no idem_api_token query parameter and no status envelope. The messages you can send and receive are listed below, under the connection.

Authentication

Right after connecting, send INITIALIZE_SESSION with an application API key as idemApiToken. The server confirms with INITIALIZE_SESSION_RESULT, wait for it before sending anything else.

Message format

Every frame, in both directions, is a JSON text with a type and an optional payload object: {"type":"PING"} or {"type":"JOIN_CHAT_ROOM_PUBLIC","payload":{"chatRoomGuid":"...","connString":"..."}}.

  • Payload keys are documented in camelCase, which is what the server sends. Keys of the payload you send are converted to camelCase, so chat_room_guid works too. Only top level keys are converted.
  • Most requests have no direct response. If a required field is missing the request is dropped silently, without an error.
  • Unknown message types are ignored. A frame that is not valid JSON, or that fails while being processed, is answered with ERROR.
  • connString values are opaque. Send them back exactly as the server gave them.

Keepalive

Send PING from time to time, the server answers with PONG.

Live messages and observed rooms

A connection receives CHAT_ROOM_MESSAGE and CHAT_ROOM_IDEM_MUTE_STATUS only for rooms it observes.

  • A room becomes observed after JOIN_CHAT_ROOM_PUBLIC, after GET_CHAT_ROOM_LIST_SUMMARY (all returned rooms), after creating a room with UPSERT_CHAT_ROOM, and when the user's status in a room is set to WATCH.
  • A room stops being observed after LEAVE_CHAT_ROOM_PUBLIC, when the user's status is set to IGNORE or DELETE, or when a moderator deletes the user from the room.
  • The list of observed rooms belongs to the connection, so after a reconnect the rooms have to be joined again.

Error codes

Responses

HTTP 101

Switching Protocols. The connection is now a WebSocket.

Messages you send

SEND

INITIALIZE_SESSION

Authenticate the connection

Authenticates the connection with an API key. Must be the first message. The server answers with INITIALIZE_SESSION_RESULT.

Payload

FieldTypeDescription
idemApiToken requiredstring

API key with type application.

Server replies with

INITIALIZE_SESSION_RESULT

Example

{
    "type": "INITIALIZE_SESSION",
    "payload": {
        "idemApiToken": "YOUR_API_KEY"
    }
}
SEND

PING

Keepalive

Keepalive. The server answers with PONG.

Payload

No payload.

Server replies with

PONG

Example

{
    "type": "PING"
}
SEND

JOIN_CHAT_ROOM_PUBLIC

Join a public room

Starts observing a room, so its new messages are pushed to the connection as CHAT_ROOM_MESSAGE. Only rooms of type ROOM_PUBLIC_OFFICIAL, ROOM_CONTENT and ROOM_GROUP can be joined this way, any other type is ignored. On success the server answers with CHAT_ROOM_SUMMARY (the room and its latest messages). If chatRoomGuid or connString is missing, nothing happens.

Payload

FieldTypeDescription
chatRoomGuid requiredstring
connString requiredstring

Server replies with

CHAT_ROOM_SUMMARY

Example

{
    "type": "JOIN_CHAT_ROOM_PUBLIC",
    "payload": {
        "chatRoomGuid": "ROOM_GUID",
        "connString": "ROOM_CONN_STRING"
    }
}
SEND

LEAVE_CHAT_ROOM_PUBLIC

Leave a public room

Stops observing a room. No response.

Payload

FieldTypeDescription
chatRoomGuid requiredstring

Example

{
    "type": "LEAVE_CHAT_ROOM_PUBLIC",
    "payload": {
        "chatRoomGuid": "ROOM_GUID"
    }
}
SEND

CHAT_ROOM_MESSAGE_SEND

Send a message to a room

Posts a message to a room as the connected user. The message is delivered as CHAT_ROOM_MESSAGE to every connection observing the room, the sender's included, so there is no separate confirmation. If the user is muted in the room, the message is dropped and the server answers with CHAT_ROOM_MESSAGE_REJECTED.

Payload

FieldTypeDescription
chatRoomGuid requiredstring
chatRoomMessage requiredany
string
or
QuillDelta

Quill.js delta object, e.g. {"ops":[{"insert":"test"}]}.

FieldTypeDescription
ops requiredarray
array of object
connString requiredstring

Server replies with

CHAT_ROOM_MESSAGE CHAT_ROOM_MESSAGE_REJECTED

Example

{
    "type": "CHAT_ROOM_MESSAGE_SEND",
    "payload": {
        "chatRoomGuid": "ROOM_GUID",
        "chatRoomMessage": "hello",
        "connString": "ROOM_CONN_STRING"
    }
}
SEND

GET_CHAT_ROOM_MESSAGE_LIST

Load messages of a room

Loads a page of messages of a room, used for scrolling back in history. The server answers with CHAT_ROOM_MESSAGE_LIST. If chatRoomGuid or connString is missing, nothing happens. Limit predefined as 50.

Payload

FieldTypeDescription
chatRoomGuid requiredstring
connString requiredstring
offsetinteger

Optional. Pagination offset.

Default: 0 · Min: 0

Server replies with

CHAT_ROOM_MESSAGE_LIST

Example

{
    "type": "GET_CHAT_ROOM_MESSAGE_LIST",
    "payload": {
        "chatRoomGuid": "ROOM_GUID",
        "connString": "ROOM_CONN_STRING",
        "offset": 0
    }
}
SEND

GET_CHAT_ROOM_LIST_SUMMARY

Load the rooms of the user

Loads the rooms of the connected user with their latest messages. The server answers with CHAT_ROOM_LIST_SUMMARY. Every returned room becomes observed by the connection.

Payload

No payload.

Server replies with

CHAT_ROOM_LIST_SUMMARY

Example

{
    "type": "GET_CHAT_ROOM_LIST_SUMMARY"
}
SEND

UPSERT_CHAT_ROOM

Create or update a room

Creates a room, or updates an existing one when chatRoomGuid is sent.

  • When creating, the connected user is added to idemGuidList automatically, all members get the WATCH status, and the room becomes observed by the connection.
  • For CONVERSATION_PRIVATE rooms chatRoomName is ignored, the name is generated from the idem_guids of the members, so the same set of users always gets the same room. idemGuidList is required for this type.

The server answers with CHAT_ROOM_SUMMARY. When socketMessageRequestGuid is sent, it is echoed back in that response.

Payload

FieldTypeDescription
chatRoomGuidstring

Optional. Send it to update an existing room, omit it to create a new one.

connStringstring

Send it together with chatRoomGuid when updating.

chatRoomTypeGuid requiredstring

Values of chatRoomTypeGuid.

  • yOfsJeuRv = ROOM_PUBLIC_OFFICIAL
  • OTNdx8LTY = ROOM_PUBLIC
  • gPoNbrB4H = ROOM_CONTENT
  • WCGobOEHL = ROOM_GROUP
  • Ng82cDrhG = CONVERSATION_PRIVATE
  • 1gXRppWqW = ROOM_PRIVATE
Allowed values: yOfsJeuRv, OTNdx8LTY, gPoNbrB4H, WCGobOEHL, Ng82cDrhG, 1gXRppWqW
chatRoomNamestring
idemGuidListarray

idem_guids of the users to add to the room. Required when creating a room.

array of string
socketMessageRequestGuidstring

Optional. Any string, echoed back in the response so it can be matched to this request.

Server replies with

CHAT_ROOM_SUMMARY

Example

{
    "type": "UPSERT_CHAT_ROOM",
    "payload": {
        "chatRoomTypeGuid": "Ng82cDrhG",
        "idemGuidList": [
            "OTHER_USER_IDEM_GUID"
        ],
        "socketMessageRequestGuid": "any-string-you-like"
    }
}
SEND

UPDATE_CHAT_ROOM_LAST_READ_TIMESTAMP

Mark a room as read

Marks a room as read up to a point in time. No response. If a required field is missing or lastReadTimestamp is 0, nothing happens.

Payload

FieldTypeDescription
chatRoomGuid requiredstring
connString requiredstring
lastReadTimestamp requiredinteger

Unix timestamp in milliseconds.

chatRoomMessageGuidstring

Optional. The last message that was read.

Example

{
    "type": "UPDATE_CHAT_ROOM_LAST_READ_TIMESTAMP",
    "payload": {
        "chatRoomGuid": "ROOM_GUID",
        "connString": "ROOM_CONN_STRING",
        "lastReadTimestamp": 1790000000000
    }
}
SEND

UPSERT_IDEM_ATTRIBUTE

Set an attribute of the user

Sets an attribute of the connected user. No response. Only the attributes listed below are accepted, the format of value depends on the attribute.

  • 61E4cq62t = IDEM_ATTRIBUTE_TYPE_GUID_CHAT_NOTIFICATION_VOLUME — value is an integer between 0 and 100.
  • hXlYZecZe = IDEM_ATTRIBUTE_TYPE_GUID_CHAT_ROOM_LIST_PINNED — value is an array of chatRoomGuid.

Payload

FieldTypeDescription
attributeTypeGuid requiredstring
Allowed values: 61E4cq62t, hXlYZecZe
value requiredany
integer

For 61E4cq62t (chat notification volume).

Min: 0 · Max: 100
or
array

For hXlYZecZe (pinned chat rooms). List of chatRoomGuid.

array of string

Example

{
    "type": "UPSERT_IDEM_ATTRIBUTE",
    "payload": {
        "attributeTypeGuid": "hXlYZecZe",
        "value": [
            "ROOM_GUID_1",
            "ROOM_GUID_2"
        ]
    }
}
SEND

UPDATE_IDEM_CHAT_ROOM_IDEM_RELATIONSHIP

Change your own status in a room

Changes the connected user's own status in a room, for example accepting an invitation, ignoring or leaving the room. No response. Ignored when chatRoomIdemRelationshipGuid is missing.

  • WATCH starts observing the room on this connection.
  • IGNORE and DELETE stop observing it.

Payload

FieldTypeDescription
chatRoomIdemRelationshipGuid requiredstring
chatRoomGuid requiredstring
connString requiredstring
relationshipStatus requiredinteger

Values of relationshipStatus.

  • 100 = WATCH, the user is a member and follows the room
  • 1 = INVITATION, the user is invited and has not answered yet
  • 0 = IGNORE
  • -1 = DELETE
Allowed values: 100, 1, 0, -1

Example

{
    "type": "UPDATE_IDEM_CHAT_ROOM_IDEM_RELATIONSHIP",
    "payload": {
        "chatRoomIdemRelationshipGuid": "RELATIONSHIP_GUID",
        "chatRoomGuid": "ROOM_GUID",
        "connString": "ROOM_CONN_STRING",
        "relationshipStatus": 100
    }
}
SEND

INSERT_CHAT_ROOM_IDEM_RELATIONSHIP_BULK

Add several users to a room

Adds several users to a room at once, for example as invitations. The room must be observed by the connection, otherwise nothing happens. The server answers with CHAT_ROOM_IDEM_RELATIONSHIP_LIST.

Payload

FieldTypeDescription
chatRoomGuid requiredstring
connString requiredstring
relationshipTypeGuid requiredstring

Values of relationshipTypeGuid.

  • FIp4HkYLBUCKQncpY15nvuUm1QVdMcVr = ROOM_MODERATOR
  • cjIXh6j3OWDgHFw8jr6z29rOgy3R9R3l = ROOM_FILTER_IDEM
  • 0EPq8fbHsGuzHaCrqjAPCE1jyxRLKxSL = IDEM_FILTER_ROOM
Allowed values: FIp4HkYLBUCKQncpY15nvuUm1QVdMcVr, cjIXh6j3OWDgHFw8jr6z29rOgy3R9R3l, 0EPq8fbHsGuzHaCrqjAPCE1jyxRLKxSL
relationshipStatus requiredinteger

Values of relationshipStatus.

  • 100 = WATCH, the user is a member and follows the room
  • 1 = INVITATION, the user is invited and has not answered yet
  • 0 = IGNORE
  • -1 = DELETE
Allowed values: 100, 1, 0, -1
idemGuidList requiredarray
array of string

Server replies with

CHAT_ROOM_IDEM_RELATIONSHIP_LIST

Example

{
    "type": "INSERT_CHAT_ROOM_IDEM_RELATIONSHIP_BULK",
    "payload": {
        "chatRoomGuid": "ROOM_GUID",
        "connString": "ROOM_CONN_STRING",
        "relationshipTypeGuid": "0EPq8fbHsGuzHaCrqjAPCE1jyxRLKxSL",
        "relationshipStatus": 1,
        "idemGuidList": [
            "USER_IDEM_GUID"
        ]
    }
}
SEND

MODERATOR_UPSERT_CHAT_ROOM_IDEM_RELATIONSHIP

Change the status of another user in a room

Changes the relationship of another user with a room (moderation). The room must be observed by the connection and chatRoomIdemRelationshipGuid must be sent, otherwise nothing happens. Whether the connected user is allowed to do it is checked by the backend. No response. When the status is DELETE, the connections of that user stop observing the room.

Payload

FieldTypeDescription
chatRoomGuid requiredstring
connString requiredstring
idemGuid requiredstring

idem_guid of the user being moderated.

chatRoomIdemRelationshipGuid requiredstring
relationshipTypeGuid requiredstring

Values of relationshipTypeGuid.

  • FIp4HkYLBUCKQncpY15nvuUm1QVdMcVr = ROOM_MODERATOR
  • cjIXh6j3OWDgHFw8jr6z29rOgy3R9R3l = ROOM_FILTER_IDEM
  • 0EPq8fbHsGuzHaCrqjAPCE1jyxRLKxSL = IDEM_FILTER_ROOM
Allowed values: FIp4HkYLBUCKQncpY15nvuUm1QVdMcVr, cjIXh6j3OWDgHFw8jr6z29rOgy3R9R3l, 0EPq8fbHsGuzHaCrqjAPCE1jyxRLKxSL
relationshipStatus requiredinteger

Values of relationshipStatus.

  • 100 = WATCH, the user is a member and follows the room
  • 1 = INVITATION, the user is invited and has not answered yet
  • 0 = IGNORE
  • -1 = DELETE
Allowed values: 100, 1, 0, -1

Example

{
    "type": "MODERATOR_UPSERT_CHAT_ROOM_IDEM_RELATIONSHIP"
}
SEND

UPSERT_CHAT_ROOM_IDEM_MUTE_STATUS

Mute or unmute a user in a room

Mutes or unmutes a user in a room. Only the room owner can do it (for a live stream chat, the host of the live stream), and the owner cannot mute themselves, anything else is ignored silently. A muted user gets CHAT_ROOM_MESSAGE_REJECTED when sending a message. No direct response.

Payload

FieldTypeDescription
chatRoomGuid requiredstring
connString requiredstring
idemGuid requiredstring

idem_guid of the user to mute or unmute.

isMuted requiredboolean

true to mute, false to unmute.

Example

{
    "type": "UPSERT_CHAT_ROOM_IDEM_MUTE_STATUS",
    "payload": {
        "chatRoomGuid": "ROOM_GUID",
        "connString": "ROOM_CONN_STRING",
        "idemGuid": "USER_IDEM_GUID",
        "isMuted": true
    }
}
SEND

GET_OR_UPSERT_CHAT_ROOM_BY_OBJECT

Get or create the room of an object

Returns the chat room bound to an object (a content or an idem), creating it if it does not exist yet. The server answers with CHAT_ROOM. If the room could not be found or created, there is no response.

  • OBJECT_GUID_CONTENT — objectKey is the content_guid, and connString is required.
  • OBJECT_GUID_IDEM — objectKey is the idem_guid.

Payload

FieldTypeDescription
objectGuid requiredstring

Subset of ObjectGuid accepted as objectGuid by GET_OR_UPSERT_CHAT_ROOM_BY_OBJECT.

  • VgdQ75fSR = OBJECT_GUID_CONTENT
  • IuHltsyvV = OBJECT_GUID_IDEM
Allowed values: VgdQ75fSR, IuHltsyvV
objectKey requiredstring
  • content_guid when objectGuid = OBJECT_GUID_CONTENT
  • idem_guid when objectGuid = OBJECT_GUID_IDEM
connStringstring

Required when objectGuid = OBJECT_GUID_CONTENT. The conn_content of the content record.

Server replies with

CHAT_ROOM

Example

{
    "type": "GET_OR_UPSERT_CHAT_ROOM_BY_OBJECT",
    "payload": {
        "objectGuid": "VgdQ75fSR",
        "objectKey": "CONTENT_GUID",
        "connString": "CONTENT_CONN_STRING"
    }
}

Messages you receive

RECEIVE

INITIALIZE_SESSION_RESULT

Session is ready

Sent whenever the session of the connection is resolved or changes, for example after INITIALIZE_SESSION. It only confirms whether the user is logged in, it does not carry any information about the user.

Payload

FieldTypeDescription
sessionDataobject

Session of the connected user. It only confirms the login state, it does not describe the user.

FieldTypeDescription
idemGuidstring

idem_guid of the user.

isLoggedIn requiredboolean

true if the user is logged in.

Sent in reply to

INITIALIZE_SESSION

Example

{
    "type": "INITIALIZE_SESSION_RESULT",
    "payload": {
        "sessionData": {
            "idemGuid": "vnZ6mNgEv1LWrDB4bLnceSwIVpCpXAiE",
            "isLoggedIn": true
        }
    }
}
RECEIVE

PONG

Answer to PING

Answer to PING.

Payload

No payload.

Sent in reply to

PING

Example

{
    "type": "PONG"
}
RECEIVE

ERROR

Invalid frame

Sent when a frame is not valid JSON or fails while being processed. Unknown message types do not produce an error, they are ignored.

Payload

FieldTypeDescription
errorMessagestring

Currently always the payload received is invalid.

Example

{
    "type": "ERROR",
    "payload": {
        "errorMessage": "the payload received is invalid"
    }
}
RECEIVE

CHAT_ROOM_SUMMARY

A room with its latest messages

A room with its latest messages. Sent after JOIN_CHAT_ROOM_PUBLIC and UPSERT_CHAT_ROOM. For a room that was only updated the lists are empty.

Payload

FieldTypeDescription
chatRoomobject

Chat room record.

FieldTypeDescription
chatRoomGuidstring
chatRoomNamestring
chatRoomNameShortstring
chatRoomDescriptionstring
chatRoomTypeGuidstring

Values of chatRoomTypeGuid.

  • yOfsJeuRv = ROOM_PUBLIC_OFFICIAL
  • OTNdx8LTY = ROOM_PUBLIC
  • gPoNbrB4H = ROOM_CONTENT
  • WCGobOEHL = ROOM_GROUP
  • Ng82cDrhG = CONVERSATION_PRIVATE
  • 1gXRppWqW = ROOM_PRIVATE
Allowed values: yOfsJeuRv, OTNdx8LTY, gPoNbrB4H, WCGobOEHL, Ng82cDrhG, 1gXRppWqW
chatRoomPrivateinteger
chatRoomObscenityinteger
languageGuidstring
countryGuidstring
idemGuidOwnerstring

idem_guid of the room owner.

objectGuidstring
objectKeystring
updateDatestring
connStringstring

Opaque connection string of the room. Send it back unchanged as connString in requests about this room.

statusinteger
createDatestring
messageListarray
array of object:

Chat message record.

FieldTypeDescription
chatRoomMessageGuidstring
chatRoomGuidstring
idemGuidstring

idem_guid of the author.

chatRoomMessageany
string
or
QuillDelta

Quill.js delta object, e.g. {"ops":[{"insert":"test"}]}.

FieldTypeDescription
ops requiredarray
array of object
chatRoomMessageDateinteger

Unix timestamp in milliseconds.

connStringstring

Opaque connection string of the room.

statusinteger
createDatestring | null
idemDetailListarray

Details of the authors of the messages, and of the members when the room was just created.

array of object:

Public details of an idem (user or group) that appears in a chat.

chatRoomIdemRelationshipListarray

Filled only when the room was just created.

array of object:

Relationship between an idem and a chat room (membership, invitation, moderation).

FieldTypeDescription
chatRoomIdemRelationshipGuidstring
chatRoomGuidstring
idemGuidstring
idemGuidModeratorstring
relationshipTypeGuidstring

Values of relationshipTypeGuid.

  • FIp4HkYLBUCKQncpY15nvuUm1QVdMcVr = ROOM_MODERATOR
  • cjIXh6j3OWDgHFw8jr6z29rOgy3R9R3l = ROOM_FILTER_IDEM
  • 0EPq8fbHsGuzHaCrqjAPCE1jyxRLKxSL = IDEM_FILTER_ROOM
Allowed values: FIp4HkYLBUCKQncpY15nvuUm1QVdMcVr, cjIXh6j3OWDgHFw8jr6z29rOgy3R9R3l, 0EPq8fbHsGuzHaCrqjAPCE1jyxRLKxSL
relationshipStatusinteger

Values of relationshipStatus.

  • 100 = WATCH, the user is a member and follows the room
  • 1 = INVITATION, the user is invited and has not answered yet
  • 0 = IGNORE
  • -1 = DELETE
Allowed values: 100, 1, 0, -1
expirationinteger
lastReadTimestampinteger
connStringstring

Opaque connection string of the room.

statusinteger
updateDatestring
createDatestring
unreadMessageCountinteger
mutedIdemGuidListarray

idem_guids muted in the room. Filled only when the connected user is the owner of the room, otherwise empty.

array of string
socketMessageRequestGuidstring

Present only when it was sent in UPSERT_CHAT_ROOM.

Sent in reply to

JOIN_CHAT_ROOM_PUBLIC UPSERT_CHAT_ROOM

Example

{
    "type": "CHAT_ROOM_SUMMARY"
}
RECEIVE

CHAT_ROOM

A room

Answer to GET_OR_UPSERT_CHAT_ROOM_BY_OBJECT. Only the room record is sent, without messages or members. If the room could not be found or created, nothing is sent.

Payload

FieldTypeDescription
chatRoomobject

Chat room record.

FieldTypeDescription
chatRoomGuidstring
chatRoomNamestring
chatRoomNameShortstring
chatRoomDescriptionstring
chatRoomTypeGuidstring

Values of chatRoomTypeGuid.

  • yOfsJeuRv = ROOM_PUBLIC_OFFICIAL
  • OTNdx8LTY = ROOM_PUBLIC
  • gPoNbrB4H = ROOM_CONTENT
  • WCGobOEHL = ROOM_GROUP
  • Ng82cDrhG = CONVERSATION_PRIVATE
  • 1gXRppWqW = ROOM_PRIVATE
Allowed values: yOfsJeuRv, OTNdx8LTY, gPoNbrB4H, WCGobOEHL, Ng82cDrhG, 1gXRppWqW
chatRoomPrivateinteger
chatRoomObscenityinteger
languageGuidstring
countryGuidstring
idemGuidOwnerstring

idem_guid of the room owner.

objectGuidstring
objectKeystring
updateDatestring
connStringstring

Opaque connection string of the room. Send it back unchanged as connString in requests about this room.

statusinteger
createDatestring

Sent in reply to

GET_OR_UPSERT_CHAT_ROOM_BY_OBJECT

Example

{
    "type": "CHAT_ROOM"
}
RECEIVE

CHAT_ROOM_MESSAGE

New message in a room

A new message in a room observed by the connection. The author receives it too.

Payload

FieldTypeDescription
chatRoomMessageobject

Chat message record.

FieldTypeDescription
chatRoomMessageGuidstring
chatRoomGuidstring
idemGuidstring

idem_guid of the author.

chatRoomMessageany
string
or
QuillDelta

Quill.js delta object, e.g. {"ops":[{"insert":"test"}]}.

FieldTypeDescription
ops requiredarray
array of object
chatRoomMessageDateinteger

Unix timestamp in milliseconds.

connStringstring

Opaque connection string of the room.

statusinteger
createDatestring | null
idemDetailobject

Details of the author.

Sent in reply to

CHAT_ROOM_MESSAGE_SEND

Example

{
    "type": "CHAT_ROOM_MESSAGE"
}
RECEIVE

CHAT_ROOM_MESSAGE_LIST

Page of messages

Answer to GET_CHAT_ROOM_MESSAGE_LIST. The payload does not repeat the room guid, take it from the messages.

Payload

FieldTypeDescription
messageListarray
array of object:

Chat message record.

FieldTypeDescription
chatRoomMessageGuidstring
chatRoomGuidstring
idemGuidstring

idem_guid of the author.

chatRoomMessageany
string
or
QuillDelta

Quill.js delta object, e.g. {"ops":[{"insert":"test"}]}.

FieldTypeDescription
ops requiredarray
array of object
chatRoomMessageDateinteger

Unix timestamp in milliseconds.

connStringstring

Opaque connection string of the room.

statusinteger
createDatestring | null
idemDetailListarray
array of object:

Public details of an idem (user or group) that appears in a chat.

Sent in reply to

GET_CHAT_ROOM_MESSAGE_LIST

Example

{
    "type": "CHAT_ROOM_MESSAGE_LIST"
}
RECEIVE

CHAT_ROOM_LIST_SUMMARY

Rooms of the user

Answer to GET_CHAT_ROOM_LIST_SUMMARY.

Payload

FieldTypeDescription
chatRoomListarray
array of object:

Chat room record.

FieldTypeDescription
chatRoomGuidstring
chatRoomNamestring
chatRoomNameShortstring
chatRoomDescriptionstring
chatRoomTypeGuidstring

Values of chatRoomTypeGuid.

  • yOfsJeuRv = ROOM_PUBLIC_OFFICIAL
  • OTNdx8LTY = ROOM_PUBLIC
  • gPoNbrB4H = ROOM_CONTENT
  • WCGobOEHL = ROOM_GROUP
  • Ng82cDrhG = CONVERSATION_PRIVATE
  • 1gXRppWqW = ROOM_PRIVATE
Allowed values: yOfsJeuRv, OTNdx8LTY, gPoNbrB4H, WCGobOEHL, Ng82cDrhG, 1gXRppWqW
chatRoomPrivateinteger
chatRoomObscenityinteger
languageGuidstring
countryGuidstring
idemGuidOwnerstring

idem_guid of the room owner.

objectGuidstring
objectKeystring
updateDatestring
connStringstring

Opaque connection string of the room. Send it back unchanged as connString in requests about this room.

statusinteger
createDatestring
chatRoomIdemRelationshipListarray
array of object:

Relationship between an idem and a chat room (membership, invitation, moderation).

FieldTypeDescription
chatRoomIdemRelationshipGuidstring
chatRoomGuidstring
idemGuidstring
idemGuidModeratorstring
relationshipTypeGuidstring

Values of relationshipTypeGuid.

  • FIp4HkYLBUCKQncpY15nvuUm1QVdMcVr = ROOM_MODERATOR
  • cjIXh6j3OWDgHFw8jr6z29rOgy3R9R3l = ROOM_FILTER_IDEM
  • 0EPq8fbHsGuzHaCrqjAPCE1jyxRLKxSL = IDEM_FILTER_ROOM
Allowed values: FIp4HkYLBUCKQncpY15nvuUm1QVdMcVr, cjIXh6j3OWDgHFw8jr6z29rOgy3R9R3l, 0EPq8fbHsGuzHaCrqjAPCE1jyxRLKxSL
relationshipStatusinteger

Values of relationshipStatus.

  • 100 = WATCH, the user is a member and follows the room
  • 1 = INVITATION, the user is invited and has not answered yet
  • 0 = IGNORE
  • -1 = DELETE
Allowed values: 100, 1, 0, -1
expirationinteger
lastReadTimestampinteger
connStringstring

Opaque connection string of the room.

statusinteger
updateDatestring
createDatestring
unreadMessageCountinteger
messageListarray

Latest messages of the rooms.

array of object:

Chat message record.

FieldTypeDescription
chatRoomMessageGuidstring
chatRoomGuidstring
idemGuidstring

idem_guid of the author.

chatRoomMessageany
string
or
QuillDelta

Quill.js delta object, e.g. {"ops":[{"insert":"test"}]}.

FieldTypeDescription
ops requiredarray
array of object
chatRoomMessageDateinteger

Unix timestamp in milliseconds.

connStringstring

Opaque connection string of the room.

statusinteger
createDatestring | null
idemDetailListarray
array of object:

Public details of an idem (user or group) that appears in a chat.

Sent in reply to

GET_CHAT_ROOM_LIST_SUMMARY

Example

{
    "type": "CHAT_ROOM_LIST_SUMMARY"
}
RECEIVE

CHAT_ROOM_IDEM_RELATIONSHIP_LIST

Relationships that were created

Answer to INSERT_CHAT_ROOM_IDEM_RELATIONSHIP_BULK. Not sent when no relationship was created.

Payload

FieldTypeDescription
chatRoomIdemRelationshipListarray
array of object:

Relationship between an idem and a chat room (membership, invitation, moderation).

FieldTypeDescription
chatRoomIdemRelationshipGuidstring
chatRoomGuidstring
idemGuidstring
idemGuidModeratorstring
relationshipTypeGuidstring

Values of relationshipTypeGuid.

  • FIp4HkYLBUCKQncpY15nvuUm1QVdMcVr = ROOM_MODERATOR
  • cjIXh6j3OWDgHFw8jr6z29rOgy3R9R3l = ROOM_FILTER_IDEM
  • 0EPq8fbHsGuzHaCrqjAPCE1jyxRLKxSL = IDEM_FILTER_ROOM
Allowed values: FIp4HkYLBUCKQncpY15nvuUm1QVdMcVr, cjIXh6j3OWDgHFw8jr6z29rOgy3R9R3l, 0EPq8fbHsGuzHaCrqjAPCE1jyxRLKxSL
relationshipStatusinteger

Values of relationshipStatus.

  • 100 = WATCH, the user is a member and follows the room
  • 1 = INVITATION, the user is invited and has not answered yet
  • 0 = IGNORE
  • -1 = DELETE
Allowed values: 100, 1, 0, -1
expirationinteger
lastReadTimestampinteger
connStringstring

Opaque connection string of the room.

statusinteger
updateDatestring
createDatestring
unreadMessageCountinteger
idemDetailListarray
array of object:

Public details of an idem (user or group) that appears in a chat.

Sent in reply to

INSERT_CHAT_ROOM_IDEM_RELATIONSHIP_BULK

Example

{
    "type": "CHAT_ROOM_IDEM_RELATIONSHIP_LIST"
}
RECEIVE

CHAT_ROOM_IDEM_MUTE_STATUS

A user was muted or unmuted

A user was muted or unmuted in a room observed by the connection.

Payload

FieldTypeDescription
chatRoomGuidstring
idemGuidstring
isMutedboolean

Example

{
    "type": "CHAT_ROOM_IDEM_MUTE_STATUS"
}
RECEIVE

CHAT_ROOM_MESSAGE_REJECTED

Message was not posted

A CHAT_ROOM_MESSAGE_SEND was refused and the message was not posted.

Payload

FieldTypeDescription
chatRoomGuidstring
codeinteger

100 = ERR_CODE_CHAT_ROOM_IDEM_MUTED, the user is muted in this room.

Allowed values: 100

Sent in reply to

CHAT_ROOM_MESSAGE_SEND

Example

{
    "type": "CHAT_ROOM_MESSAGE_REJECTED",
    "payload": {
        "chatRoomGuid": "ROOM_GUID",
        "code": 100
    }
}