⚙️
API Docs
  • ⚙️WalletChat API Reference
  • Reference
    • API Reference
      • Authentication
      • Direct Messages (DMs)
      • NFT Chats
      • Group Chats (Non-NFT Related)
      • Common API Endpoints
      • Inbox
      • Unused / Legacy
Powered by GitBook
On this page
  1. Reference
  2. API Reference

Direct Messages (DMs)

Direct Message related API endpoints:

PreviousAuthenticationNextNFT Chats

Last updated 2 years ago

Delete All Chat Items (DMs) between FROM and TO given addresses

delete

Currently deletes all chat items between these two addresses

Authorizations
Path parameters
toaddrstringRequired

TO: Address

fromaddrstringRequired

FROM: Address

Responses
204
No Content
delete
DELETE /v1/deleteall_chatitems/{fromaddr}/{toaddr} HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Accept: */*
204

No Content

No content

Get Chat Item For Given Wallet Address

get

Get all Chat Items for DMs for a given wallet address

Authorizations
Path parameters
toaddrstringRequired

Wallet Address

Responses
200
OK
application/json
get
GET /v1/getall_chatitems/{address} HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Accept: */*
200

OK

[
  {
    "encrypted_sym_lit_key": "text",
    "fromaddr": "text",
    "id": 1,
    "lit_access_conditions": "text",
    "message": "text",
    "nftaddr": "text",
    "nftid": "text",
    "read": true,
    "sender_name": "text",
    "timestamp": "text",
    "timestamp_dtm": "text",
    "toaddr": "text"
  }
]

Get Chat Data Between Two Addresses

get

Get chat data between the given two addresses, TO and FROM and interchangable here

Authorizations
Path parameters
toaddrstringRequired

TO: Wallet Address

fromstringRequired

FROM: Wallet Address

Responses
200
OK
application/json
get
GET /v1/getall_chatitems/{fromaddr}/{toaddr} HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Accept: */*
200

OK

[
  {
    "encrypted_sym_lit_key": "text",
    "fromaddr": "text",
    "id": 1,
    "lit_access_conditions": "text",
    "message": "text",
    "nftaddr": "text",
    "nftid": "text",
    "read": true,
    "sender_name": "text",
    "timestamp": "text",
    "timestamp_dtm": "text",
    "toaddr": "text"
  }
]

Get Chat Data Between Two Addresses

get

Get chat data between the given two addresses, TO and FROM and interchangable here

Authorizations
Path parameters
toaddrstringRequired

TO: Wallet Address

fromstringRequired

FROM: Wallet Address

timestringRequired

Load only messages after this time

Responses
200
OK
application/json
get
GET /v1/getall_chatitems/{fromaddr}/{toaddr}/${time} HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Accept: */*
200

OK

[
  {
    "encrypted_sym_lit_key": "text",
    "fromaddr": "text",
    "id": 1,
    "lit_access_conditions": "text",
    "message": "text",
    "nftaddr": "text",
    "nftid": "text",
    "read": true,
    "sender_name": "text",
    "timestamp": "text",
    "timestamp_dtm": "text",
    "toaddr": "text"
  }
]
  • POSTCreate/Insert DM Chat Message (1-to-1 messaging)
  • DELETEDelete Single Chat Item (DM)
  • DELETEDelete All Chat Items (DMs) between FROM and TO given addresses
  • GETGet Chat Item For Given Wallet Address
  • GETGet Chat Data Between Two Addresses
  • GETGet Chat Data Between Two Addresses
  • PUTUpdate Message Read Status of a given DM chat message

Delete Single Chat Item (DM)

delete

Can only delete messages sent, cannot delete incoming messages

Authorizations
Path parameters
idstringRequired

message ID

