⚙️
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

Common API Endpoints

General Purpose API endpoints:

PreviousGroup Chats (Non-NFT Related)NextInbox

Last updated 2 years ago

Get Thumbnail Image Data

get

Retreive image data for use with user/community/nft group dislayed icon

Authorizations
Path parameters
namestringRequired

Wallet/NFT Address Mapped to User/Community

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

OK

[
  {
    "addr": "text",
    "base64data": "text",
    "id": 1
  }
]

Check if given wallet address owns an NFT from given contract address

get

API user could check this directly via any third party service like NFTPort, Moralis as well

Authorizations
Path parameters
contractstringRequired

NFT Contract Address

walletstringRequired

Wallet Address

Responses
200
OK
application/json
get
GET /v1/is_owner/{contract}/{wallet} HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Accept: */*
200

OK

[
  {
    "has_messaged": true,
    "is_verified": true,
    "joined": true,
    "logo": "text",
    "members": 1,
    "messages": [
      {
        "context_type": "text",
        "fromaddr": "text",
        "id": 1,
        "message": "text",
        "nftaddr": "text",
        "sender_name": "text",
        "timestamp": "text",
        "timestamp_dtm": "text",
        "type": "text"
      }
    ],
    "name": "text",
    "social": [
      {
        "type": "text",
        "username": "text"
      }
    ],
    "tweets": [
      {
        "attachments": {
          "media_keys": [
            "text"
          ]
        },
        "author_id": "text",
        "created_at": "text",
        "id": "text",
        "media": {
          "media_keys": [
            "text"
          ]
        },
        "text": "text",
        "user": {
          "id": "text",
          "name": "text",
          "profile_image_url": "text",
          "username": "text"
        }
      }
    ]
  }
]

get the common name which has been mapped to an address

get

get the given a common name (Kevin.eth, BillyTheKid, etc) what has already been mapped to an Address

Authorizations
Path parameters
addressstringRequired

Get Name for given address

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

OK

[
  {
    "address": "text",
    "id": 1,
    "name": "text"
  }
]
  • POSTStore Image in DB for later user
  • PUTStore Image in DB for later user (update existing photo)
  • GETGet Thumbnail Image Data
  • POSTStore Image in Bucket Storage
  • GETCheck if given wallet address owns an NFT from given contract address
  • POSTgive a common name to a user address, or NFT collection
  • GETget the common name which has been mapped to an address
  • POSTSettings hold a user address and the email address for notifications if they opt-in
  • GETLink a user can click in email to verify email address, will have unique code

Store Image in DB for later user

post

Currently used for the WC HQ Logo, stores the base64 raw data of the profile image for a community

Authorizations
Body
addrstringOptional
base64datastringOptional
idintegerOptional
Responses
200
OK
application/json
post
POST /v1/image HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 42

{
  "addr": "text",
  "base64data": "text",
  "id": 1
}
200

OK

[
  {
    "addr": "text",
    "base64data": "text",
    "id": 1
  }
]

Store Image in DB for later user (update existing photo)

put

Currently used for the WC HQ Logo, stores the base64 raw data of the profile image for a community

Authorizations
Body
addrstringOptional
base64datastringOptional
idintegerOptional
Responses
200
OK
application/json
put
PUT /v1/image HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 42

{
  "addr": "text",
  "base64data": "text",
  "id": 1
}
200

OK

[
  {
    "chain": "text",
    "id": 1,
    "nftaddr": "text",
    "walletaddr": "text"
  }
]

Store Image in Bucket Storage

post

public facing PFP storage to make it faster for UI to get and load images

Authorizations
Body
addrstringOptional
base64datastringOptional
idintegerOptional
Responses
200
OK
application/json
post
POST /v1/imagepfp HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 42

{
  "addr": "text",
  "base64data": "text",
  "id": 1
}
200

OK

[
  {
    "addr": "text",
    "base64data": "text",
    "id": 1
  }
]

give a common name to a user address, or NFT collection

post

Give a common name (Kevin.eth, BillyTheKid, etc) to an Address

Authorizations
Body
addressstringOptional

ADDRESS

domainstringOptional

DOMAIN

idintegerOptional
namestringOptional

NAME

signupsitestringOptional

SITE USER SIGNED UP FROM

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

{
  "address": "text",
  "domain": "text",
  "id": 1,
  "name": "text",
  "signupsite": "text"
}
200

OK

1

Settings hold a user address and the email address for notifications if they opt-in

post

Update settings, email address, daily notifications and per DM notifications

Authorizations
Body
domainstringOptional

DOMAIN

emailstringOptional

Publickey string json:"publickey"

idintegerOptional

AUTO-GENERATED (PRIMARY KEY)

notify24stringOptional

RECEIVE NOTIFICATION FOR EVERY DM RECEIVED (string value true/false)

notifydmstringOptional

RECEIVE DAILY NOTIFICATION SUMMARY EMAIL (string value true/false)

signupsitestringOptional

LATEST SITE WHERE NOTIFICATIONS EMAIL WAS ENTERED

verifiedstringOptional

USER CONFIRMED EMAIL OR NOT (string value true/false)

walletaddrstringRequired

*** REQUIRED INPUT ***

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

{
  "domain": "text",
  "email": "text",
  "id": 1,
  "notify24": "text",
  "notifydm": "text",
  "signupsite": "text",
  "verified": "text",
  "walletaddr": "text"
}
200

OK

[
  {
    "domain": "text",
    "email": "text",
    "id": 1,
    "notify24": "text",
    "notifydm": "text",
    "signupsite": "text",
    "verified": "text",
    "walletaddr": "text"
  }
]

Link a user can click in email to verify email address, will have unique code

get

Users will get an email when signing-up to verify email, to ensure we do not send spam

Authorizations
Body
domainstringOptional

DOMAIN

emailstringOptional

Publickey string json:"publickey"

idintegerOptional

AUTO-GENERATED (PRIMARY KEY)

notify24stringOptional

RECEIVE NOTIFICATION FOR EVERY DM RECEIVED (string value true/false)

notifydmstringOptional

RECEIVE DAILY NOTIFICATION SUMMARY EMAIL (string value true/false)

signupsitestringOptional

LATEST SITE WHERE NOTIFICATIONS EMAIL WAS ENTERED

verifiedstringOptional

USER CONFIRMED EMAIL OR NOT (string value true/false)

walletaddrstringRequired

*** REQUIRED INPUT ***

Responses
200
OK
application/json
get
GET /v1/verify_email/{email}/{verification_code} HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 133

{
  "domain": "text",
  "email": "text",
  "id": 1,
  "notify24": "text",
  "notifydm": "text",
  "signupsite": "text",
  "verified": "text",
  "walletaddr": "text"
}
200

OK

[
  {
    "domain": "text",
    "email": "text",
    "id": 1,
    "notify24": "text",
    "notifydm": "text",
    "signupsite": "text",
    "verified": "text",
    "walletaddr": "text"
  }
]