Responses
204
No Content
delete
DELETE /v1/delete_chatitem/{id} HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Accept: */*
204

No Content

No content

Create/Insert DM Chat Message (1-to-1 messaging)

post

For DMs, Chatitem data struct is used to store each message and associated info. REQUIRED: fromaddr, toaddr, message (see data struct section at bottom of page for more detailed info on each paramter) Other fields are generally filled in by the backed REST API and used as return parameters ID is auto generated and should never be used as input.

Authorizations
Body
encrypted_sym_lit_keystringOptional

USE IF USING LIT ENCRYPTION

fromaddrstringRequired

*** REQUIRED INPUT ***

idintegerOptional

AUTO-GENERATED (PRIMARY KEY)

lit_access_conditionsstringOptional
messagestringRequired

*** REQUIRED INPUT ***

nftaddrstringOptional

ONLY USED FOR NFT DM CONTEXT

nftidstringOptional

ONLY USED FOR NFT DM CONTEXT

readbooleanOptional

DEFAULT FALSE

sender_namestringOptional

AUTO-SET BY BACKED FOR RETURN VALUE

timestampstringOptional

AUTO-SET BY REST API

timestamp_dtmstringOptional

USED FOR SORTING WHEN TIME FORMAT NEEDED

toaddrstringRequired

*** REQUIRED INPUT ***

Responses
200
OK
application/json
post
POST /v1/create_chatitem HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 228

{
  "encrypted_sym_lit_key": "text",
  "fromaddr": "text",
  "id": 1,
  "lit_access_conditions": "text",
  "message": "text",
  "nftaddr": "text",
  "nftid": "text",
  "read": true,
  "sender_name": "text",
  "timestamp": "text",
  "timestamp_dtm": "text",
  "toaddr": "text"
}
200

OK

[
  {
    "encrypted_sym_lit_key": "text",
    "fromaddr": "text",
    "id": 1,
    "lit_access_conditions": "text",
    "message": "text",
    "nftaddr": "text",
    "nftid": "text",
    "read": true,
    "sender_name": "text",
    "timestamp": "text",
    "timestamp_dtm": "text",
    "toaddr": "text"
  }
]

Update Message Read Status of a given DM chat message

put

Currently this only update the message read/unread status. It could update the entire JSON struct upon request, however we only needed this functionality currently and it saved re-encryption of the data. TODO: TO/FROM address in the URL is not needed/not used anymore.

Authorizations
Body
encrypted_sym_lit_keystringOptional

USE IF USING LIT ENCRYPTION

fromaddrstringRequired

*** REQUIRED INPUT ***

idintegerOptional

AUTO-GENERATED (PRIMARY KEY)

lit_access_conditionsstringOptional
messagestringRequired

*** REQUIRED INPUT ***

nftaddrstringOptional

ONLY USED FOR NFT DM CONTEXT

nftidstringOptional

ONLY USED FOR NFT DM CONTEXT

readbooleanOptional

DEFAULT FALSE

sender_namestringOptional

AUTO-SET BY BACKED FOR RETURN VALUE

timestampstringOptional

AUTO-SET BY REST API

timestamp_dtmstringOptional

USED FOR SORTING WHEN TIME FORMAT NEEDED

toaddrstringRequired

*** REQUIRED INPUT ***

Responses
200
OK
application/json
put
PUT /v1/update_chatitem/{fromaddr}/{toaddr} HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 228

{
  "encrypted_sym_lit_key": "text",
  "fromaddr": "text",
  "id": 1,
  "lit_access_conditions": "text",
  "message": "text",
  "nftaddr": "text",
  "nftid": "text",
  "read": true,
  "sender_name": "text",
  "timestamp": "text",
  "timestamp_dtm": "text",
  "toaddr": "text"
}
200

OK

[
  {
    "encrypted_sym_lit_key": "text",
    "fromaddr": "text",
    "id": 1,
    "lit_access_conditions": "text",
    "message": "text",
    "nftaddr": "text",
    "nftid": "text",
    "read": true,
    "sender_name": "text",
    "timestamp": "text",
    "timestamp_dtm": "text",
    "toaddr": "text"
  }
]