Skip to main content

Emoji ID API server

caution

The emoji id API is currently in BETA. The API has largely stabilised, but endpoint paths, input and output parameters may still change without notice.


General information#

Description#

Version: 0.2.262

Emoji ID is a directory service that associates almost any type of structured data with a short, memorable identifier the emoji id.


Authentication#

  • API Key (JWT)

    • Parameter Name: Authorization, in: header. Use format Bearer TOKEN
  • API Key (apiKey)

    • Parameter Name: Authorization,X-Api-Key, in: header. With Authorization header use format Bearer TOKEN, with X-Api-Key use api token
  • API Key (two_factor)

    • Parameter Name: Authorization, in: header. Optional: JWT token in Bearer TOKEN with 2FA scope

User Authentication#

From a user experience standpoint, we want encourage the use of magic links.
1. Users request a magic link
2. If 2FA is enabled submit proceed to 2FA.

Two factor authentication#

Two factor authentication

Complete login flow when user requires 2FA. refresh_token obtained from a call to /token or /token/refresh should be used to complete authentication. Note: 2FA token has expiration timeout, which is when expired sensitive operations would require authentication via 2fa once again.

Example#

POST /auth/2fa

const fetch = require('node-fetch');const inputBody = {  "code": "string",  "refresh_token": "string"};const headers = {  'Content-Type':'application/json',  'Accept':'*/*'};
fetch('/auth/2fa',{  method: 'POST',  body: JSON.stringify(inputBody),  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Body parameter#

{  "code": "string",  "refresh_token": "string"}

Parameters#

NameInTypeRequiredDescription
bodybodyConfirm2Fatruenone
ยป codebodystringtrueTwo factor authentication code
ยป refresh_tokenbodystringtrueRefresh token obtained from login request

Responses#

StatusMeaningDescriptionSchema
200OKOKTokenResponse
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
note

This operation does not require authentication

Generate magic link for login#

Generate magic link for login

Will generate and send magic link to provided user's email. Assuming the email address corresponds to a valid user

Example#

POST /auth/magic_link

const fetch = require('node-fetch');const inputBody = {  "email": "string",  "g_recaptcha_response": "string",  "redirect": "string",  "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"};const headers = {  'Content-Type':'application/json',  'Accept':'*/*'};
fetch('/auth/magic_link',{  method: 'POST',  body: JSON.stringify(inputBody),  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Body parameter#

{  "email": "string",  "g_recaptcha_response": "string",  "redirect": "string",  "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"}

Parameters#

NameInTypeRequiredDescription
bodybodyMagicLinkLoginRequesttruenone
ยป emailbodystringfalseEmail
ยป g_recaptcha_responsebodystringfalseResponse from google Recaptcha
ยป redirectbodystringfalseRedirect path
ยป user_idbodystring(uuid)falseUser ID

Responses#

StatusMeaningDescriptionSchema
200OKOKMagicLinkLoginResponse
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
note

This operation does not require authentication

Login via password#

Login via password

Login via username/password. Will return access and refresh tokens. NOTE: when requires_2fa is not empty in response, provided "refresh_token" should be used to confirm 2FA code via POST /auth/2fa.

Example#

POST /auth/token

const fetch = require('node-fetch');const inputBody = {  "alternate_id": "string",  "email": "string",  "g_recaptcha_response": "string",  "password": "string"};const headers = {  'Content-Type':'application/json',  'Accept':'*/*'};
fetch('/auth/token',{  method: 'POST',  body: JSON.stringify(inputBody),  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Body parameter#

{  "alternate_id": "string",  "email": "string",  "g_recaptcha_response": "string",  "password": "string"}

Parameters#

NameInTypeRequiredDescription
bodybodyLoginRequesttruenone
ยป alternate_idbodystringfalseAlternate identifier
ยป emailbodystringfalseEmail
ยป g_recaptcha_responsebodystringfalseResponse from google Recaptcha
ยป passwordbodystringtrueRequired: Password

Responses#

StatusMeaningDescriptionSchema
200OKOKTokenResponse
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
note

This operation does not require authentication

Refresh access token#

Refresh access token

Will return updated access and refresh tokens. NOTE: when requires_2fa is not empty in response, provided "refresh_token" should be used to confirm 2FA code via POST /2fa

Example#

POST /auth/token/refresh

const fetch = require('node-fetch');const inputBody = {  "refresh_token": "string"};const headers = {  'Content-Type':'application/json',  'Accept':'*/*'};
fetch('/auth/token/refresh',{  method: 'POST',  body: JSON.stringify(inputBody),  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Body parameter#

{  "refresh_token": "string"}

Parameters#

NameInTypeRequiredDescription
bodybodyRefreshRequesttruenone
ยป refresh_tokenbodystringtrueRefresh token obtained from login request

Responses#

StatusMeaningDescriptionSchema
200OKOKTokenResponse
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
note

This operation does not require authentication

Invalidates all user's access tokens#

Invalidates all user's access tokens

Requires UserWriteSelf scope

Example#

POST /logout

const fetch = require('node-fetch');
const headers = {  'Authorization':'API_KEY'};
fetch('/logout',{  method: 'POST',
  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Responses#

StatusMeaningDescriptionSchema
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: two_factor


Cart#

Cart management endpoints

Return cart content#

Return cart content

NOTE: user should have scope CartShow

Example#

GET /cart

const fetch = require('node-fetch');
const headers = {  'Accept':'*/*',  'Authorization,X-Api-Key':'API_KEY'};
fetch('/cart',{  method: 'GET',
  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Responses#

StatusMeaningDescriptionSchema
200OKOKDisplayOrder
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: apiKey

Update cart items by adding new items to the cart#

Update cart items by adding new items to the cart

NOTE: user should have scope CartUpdate

Example#

POST /cart

const fetch = require('node-fetch');const inputBody = {  "items": [    {      "emoji_id": "๐Ÿฑ๐Ÿ‰๐Ÿ‹๐Ÿด๐Ÿต"    }  ],  "tracking_data": null};const headers = {  'Content-Type':'application/json',  'Accept':'*/*',  'Authorization,X-Api-Key':'API_KEY'};
fetch('/cart',{  method: 'POST',  body: JSON.stringify(inputBody),  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Body parameter#

{  "items": [    {      "emoji_id": "๐Ÿฑ๐Ÿ‰๐Ÿ‹๐Ÿด๐Ÿต"    }  ],  "tracking_data": null}

Parameters#

NameInTypeRequiredDescription
bodybodyAddItemsCartRequesttruenone
ยป itemsbody[object]trueNew items to add to cart
ยปยป emoji_idbodystringtrueEmojiID to buy
ยป tracking_databodyanyfalseTracking data

Responses#

StatusMeaningDescriptionSchema
200OKOKDisplayOrder
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: apiKey

Remove all items from cart#

Remove all items from cart

NOTE: user should have scope CartUpdate

Example#

DELETE /cart

const fetch = require('node-fetch');
const headers = {  'Accept':'*/*',  'Authorization,X-Api-Key':'API_KEY'};
fetch('/cart',{  method: 'DELETE',
  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Responses#

StatusMeaningDescriptionSchema
200OKOKDisplayOrder
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: apiKey

Removes an order item from the cart#

Removes an order item from the cart

NOTE: user should have scope CartUpdate

Example#

DELETE /cart/cart_items/{cart_item_id}

const fetch = require('node-fetch');
const headers = {  'Accept':'*/*',  'Authorization,X-Api-Key':'API_KEY'};
fetch('/cart/cart_items/{cart_item_id}',{  method: 'DELETE',
  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Parameters#

NameInTypeRequiredDescription
cart_item_idpathstring(uuid)truenone

Responses#

StatusMeaningDescriptionSchema
200OKOKDisplayOrder
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: apiKey

Checkout last payment cart#

Checkout last payment cart

NOTE: user should have scope CartUpdate

Example#

POST /cart/checkout

const fetch = require('node-fetch');const inputBody = {  "amount": 0,  "cancel_url": "string",  "external_reference": "string",  "method": "Free",  "pubkey": "74dfa32b2c227ca2aa9ce3922a735669835443c1c36596795de1f48dbfaf7b2f",  "success_url": "string",  "tracking_data": null};const headers = {  'Content-Type':'application/json',  'Accept':'*/*',  'Authorization,X-Api-Key':'API_KEY'};
fetch('/cart/checkout',{  method: 'POST',  body: JSON.stringify(inputBody),  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Body parameter#

{  "amount": 0,  "cancel_url": "string",  "external_reference": "string",  "method": "Free",  "pubkey": "74dfa32b2c227ca2aa9ce3922a735669835443c1c36596795de1f48dbfaf7b2f",  "success_url": "string",  "tracking_data": null}

Parameters#

NameInTypeRequiredDescription
bodybodyCheckoutCartRequesttruenone
ยป amountbodyinteger(int64)falseAmount paid in cash. Applicable and required only for Cash payment option for Admin.
ยป cancel_urlbodystringfalseURL user will be redirected if payment cancelled Required for Stripe Checkout
ยป external_referencebodystringfalseExternal reference for cash payment. Applicable and required only for Cash payment option for Admin.
ยป methodbodystringtruePayment method type
ยป pubkeybodystringfalseOptional: The user's public key to associate with this emoji id. If provided will use this pubkey otherwise will default to the first pubkey returned for the user.
ยป success_urlbodystringfalseURL user will be redirected after successful payment Required for Stripe Checkout
ยป tracking_databodyanyfalseOptional: tracking data

Enumerated Values#

ParameterValue
ยป methodFree
ยป methodCoinbaseCommerce
ยป methodStripe
ยป methodCash
ยป methodPayPal

Responses#

StatusMeaningDescriptionSchema
200OKOKDisplayOrder
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: apiKey

Checkout saved cart by id#

Checkout saved cart by id

NOTE: user should have scope CartUpdate

Example#

POST /cart/checkout/{id}

const fetch = require('node-fetch');const inputBody = {  "amount": 0,  "cancel_url": "string",  "external_reference": "string",  "method": "Free",  "pubkey": "74dfa32b2c227ca2aa9ce3922a735669835443c1c36596795de1f48dbfaf7b2f",  "success_url": "string",  "tracking_data": null};const headers = {  'Content-Type':'application/json',  'Accept':'*/*',  'Authorization,X-Api-Key':'API_KEY'};
fetch('/cart/checkout/{id}',{  method: 'POST',  body: JSON.stringify(inputBody),  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Body parameter#

{  "amount": 0,  "cancel_url": "string",  "external_reference": "string",  "method": "Free",  "pubkey": "74dfa32b2c227ca2aa9ce3922a735669835443c1c36596795de1f48dbfaf7b2f",  "success_url": "string",  "tracking_data": null}

Parameters#

NameInTypeRequiredDescription
idpathstring(uuid)truenone
bodybodyCheckoutCartRequesttruenone
ยป amountbodyinteger(int64)falseAmount paid in cash. Applicable and required only for Cash payment option for Admin.
ยป cancel_urlbodystringfalseURL user will be redirected if payment cancelled Required for Stripe Checkout
ยป external_referencebodystringfalseExternal reference for cash payment. Applicable and required only for Cash payment option for Admin.
ยป methodbodystringtruePayment method type
ยป pubkeybodystringfalseOptional: The user's public key to associate with this emoji id. If provided will use this pubkey otherwise will default to the first pubkey returned for the user.
ยป success_urlbodystringfalseURL user will be redirected after successful payment Required for Stripe Checkout
ยป tracking_databodyanyfalseOptional: tracking data

Enumerated Values#

ParameterValue
ยป methodFree
ยป methodCoinbaseCommerce
ยป methodStripe
ยป methodCash
ยป methodPayPal

Responses#

StatusMeaningDescriptionSchema
200OKOKDisplayOrder
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: apiKey

Convert pending payment cart back into Draft status#

Convert pending payment cart back into Draft status

NOTE: user should have scope CartUpdate

Example#

POST /cart/convert_to_draft

const fetch = require('node-fetch');
const headers = {  'Accept':'*/*',  'Authorization,X-Api-Key':'API_KEY'};
fetch('/cart/convert_to_draft',{  method: 'POST',
  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Responses#

StatusMeaningDescriptionSchema
200OKOKDisplayOrder
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: apiKey

Apply promo code#

Apply promo code

NOTE: user should have scope CartUpdate Can only be applied to pending payment carts

Example#

POST /cart/promo_code

const fetch = require('node-fetch');const inputBody = {  "code": "string"};const headers = {  'Content-Type':'application/json',  'Accept':'*/*',  'Authorization,X-Api-Key':'API_KEY'};
fetch('/cart/promo_code',{  method: 'POST',  body: JSON.stringify(inputBody),  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Body parameter#

{  "code": "string"}

Parameters#

NameInTypeRequiredDescription
bodybodyApplyPromoCodeRequesttruenone
ยป codebodystringtrueCode to apply

Responses#

StatusMeaningDescriptionSchema
200OKOKDisplayOrder
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: apiKey

Fetch payment methods for the user#

Fetch payment methods for the user

NOTE: user should have scope PaymentMethodRead

Example#

GET /payment_methods

const fetch = require('node-fetch');
const headers = {  'Accept':'*/*',  'Authorization,X-Api-Key':'API_KEY'};
fetch('/payment_methods',{  method: 'GET',
  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Responses#

StatusMeaningDescriptionSchema
200OKOKInline
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None

Response Schema#

Status Code 200

NameTypeRequiredRestrictionsDescription
anonymous[PaymentMethod]falsenonenone
ยป brandstringfalsenonenone
ยป countrystringfalsenonenone
ยป exp_monthinteger(int32)falsenonenone
ยป exp_yearinteger(int32)falsenonenone
ยป idstringtruenonenone
ยป last4stringfalsenonenone
ยป payment_typestringtruenonenone
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: apiKey

Delete payment method#

Delete payment method

NOTE: user should have scope PaymentMethodDestroy

Example#

DELETE /payment_methods/{id}

const fetch = require('node-fetch');
const headers = {  'Accept':'*/*',  'Authorization,X-Api-Key':'API_KEY'};
fetch('/payment_methods/{id}',{  method: 'DELETE',
  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Parameters#

NameInTypeRequiredDescription
idpathstringtruenone

Responses#

StatusMeaningDescriptionSchema
200OKOKPaymentMethod
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: apiKey


Emoji#

Emoji endpoints. Endpoints to interact with the supported Emoji character sets.

List of supported emoji characters#

List of supported emoji characters

Result is an array of emojis ["๐Ÿ—","๐ŸŒˆ"]

Example#

GET /emoji

const fetch = require('node-fetch');
const headers = {  'Accept':'*/*'};
fetch('/emoji',{  method: 'GET',
  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Responses#

StatusMeaningDescriptionSchema
200OKOKInline
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None

Response Schema#

note

This operation does not require authentication


Emoji ID#

Endpoints for interacting and managing your emoji ids. Endpoints that result in data modification require authentication and the necessary permissions (or scopes). The most common endpoint will be a lookup, i.e. /emoji_id/{emoji_id} and does not require authorization, this is when a user wants to get records associated with an Emoji ID.

List user's Emoji Ids#

List user's Emoji Ids

If no parameters provided will return all Emoji Ids of current user. When user_id or organization_id specified the endpoint will return the Emoji Ids owned by specified user or organization, requires Admin or organization power user access. Result is an array of emoji ids in display format (i.e. with all skin tone modifiers applied) ["๐ŸคŸ๐Ÿพ๐Ÿ—๐Ÿ‘ฝ๐Ÿ‘ป","๐ŸŒˆ๐Ÿ‘๐Ÿฟ๐Ÿ’ฏ"]

Example#

GET /emoji_id

const fetch = require('node-fetch');
const headers = {  'Accept':'*/*',  'Authorization,X-Api-Key':'API_KEY'};
fetch('/emoji_id',{  method: 'GET',
  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Parameters#

NameInTypeRequiredDescription
organization_idquerystring(uuid)falseLookup emojis owned by organization_id, requires organization power user role
user_idquerystring(uuid)falseLookup emojis owned by user_id, requires Admin role

Responses#

StatusMeaningDescriptionSchema
200OKOKInline
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None

Response Schema#

Status Code 200

NameTypeRequiredRestrictionsDescription
anonymous[EmojiId]falsenone[The emoji id is the key value used in the Emoji ID key-value lookup system. As the name suggests, the id consists solely of emoji characters from a carefully curated list ranging in length from one to six characters. Emoji ids are 'owned' in the sense that there is a private-public keypair associated with the id that granted transfer and write-access rights to anyone with knowledge of the emoji id's private key. The primary use of emoji ids is to associate useful related data with the id. This creates a unified identity around that emoji id. For example, someone may associate a website, a twitter handle and a BTC payment address to an emoji id. Those three disparate entities can then be easily accessed using the same emoji id.]
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: apiKey

List extended view user's Emoji Ids#

List extended view user's Emoji Ids

Will return list of user's Emoji Ids with canonical and display representation. Display representation is Emoji Id with applied modifiers. If no parameters provided will return all Emoji Ids of the current user. When user_id or organization_id is specified the endpoint will return the Emoji Ids owned by the specified user or organization, requires Admin or organization power user access.

Example#

GET /emoji_id/extended

const fetch = require('node-fetch');
const headers = {  'Accept':'*/*',  'Authorization,X-Api-Key':'API_KEY'};
fetch('/emoji_id/extended',{  method: 'GET',
  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Parameters#

NameInTypeRequiredDescription
organization_idquerystring(uuid)falseLookup emojis owned by organization_id, requires organization power user role
user_idquerystring(uuid)falseLookup emojis owned by user_id, requires Admin role

Responses#

StatusMeaningDescriptionSchema
200OKOKInline
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None

Response Schema#

Status Code 200

NameTypeRequiredRestrictionsDescription
anonymous[EmojiListItem]falsenone[EmojiId in canonical and display representations]
ยป blocked_untilstring(date-time)falsenonenone
ยป canonical_formatstringtruenonenone
ยป chain_formatstringtruenonenone
ยป display_formatstringtruenonenone
ยป flippable_emoji[boolean]truenonenone
ยป generationinteger(int32)truenonenone
ยป mintedbooleantruenonenone
ยป rhythm_scoreinteger(int32)truenonenone
ยป shapeobjecttruenonenone
ยปยป patternanyfalsenonenone
ยปยป shapestringfalsenonenone
ยป shortnamestringtruenonenone
ยป token_idinteger(int64)falsenonenone

Enumerated Values#

PropertyValue
shapeRepeaters
shapeEye Heart
shapeBookends
shapeAdoptables
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: apiKey

Return random Emoji#

Return random Emoji

Returns price, availability and other information for random emoji

Example#

GET /emoji_id/random

const fetch = require('node-fetch');
const headers = {  'Accept':'*/*',  'Authorization':'API_KEY'};
fetch('/emoji_id/random',{  method: 'GET',
  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Responses#

StatusMeaningDescriptionSchema
200OKOKRandomResult
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: JWT

Return list of recently purchased emoji#

Return list of recently purchased emoji

Example#

GET /emoji_id/recent

const fetch = require('node-fetch');
const headers = {  'Accept':'*/*',  'Authorization':'API_KEY'};
fetch('/emoji_id/recent',{  method: 'GET',
  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Responses#

StatusMeaningDescriptionSchema
200OKOKRecentlyPurchasedResult
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: JWT

Search for EmojiID#

Search for EmojiID

Returns price, availability and other information on emoji and its alternates (similar EmojiIDs that are currently available)

Example#

GET /emoji_id/search

const fetch = require('node-fetch');
const headers = {  'Accept':'*/*',  'Authorization':'API_KEY'};
fetch('/emoji_id/search?emoji_id=string',{  method: 'GET',
  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Parameters#

NameInTypeRequiredDescription
emoji_idquerystringtrueEmoji ID in percent url-encoded form

Responses#

StatusMeaningDescriptionSchema
200OKOKSearchResult
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: JWT

Load value from EmojiId key value store with data keyed by YatJsonStoreKeys#

Load value from EmojiId key value store with data keyed by YatJsonStoreKeys

Any data stored previously can be retrieved as a json object in EmojiID key value store. In the case when there was no data associated with EmojiID key before it will return empty object. User should have AdminEmojiWrite scope or own emoji

Example#

GET /emoji_id/{eid}/json

const fetch = require('node-fetch');
const headers = {  'Accept':'*/*'};
fetch('/emoji_id/{eid}/json',{  method: 'GET',
  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Parameters#

NameInTypeRequiredDescription
eidpathstringtruenone
keysqueryarray[any]trueKey to store data

Responses#

StatusMeaningDescriptionSchema
200OKOKInline
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None

Response Schema#

Status Code 200

NameTypeRequiredRestrictionsDescription
ยป additionalPropertiesLoadJsonResponsefalsenonenone
ยปยป created_atstring(date-time)truenoneCreated at time for the record
ยปยป dataanytruenoneData value stored by key and EmojiID If there is no value for the key an empty object {} is returned
ยปยป is_lockedbooleantruenoneData is locked
ยปยป locked_future_writes_atstring(date-time)falsenoneTime the record was locked from future writes
ยปยป updated_atstring(date-time)truenoneUpdated at time for the record
note

This operation does not require authentication

Load value from EmojiId key value store#

Load value from EmojiId key value store

Any data stored previously can be retrieved as a json object in EmojiID key value store. In the case when there was no data associated with EmojiID key before it will return empty object. User should have AdminEmojiWrite scope or own emoji

Example#

GET /emoji_id/{eid}/json/{key}

const fetch = require('node-fetch');
const headers = {  'Accept':'*/*'};
fetch('/emoji_id/{eid}/json/{key}',{  method: 'GET',
  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Parameters#

NameInTypeRequiredDescription
eidpathstringtrueEmojiID
keypathstringtrueKey to store data

Enumerated Values#

ParameterValue
keyYatPageData
keyYatLinkData
keyVisualizerData
keyVisualizerName
keyVisualizerFileLocations

Responses#

StatusMeaningDescriptionSchema
200OKOKLoadJsonResponse
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
note

This operation does not require authentication

Store value under EmojiId key#

Store value under EmojiId key

Any data can be stored as a json object, this data is stored in a centralized DB and is not taking blockchain storage. In addition to unformatted data this endpoint allows to edit tags in the same way as edit endpoint allows to. User should have AdminEmojiWrite scope or own emoji

Example#

POST /emoji_id/{eid}/json/{key}

const fetch = require('node-fetch');const inputBody = {  "data": null,  "linked_tags": [    {      "data": "127.0.0.1",      "tag": "0x4101"    }  ]};const headers = {  'Content-Type':'application/json',  'Authorization,X-Api-Key':'API_KEY'};
fetch('/emoji_id/{eid}/json/{key}',{  method: 'POST',  body: JSON.stringify(inputBody),  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Body parameter#

{  "data": null,  "linked_tags": [    {      "data": "127.0.0.1",      "tag": "0x4101"    }  ]}

Parameters#

NameInTypeRequiredDescription
eidpathstringtrueEmojiID
keypathstringtrueKey to store data
bodybodyStoreJsonBodytruenone
ยป databodyanytrueData value allows to store any Json value, limited by 250Kb
ยป linked_tagsbody[any]falseLink tag items as part of the transaction All previously linked tags not present in new request will be deleted
ยปยป databodystringtrueCategory data in text format
ยปยป tagbodystringtrueCategory ID as a hex number

Enumerated Values#

ParameterValue
keyYatPageData
keyYatLinkData
keyVisualizerData
keyVisualizerName
keyVisualizerFileLocations

Responses#

StatusMeaningDescriptionSchema
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: apiKey

Get statistics for EmojiId#

Get statistics for EmojiId

Example#

GET /emoji_id/{eid}/stats

const fetch = require('node-fetch');
const headers = {  'Accept':'*/*',  'Authorization,X-Api-Key':'API_KEY'};
fetch('/emoji_id/{eid}/stats',{  method: 'GET',
  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Parameters#

NameInTypeRequiredDescription
eidpathstringtruenone

Responses#

StatusMeaningDescriptionSchema
200OKOKEmojiStatsResponse
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: apiKey

Lookup EmojiId#

Lookup EmojiId

Will filter and return data from supplied tags, If tags filter is not supplied will return all tags attached. It will also try to get views for the past month, if not available will return -1. This method is called when a user wants to look up an Emoji ID's records such as a crypto address or a redirect

Example#

GET /emoji_id/{emoji_id}

const fetch = require('node-fetch');
const headers = {  'Accept':'*/*',  'Authorization':'API_KEY'};
fetch('/emoji_id/{emoji_id}',{  method: 'GET',
  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Parameters#

NameInTypeRequiredDescription
emoji_idpathstringtruenone
tagsquerystringfalseComma-separated list of tags to display, skip it to display all, e.g. ?tags=0x0001,0x1001

Responses#

StatusMeaningDescriptionSchema
200OKOKLookupResponse
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: JWT

Edit EmojiId#

Edit EmojiId

Add and remove records in EmojiId, update merkle_root and signature too. Certain tags, such as CryptocurrenyAddress, EmojiNick, EmojiDescription, EmojiPreferred, Redirect only allow a single value to be stored by default. Only the latest values will be stored and older values deleted. To allow multiple values for the same tag pass in true for bypass_single_restrictions Access notes: user expected to own the emoji's pubkey, have Admin role or be power member of organization if pubkey belongs to organization, otherwise operation will fail.

Example#

PATCH /emoji_id/{emoji_id}

const fetch = require('node-fetch');const inputBody = {  "bypass_single_restrictions": true,  "delete": [    "5aaf5eac326102cf208e397f15534f0b89747b2263f47857b1d797275ce7e944"  ],  "insert": [    {      "data": "127.0.0.1",      "tag": "0x4101"    }  ],  "merkle_root": "916ea8882cdbe350ca9cec48680e4bf37d75930d8d033bed57128c0809537336",  "signature": "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"};const headers = {  'Content-Type':'application/json',  'Accept':'*/*',  'Authorization,X-Api-Key':'API_KEY'};
fetch('/emoji_id/{emoji_id}',{  method: 'PATCH',  body: JSON.stringify(inputBody),  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Body parameter#

{  "bypass_single_restrictions": true,  "delete": [    "5aaf5eac326102cf208e397f15534f0b89747b2263f47857b1d797275ce7e944"  ],  "insert": [    {      "data": "127.0.0.1",      "tag": "0x4101"    }  ],  "merkle_root": "916ea8882cdbe350ca9cec48680e4bf37d75930d8d033bed57128c0809537336",  "signature": "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"}

Parameters#

NameInTypeRequiredDescription
emoji_idpathstringtruenone
bodybodyEditRequesttruenone
ยป bypass_single_restrictionsbodybooleanfalseOptional: Allow many addresses per Tag
ยป deletebody[string]falseOptional: hashes of records to delete
ยป insertbody[any]falseOptional: list of records to add
ยปยป databodystringtrueCategory data in text format
ยปยป tagbodystringtrueCategory ID as a hex number
ยป merkle_rootbodystringfalseOptional: merkle root (use WASM to generate)
ยป signaturebodystringfalseOptional: signature (use WASM to generate)

Responses#

StatusMeaningDescriptionSchema
200OKOKInline
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None

Response Schema#

Authentication

To perform this operation, you must be authenticated by means of one of the following methods: apiKey

Generates a signature for the Yat allowing it to be minted#

Generates a signature for the Yat allowing it to be minted

If the yat has any active transfers for it or is in the pending transfer period this action fails

Example#

POST /emoji_id/{emoji_id}/generate_signature

const fetch = require('node-fetch');const inputBody = {  "account": "string",  "expiry": 0};const headers = {  'Content-Type':'application/json',  'Accept':'*/*',  'Authorization':'API_KEY'};
fetch('/emoji_id/{emoji_id}/generate_signature',{  method: 'POST',  body: JSON.stringify(inputBody),  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Body parameter#

{  "account": "string",  "expiry": 0}

Parameters#

NameInTypeRequiredDescription
emoji_idpathstringtruenone
bodybodySignatureRequesttruenone
ยป accountbodystringtruenone
ยป expirybodyinteger(int64)falsenone

Responses#

StatusMeaningDescriptionSchema
200OKOKSignatureResponse
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: two_factor

GET /emoji_id/{emoji_id}/metadata#

Example#

GET /emoji_id/{emoji_id}/metadata

const fetch = require('node-fetch');
const headers = {  'Accept':'*/*'};
fetch('/emoji_id/{emoji_id}/metadata',{  method: 'GET',
  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Parameters#

NameInTypeRequiredDescription
emoji_idpathstringtruenone

Responses#

StatusMeaningDescriptionSchema
200OKOKShapeMatch
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
note

This operation does not require authentication

Lookup EmojiId Payment addresses#

Lookup EmojiId Payment addresses

Will filter and return data from supplied tags, If tags filter is not supplied will return all payment tags attached. This method is called when a user wants to look up an Emoji ID's payment records and return a KV pair This endpoint returns a single result for each category type (except 0x6300) which it returns a unique 0x6300:short_name:settlement_network key instead. If there are multiple results for a crypto type it takes the most recent value unless there is a value that has the default flag set, in which case it uses the most recent default value.

Example#

GET /emoji_id/{emoji_id}/payment

const fetch = require('node-fetch');
const headers = {  'Accept':'*/*',  'Authorization':'API_KEY'};
fetch('/emoji_id/{emoji_id}/payment',{  method: 'GET',
  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Parameters#

NameInTypeRequiredDescription
emoji_idpathstringtruenone
tagsquerystringfalseComma-separated list of tags to display, skip it to display all, e.g. ?tags=0x0001,0x1001

Responses#

StatusMeaningDescriptionSchema
200OKOKPaymentAddressResponse
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: JWT

Calculate EmojiId rhythm score#

Calculate EmojiId rhythm score

The rhythm score is an indicator of a Yat's prestige, or status. Factors that affect the rhythm are length, shape, and the popularity of emojis present in the yat. The yat rhythm ranges from 1 (least prestigious) to 100 (most prestigious).

Example#

GET /emoji_id/{emoji_id}/rhythm

const fetch = require('node-fetch');
const headers = {  'Accept':'*/*'};
fetch('/emoji_id/{emoji_id}/rhythm',{  method: 'GET',
  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Parameters#

NameInTypeRequiredDescription
emoji_idpathstringtruenone

Responses#

StatusMeaningDescriptionSchema
200OKOKRhythmResponse
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
note

This operation does not require authentication

Lookup EmojiId data based on a symbol or ticker#

Lookup EmojiId data based on a symbol or ticker

Example#

GET /emoji_id/{emoji_id}/{tag}

const fetch = require('node-fetch');
const headers = {  'Accept':'*/*',  'Authorization':'API_KEY'};
fetch('/emoji_id/{emoji_id}/{tag}',{  method: 'GET',
  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Parameters#

NameInTypeRequiredDescription
emoji_idpathstringtruenone
tagpathstringtruenone

Responses#

StatusMeaningDescriptionSchema
200OKOKEidResponse
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: JWT

GET /nft_transfers/metadata/{token_id}#

Example#

GET /nft_transfers/metadata/{token_id}

const fetch = require('node-fetch');
const headers = {  'Accept':'*/*'};
fetch('/nft_transfers/metadata/{token_id}',{  method: 'GET',
  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Parameters#

NameInTypeRequiredDescription
token_idpathinteger(int64)truenone

Responses#

StatusMeaningDescriptionSchema
200OKOKMetadata
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
note

This operation does not require authentication

Redirect by EmojiId link#

Redirect by EmojiId link

Will redirect to a link if it is part of Emoji ID

Example#

GET /redirect

const fetch = require('node-fetch');
const headers = {  'Authorization':'API_KEY'};
fetch('/redirect?emoji_id=string&link=string',{  method: 'GET',
  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Parameters#

NameInTypeRequiredDescription
emoji_idquerystringtruenone
linkquerystringtruenone

Responses#

StatusMeaningDescriptionSchema
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: JWT


LootBoxes#

Lootboxes usage endpoints.

Fetch lootboxes#

Fetch lootboxes

Return lootboxes with their usage and availability information NOTE: user should have scope LootBoxAdmin or LootBoxUse

Example#

GET /lootboxes

const fetch = require('node-fetch');
const headers = {  'Accept':'*/*',  'Authorization,X-Api-Key':'API_KEY'};
fetch('/lootboxes',{  method: 'GET',
  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Parameters#

NameInTypeRequiredDescription
dirquerystringfalsenone
limitqueryinteger(int32)falsenone
owner_idquerystring(uuid)falseSearch by LootBox owner
pagequeryinteger(int32)falsenone
sortquerystringfalsenone
statusquerystringfalseSearch for LootBoxes by status

Enumerated Values#

ParameterValue
dirAsc
dirDesc
statusDraft
statusAvailable
statusOwned
statusUsed

Responses#

StatusMeaningDescriptionSchema
200OKOKListOfPublicLootBox
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: apiKey

Create a new lootbox#

Create a new lootbox

NOTE: user should have scope AdminLootBoxWrite

Example#

POST /lootboxes

const fetch = require('node-fetch');const inputBody = {  "owner_email": "string",  "owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05",  "status": "Draft",  "yats": [    "๐Ÿฑ๐Ÿ‰๐Ÿ‹๐Ÿด๐Ÿต"  ]};const headers = {  'Content-Type':'application/json',  'Accept':'*/*',  'Authorization':'API_KEY'};
fetch('/lootboxes',{  method: 'POST',  body: JSON.stringify(inputBody),  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Body parameter#

{  "owner_email": "string",  "owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05",  "status": "Draft",  "yats": [    "๐Ÿฑ๐Ÿ‰๐Ÿ‹๐Ÿด๐Ÿต"  ]}

Parameters#

NameInTypeRequiredDescription
bodybodyAdminNewLootBoxBodytruenone
ยป owner_emailbodystringfalseAssign lootbox an owner with matching email Should not be set if owner_id is set
ยป owner_idbodystring(uuid)falseLootbox owner_id, required for Owned and Used lootboxes
ยป statusbodystringtrueStatus lootbox will be created in If status is Used lootbox with be automatically opened
ยป yatsbody[string]trueLootBox emoji IDs

Enumerated Values#

ParameterValue
ยป statusDraft
ยป statusAvailable
ยป statusOwned
ยป statusUsed

Responses#

StatusMeaningDescriptionSchema
200OKOKPublicLootBox
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: two_factor

Show information about lootbox#

Show information about lootbox

For admin it will show full lootbox information including yats For user only lootbox owned by user, yats stripped NOTE: user should have scope AdminLootBoxRead or LootBoxUse

Example#

GET /lootboxes/{id}

const fetch = require('node-fetch');
const headers = {  'Accept':'*/*',  'Authorization,X-Api-Key':'API_KEY'};
fetch('/lootboxes/{id}',{  method: 'GET',
  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Parameters#

NameInTypeRequiredDescription
idpathstring(uuid)truenone

Responses#

StatusMeaningDescriptionSchema
200OKOKPublicLootBox
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: apiKey

Delete a lootbox#

Delete a lootbox

NOTE: user should have scope AdminLootBoxWrite

Example#

DELETE /lootboxes/{id}

const fetch = require('node-fetch');
const headers = {  'Accept':'*/*',  'Authorization':'API_KEY'};
fetch('/lootboxes/{id}',{  method: 'DELETE',
  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Parameters#

NameInTypeRequiredDescription
idpathstring(uuid)truenone

Responses#

StatusMeaningDescriptionSchema
200OKOKPublicLootBox
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: two_factor

Update a lootbox#

Update a lootbox

NOTE: user should have scope AdminLootBoxWrite

Example#

PATCH /lootboxes/{id}

const fetch = require('node-fetch');const inputBody = {  "owner_email": "string",  "owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05",  "status": "Draft",  "yats": [    "๐Ÿฑ๐Ÿ‰๐Ÿ‹๐Ÿด๐Ÿต"  ]};const headers = {  'Content-Type':'application/json',  'Accept':'*/*',  'Authorization':'API_KEY'};
fetch('/lootboxes/{id}',{  method: 'PATCH',  body: JSON.stringify(inputBody),  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Body parameter#

{  "owner_email": "string",  "owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05",  "status": "Draft",  "yats": [    "๐Ÿฑ๐Ÿ‰๐Ÿ‹๐Ÿด๐Ÿต"  ]}

Parameters#

NameInTypeRequiredDescription
idpathstring(uuid)truenone
bodybodyAdminUpdateLootBoxBodytruenone
ยป owner_emailbodystringfalseAssign lootbox an owner with matching email Should not be set if owner_id is set
ยป owner_idbodystring(uuid)falseAssign lootbox an owner, if set requires status Owned
ยป statusbodystringfalseUpdate status If status is Used lootbox with be automatically opened
ยป yatsbody[string]falseLootBox emoji IDs

Enumerated Values#

ParameterValue
ยป statusDraft
ยป statusAvailable
ยป statusOwned
ยป statusUsed

Responses#

StatusMeaningDescriptionSchema
200OKOKPublicLootBox
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: two_factor

Open lootbox#

Open lootbox

Will reassign all yats to user and return full lootbox view NOTE: user should have scope LootBoxUse

Example#

POST /lootboxes/{id}/open

const fetch = require('node-fetch');
const headers = {  'Accept':'*/*',  'Authorization,X-Api-Key':'API_KEY'};
fetch('/lootboxes/{id}/open',{  method: 'POST',
  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Parameters#

NameInTypeRequiredDescription
idpathstring(uuid)truenone

Responses#

StatusMeaningDescriptionSchema
200OKOKPublicLootBox
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: apiKey


User Interest#

User Interest endpoints. Endpoints for users to express interest in Emoji IDs.

Returns a paginated list of user interest records associated with the user#

Returns a paginated list of user interest records associated with the user

NOTE: user should have scope UserInterestRead

Example#

GET /user_interests

const fetch = require('node-fetch');
const headers = {  'Accept':'*/*',  'Authorization,X-Api-Key':'API_KEY'};
fetch('/user_interests',{  method: 'GET',
  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Parameters#

NameInTypeRequiredDescription
dirquerystringfalsenone
limitqueryinteger(int32)falsenone
pagequeryinteger(int32)falsenone
sortquerystringfalsenone

Enumerated Values#

ParameterValue
dirAsc
dirDesc

Responses#

StatusMeaningDescriptionSchema
200OKOKListOfUserInterest
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: apiKey

Create new interest in emoji to be notified when available#

Create new interest in emoji to be notified when available

NOTE: user should have scope UserInterestWrite

Example#

POST /user_interests

const fetch = require('node-fetch');const inputBody = {  "emoji_id": "๐Ÿฑ๐Ÿ‰๐Ÿ‹๐Ÿด๐Ÿต"};const headers = {  'Content-Type':'application/json',  'Accept':'*/*',  'Authorization,X-Api-Key':'API_KEY'};
fetch('/user_interests',{  method: 'POST',  body: JSON.stringify(inputBody),  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Body parameter#

{  "emoji_id": "๐Ÿฑ๐Ÿ‰๐Ÿ‹๐Ÿด๐Ÿต"}

Parameters#

NameInTypeRequiredDescription
bodybodyNewUserInterestParameterstruenone
ยป emoji_idbodystringtrueEmoji ID to express interest in

Responses#

StatusMeaningDescriptionSchema
200OKOKUserInterest
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: apiKey

Given an EmojiId returns information about the user interest if a record exists for this user#

Given an EmojiId returns information about the user interest if a record exists for this user

NOTE: user should have scope UserInterestRead

Example#

GET /user_interests/{emoji_id}

const fetch = require('node-fetch');
const headers = {  'Accept':'*/*',  'Authorization,X-Api-Key':'API_KEY'};
fetch('/user_interests/{emoji_id}',{  method: 'GET',
  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Parameters#

NameInTypeRequiredDescription
emoji_idpathstringtruenone

Responses#

StatusMeaningDescriptionSchema
200OKOKUserInterest
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: apiKey

Destroys the user interest preventing this Emoji ID's notification emails from being sent for this user#

Destroys the user interest preventing this Emoji ID's notification emails from being sent for this user

NOTE: user should have scope UserInterestDelete

Example#

DELETE /user_interests/{emoji_id}

const fetch = require('node-fetch');
const headers = {  'Accept':'*/*',  'Authorization,X-Api-Key':'API_KEY'};
fetch('/user_interests/{emoji_id}',{  method: 'DELETE',
  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Parameters#

NameInTypeRequiredDescription
emoji_idpathstringtruenone

Responses#

StatusMeaningDescriptionSchema
200OKOKUserInterest
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: apiKey


Users#

User Management. Only applicable for users with custodial wallets.

Current user account#

Current user account

Displays the currently logged in user account details.

Example#

GET /account

const fetch = require('node-fetch');
const headers = {  'Accept':'*/*',  'Authorization,X-Api-Key':'API_KEY'};
fetch('/account',{  method: 'GET',
  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Responses#

StatusMeaningDescriptionSchema
200OKOKCurrentUser
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: apiKey

Update the currently logged in user#

Update the currently logged in user

NOTE: user should have scope UserWriteSelf

Example#

PATCH /account

const fetch = require('node-fetch');const inputBody = {  "current_password": "string",  "email": "string",  "first_name": "string",  "last_name": "string",  "password": "string"};const headers = {  'Content-Type':'application/json',  'Accept':'*/*',  'Authorization':'API_KEY'};
fetch('/account',{  method: 'PATCH',  body: JSON.stringify(inputBody),  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Body parameter#

{  "current_password": "string",  "email": "string",  "first_name": "string",  "last_name": "string",  "password": "string"}

Parameters#

NameInTypeRequiredDescription
bodybodyUpdateUserParameterstruenone
ยป current_passwordbodystringfalseOptional: Current password, must be provided if one exists
ยป emailbodystringfalseOptional: Email
ยป first_namebodystringfalseOptional: First name
ยป last_namebodystringfalseOptional: Last name
ยป passwordbodystringfalseOptional: User password

Responses#

StatusMeaningDescriptionSchema
200OKOKUpdateAccountResponse
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: two_factor

Disable choosen 2FA provider or disable completely using backup code and user primary ID#

Disable choosen 2FA provider or disable completely using backup code and user primary ID

Example#

POST /account/2fa/backup_disable

const fetch = require('node-fetch');const inputBody = {  "alternate_id": "string",  "backup_code": "string",  "disable_all": true,  "email": "string",  "provider": "GoogleAuthenticator"};const headers = {  'Content-Type':'application/json',  'Accept':'*/*'};
fetch('/account/2fa/backup_disable',{  method: 'POST',  body: JSON.stringify(inputBody),  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Body parameter#

{  "alternate_id": "string",  "backup_code": "string",  "disable_all": true,  "email": "string",  "provider": "GoogleAuthenticator"}

Parameters#

NameInTypeRequiredDescription
bodybodyBackupDisableBodytruenone
ยป alternate_idbodystringfalseAlternate identifier
ยป backup_codebodystringtrueBackup code
ยป disable_allbodybooleanfalseMake this method default
ยป emailbodystringfalseEmail
ยป providerbodystringfalseTwo factor authentication backend

Enumerated Values#

ParameterValue
ยป providerGoogleAuthenticator
ยป providerSMS
ยป providerundefined

Responses#

StatusMeaningDescriptionSchema
200OKOKSuccessResponse
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
note

This operation does not require authentication

Confirm two factor authentication update#

Confirm two factor authentication update

Match 2FA code and commit two factor authentication setting for user account

Example#

POST /account/2fa/confirm

const fetch = require('node-fetch');const inputBody = {  "code": "string"};const headers = {  'Content-Type':'application/json',  'Accept':'*/*',  'Authorization':'API_KEY'};
fetch('/account/2fa/confirm',{  method: 'POST',  body: JSON.stringify(inputBody),  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Body parameter#

{  "code": "string"}

Parameters#

NameInTypeRequiredDescription
bodybodyConfirm2FaUpdatetruenone
ยป codebodystringtrueAuth code of new 2FA provider

Responses#

StatusMeaningDescriptionSchema
200OKOKSuccessResponse
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: two_factor

Disable choosen 2FA provider or disable completely#

Disable choosen 2FA provider or disable completely

Example#

POST /account/2fa/disable

const fetch = require('node-fetch');const inputBody = {  "disable_all": true,  "provider": "GoogleAuthenticator"};const headers = {  'Content-Type':'application/json',  'Accept':'*/*',  'Authorization':'API_KEY'};
fetch('/account/2fa/disable',{  method: 'POST',  body: JSON.stringify(inputBody),  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Body parameter#

{  "disable_all": true,  "provider": "GoogleAuthenticator"}

Parameters#

NameInTypeRequiredDescription
bodybodyDisable2FABodytruenone
ยป disable_allbodybooleantrueMake this method default
ยป providerbodystringfalseTwo factor authentication backend

Enumerated Values#

ParameterValue
ยป providerGoogleAuthenticator
ยป providerSMS
ยป providerundefined

Responses#

StatusMeaningDescriptionSchema
200OKOKSuccessResponse
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: two_factor

Enables two factor authentication method#

Enables two factor authentication method

Returning parameters necessary for client to store the code NOTE: This call does not take effect until code is confirmed via POST /account/2fa/confirm except for backup codes type which is confirmed immediately

Example#

POST /account/2fa/enable

const fetch = require('node-fetch');const inputBody = {  "default": true,  "phone": "string",  "provider": "GoogleAuthenticator"};const headers = {  'Content-Type':'application/json',  'Accept':'*/*',  'Authorization':'API_KEY'};
fetch('/account/2fa/enable',{  method: 'POST',  body: JSON.stringify(inputBody),  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Body parameter#

{  "default": true,  "phone": "string",  "provider": "GoogleAuthenticator"}

Parameters#

NameInTypeRequiredDescription
bodybodyEnable2FABodytruenone
ยป defaultbodybooleantrueMake this method default
ยป phonebodystringfalsePhone number required for SMS provider
ยป providerbodystringtrueTwo factor authentication backend

Enumerated Values#

ParameterValue
ยป providerGoogleAuthenticator
ยป providerSMS
ยป providerundefined

Responses#

StatusMeaningDescriptionSchema
200OKOKEnable2FAResponse
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: two_factor

Send SMS 2FA code#

Send SMS 2FA code

If user has setup 2FA authentication via SMS this will trigger SMS with 2fa code

Example#

POST /account/2fa/sms_code

const fetch = require('node-fetch');
const headers = {  'Accept':'*/*'};
fetch('/account/2fa/sms_code',{  method: 'POST',
  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Responses#

StatusMeaningDescriptionSchema
200OKOKSuccessResponse2FA
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
note

This operation does not require authentication

Load user data for a session#

Load user data for a session

Aggregates all the required data a user requires to start a web session

Example#

GET /account/load

const fetch = require('node-fetch');
const headers = {  'Accept':'*/*',  'Authorization,X-Api-Key':'API_KEY'};
fetch('/account/load',{  method: 'GET',
  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Parameters#

NameInTypeRequiredDescription
organization_idquerystring(uuid)falseLookup emojis owned by organization_id, requires organization power user role
user_idquerystring(uuid)falseLookup emojis owned by user_id, requires Admin role

Responses#

StatusMeaningDescriptionSchema
200OKOKLoadUser
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: apiKey

List users#

List users

NOTE: user should have scope UserList

Example#

GET /users

const fetch = require('node-fetch');
const headers = {  'Accept':'*/*',  'Authorization':'API_KEY'};
fetch('/users',{  method: 'GET',
  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Parameters#

NameInTypeRequiredDescription
dirquerystringfalsenone
limitqueryinteger(int32)falsenone
pagequeryinteger(int32)falsenone
sortquerystringfalsenone

Enumerated Values#

ParameterValue
dirAsc
dirDesc

Responses#

StatusMeaningDescriptionSchema
200OKOKListOfDisplayUserExtended
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: two_factor

Register a User#

Register a User

Create a user and a custodial wallet

Example#

POST /users

const fetch = require('node-fetch');const inputBody = {  "activate": true,  "activation_source": "string",  "alternate_id": "string",  "email": "string",  "first_name": "string",  "g_recaptcha_response": "string",  "last_name": "string",  "partner_conversion_id": "string",  "password": "string",  "source": "string"};const headers = {  'Content-Type':'application/json',  'Accept':'*/*'};
fetch('/users',{  method: 'POST',  body: JSON.stringify(inputBody),  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Body parameter#

{  "activate": true,  "activation_source": "string",  "alternate_id": "string",  "email": "string",  "first_name": "string",  "g_recaptcha_response": "string",  "last_name": "string",  "partner_conversion_id": "string",  "password": "string",  "source": "string"}

Parameters#

NameInTypeRequiredDescription
bodybodyRegisterUserParameterstruenone
ยป activatebodybooleanfalseOptional: Whether to force activation during creation (requires UserActivate scope)
ยป activation_sourcebodystringfalseOptional: Source of activation (requires UserActivate scope)
ยป alternate_idbodystringfalseAlternate identifier
ยป emailbodystringfalseEmail address
ยป first_namebodystringfalseOptional: first name
ยป g_recaptcha_responsebodystringfalseResponse from google Recaptcha
ยป last_namebodystringfalseOptional: last name
ยป partner_conversion_idbodystringfalseParameter to pass everflow click id
ยป passwordbodystringfalseOptional: password
ยป sourcebodystringfalseRequired when registering with alternate_id, source for non custodial user

Responses#

StatusMeaningDescriptionSchema
200OKOKTokenResponse
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
note

This operation does not require authentication

Show users#

Show users

NOTE: user should have scope UserShow

Example#

GET /users/{id}

const fetch = require('node-fetch');
const headers = {  'Accept':'*/*',  'Authorization':'API_KEY'};
fetch('/users/{id}',{  method: 'GET',
  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Parameters#

NameInTypeRequiredDescription
idpathstring(uuid)truenone

Responses#

StatusMeaningDescriptionSchema
200OKOKDisplayUserExtended
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: two_factor

Delete a user#

Delete a user

NOTE: user should have scope UserDeleteSelf if deleting themselves, UserDelete is needed for other users

Example#

DELETE /users/{id}

const fetch = require('node-fetch');
const headers = {  'Accept':'*/*',  'Authorization,X-Api-Key':'API_KEY'};
fetch('/users/{id}',{  method: 'DELETE',
  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Parameters#

NameInTypeRequiredDescription
idpathstring(uuid)truenone

Responses#

StatusMeaningDescriptionSchema
200OKOKDisplayUser
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: apiKey

Update a user as an admin#

Update a user as an admin

NOTE: user should have scope UserWrite

Example#

PATCH /users/{id}

const fetch = require('node-fetch');const inputBody = {  "activation_source": "string",  "current_password": "string",  "email": "string",  "first_name": "string",  "free_limit": 0,  "last_name": "string",  "password": "string",  "role": "Admin"};const headers = {  'Content-Type':'application/json',  'Accept':'*/*',  'Authorization':'API_KEY'};
fetch('/users/{id}',{  method: 'PATCH',  body: JSON.stringify(inputBody),  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Body parameter#

{  "activation_source": "string",  "current_password": "string",  "email": "string",  "first_name": "string",  "free_limit": 0,  "last_name": "string",  "password": "string",  "role": "Admin"}

Parameters#

NameInTypeRequiredDescription
idpathstring(uuid)truenone
bodybodyAdminUpdateUserParameterstruenone
ยป activation_sourcebodystringfalseOptional: Source of activation
ยป current_passwordbodystringfalseOptional: Current password, must be provided if one exists
ยป emailbodystringfalseOptional: Email
ยป first_namebodystringfalseOptional: First name
ยป free_limitbodyinteger(int32)falseOptional: Free limit for how many yats the user may purchase
ยป last_namebodystringfalseOptional: Last name
ยป passwordbodystringfalseOptional: User password
ยป rolebodystringfalseOptional: Update the user role

Enumerated Values#

ParameterValue
ยป roleAdmin
ยป roleOrgController
ยป roleOrgMember
ยป roleOrgOwner
ยป roleBot
ยป roleSuper
ยป roleUser

Responses#

StatusMeaningDescriptionSchema
200OKOKDisplayUser
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: two_factor


Key Management#

Manage a user's public keys

Retrieve pubkeys#

Retrieve pubkeys

Retrieves pubkeys owned by currently authenticated user. This call expects empty body.

Example#

GET /pubkeys

const fetch = require('node-fetch');
const headers = {  'Accept':'*/*',  'Authorization,X-Api-Key':'API_KEY'};
fetch('/pubkeys',{  method: 'GET',
  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Responses#

StatusMeaningDescriptionSchema
200OKOKInline
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None

Response Schema#

Status Code 200

NameTypeRequiredRestrictionsDescription
anonymous[Pubkey]falsenone[A hexadecimal representation of a 256-bit public key.]
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: apiKey

Generate custodial wallet#

Generate custodial wallet

Generates custodial wallet with pubkey for currently authenticated user. This call expects empty body.

Example#

POST /pubkeys

const fetch = require('node-fetch');
const headers = {  'Accept':'*/*',  'Authorization':'API_KEY'};
fetch('/pubkeys',{  method: 'POST',
  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Responses#

StatusMeaningDescriptionSchema
200OKOKPubkey
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: two_factor

Add pubkey for current user#

Add pubkey for current user

This call expects empty body

Example#

POST /pubkeys/{pubkey}

const fetch = require('node-fetch');
const headers = {  'Accept':'*/*',  'Authorization':'API_KEY'};
fetch('/pubkeys/{pubkey}',{  method: 'POST',
  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Parameters#

NameInTypeRequiredDescription
pubkeypathstringtruenone

Responses#

StatusMeaningDescriptionSchema
200OKOKPubkey
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: two_factor

Retrieve pubkeys by user_id#

Retrieve pubkeys by user_id

NOTE: user should have scope UserPubkeyList

Example#

GET /users/{user_id}/pubkeys

const fetch = require('node-fetch');
const headers = {  'Accept':'*/*',  'Authorization,X-Api-Key':'API_KEY'};
fetch('/users/{user_id}/pubkeys',{  method: 'GET',
  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Parameters#

NameInTypeRequiredDescription
user_idpathstring(uuid)truenone

Responses#

StatusMeaningDescriptionSchema
200OKOKInline
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None

Response Schema#

Status Code 200

NameTypeRequiredRestrictionsDescription
anonymous[Pubkey]falsenone[A hexadecimal representation of a 256-bit public key.]
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: apiKey

Add pubkey for user by user_id#

Add pubkey for user by user_id

NOTE: user should have scope UserPubkeyWrite This call expects empty body

Example#

POST /users/{user_id}/pubkeys/{pubkey}

const fetch = require('node-fetch');
const headers = {  'Accept':'*/*',  'Authorization':'API_KEY'};
fetch('/users/{user_id}/pubkeys/{pubkey}',{  method: 'POST',
  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Parameters#

NameInTypeRequiredDescription
user_idpathstringtruePublic key to add
pubkeypathstring(uuid)trueuser_id to grant public key ownership to

Responses#

StatusMeaningDescriptionSchema
200OKOKPubkey
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: two_factor


Transfer#

Emoji transfers between users.

List outgoing transfer requests for current or specified user If limit is omitted will display top 50 transfer requests#

List outgoing transfer requests for current or specified user If limit is omitted will display top 50 transfer requests

Example#

GET /transfers

const fetch = require('node-fetch');
const headers = {  'Accept':'*/*',  'Authorization,X-Api-Key':'API_KEY'};
fetch('/transfers',{  method: 'GET',
  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Parameters#

NameInTypeRequiredDescription
accepted_afterquerystring(date-time)falseWhen set will display only requests accepted after provided datetime
dirquerystringfalsenone
limitqueryinteger(int32)falsenone
pagequeryinteger(int32)falsenone
sender_idquerystring(uuid)falseUuid of a sender
sortquerystringfalsenone

Enumerated Values#

ParameterValue
dirAsc
dirDesc

Responses#

StatusMeaningDescriptionSchema
200OKOKListOfDisplayTransferRequest
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: apiKey

Transfer eid to either the pubkey or email address supplied in the PUT data#

Transfer eid to either the pubkey or email address supplied in the PUT data

Note: user expected to be Admin or have scope Scopes::EmojiTransfer and own emoji If recipient does not exist account will be created and sent invitation email If recipient is not activated it will be automatically activated

Example#

POST /transfers

const fetch = require('node-fetch');const inputBody = {  "clear_on_transfer": true,  "eid": "๐Ÿฑ๐Ÿ‰๐Ÿ‹๐Ÿด๐Ÿต",  "email": "string",  "force_transfer": true,  "message": "string"};const headers = {  'Content-Type':'application/json',  'Accept':'*/*',  'Authorization,X-Api-Key':'API_KEY'};
fetch('/transfers',{  method: 'POST',  body: JSON.stringify(inputBody),  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Body parameter#

{  "clear_on_transfer": true,  "eid": "๐Ÿฑ๐Ÿ‰๐Ÿ‹๐Ÿด๐Ÿต",  "email": "string",  "force_transfer": true,  "message": "string"}

Parameters#

NameInTypeRequiredDescription
bodybodyTransferRequesttruenone
ยป clear_on_transferbodybooleantrueClear emoji data when emoji transferred to destination
ยป eidbodystringtruenone
ยป emailbodystringtrueTransfer to specified email, would register new user account if not existent
ยป force_transferbodybooleantrueAdmin can force transfer, for regular user it has no effect
ยป messagebodystringfalseMessage displayed to recipient and included in the invitiation email

Responses#

StatusMeaningDescriptionSchema
200OKOKDisplayTransferRequest
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: apiKey

List transfer requests assigned to user#

List transfer requests assigned to user

Example#

GET /transfers/incoming

const fetch = require('node-fetch');
const headers = {  'Accept':'*/*',  'Authorization,X-Api-Key':'API_KEY'};
fetch('/transfers/incoming?accepted=true',{  method: 'GET',
  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Parameters#

NameInTypeRequiredDescription
acceptedquerybooleantrueDisplay accepted transfer requests. By default will display pending requests only.

Responses#

StatusMeaningDescriptionSchema
200OKOKInline
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None

Response Schema#

Status Code 200

NameTypeRequiredRestrictionsDescription
anonymous[DisplayTransferRequest]falsenonenone
ยป accepted_atstring(date-time)falsenonenone
ยป clear_on_transferbooleantruenonenone
ยป created_atstring(date-time)truenonenone
ยป deleted_atstring(date-time)falsenonenone
ยป eidstringtruenonenone
ยป emailstringtruenonenone
ยป idstring(uuid)truenonenone
ยป messagestringfalsenonenone
ยป recipient_idstring(uuid)truenonenone
ยป sender_code_accepted_atstring(date-time)falsenonenone
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: apiKey

Mark transfer request as deleted#

Mark transfer request as deleted

Note: user expected to be Admin or creator of transfer request Note: When transfer request deleted it cannot be accepted, if it was accepted before being deleted it is just marked deleted, but emoji does not move back

Example#

DELETE /transfers/{transfer_id}

const fetch = require('node-fetch');
const headers = {  'Accept':'*/*',  'Authorization,X-Api-Key':'API_KEY'};
fetch('/transfers/{transfer_id}',{  method: 'DELETE',
  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Parameters#

NameInTypeRequiredDescription
transfer_idpathstring(uuid)truenone

Responses#

StatusMeaningDescriptionSchema
200OKOKDisplayTransferRequest
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: apiKey

As a receiver, accept transfer request by id.#

As a receiver, accept transfer request by id.

If the OTP is correct, the transfer instructions are submitted. Returning transferred Emoji IDs

Example#

POST /transfers/{transfer_id}/receiver_accept

const fetch = require('node-fetch');const inputBody = {  "code": "string"};const headers = {  'Content-Type':'application/json',  'Accept':'*/*',  'Authorization,X-Api-Key':'API_KEY'};
fetch('/transfers/{transfer_id}/receiver_accept',{  method: 'POST',  body: JSON.stringify(inputBody),  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Body parameter#

{  "code": "string"}

Parameters#

NameInTypeRequiredDescription
transfer_idpathstring(uuid)truenone
bodybodyAcceptTransfertruenone
ยป codebodystringtrueConfirmation OTP of either the sender or receiver of the transfer

Responses#

StatusMeaningDescriptionSchema
200OKOKInline
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None

Response Schema#

Status Code 200

NameTypeRequiredRestrictionsDescription
anonymous[EmojiId]falsenone[The emoji id is the key value used in the Emoji ID key-value lookup system. As the name suggests, the id consists solely of emoji characters from a carefully curated list ranging in length from one to six characters. Emoji ids are 'owned' in the sense that there is a private-public keypair associated with the id that granted transfer and write-access rights to anyone with knowledge of the emoji id's private key. The primary use of emoji ids is to associate useful related data with the id. This creates a unified identity around that emoji id. For example, someone may associate a website, a twitter handle and a BTC payment address to an emoji id. Those three disparate entities can then be easily accessed using the same emoji id.]
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: apiKey

Resend a new transfer OTP code for the current user, if the transfer allows it.#

Resend a new transfer OTP code for the current user, if the transfer allows it.

The code will be resent if: - the current user is the sender and the sender has not confirmed - the current user is the receiver, the sender has confirmed the transfer but has not been accepted by the receiver

Example#

POST /transfers/{transfer_id}/resend_code

const fetch = require('node-fetch');
const headers = {  'Accept':'*/*',  'Authorization,X-Api-Key':'API_KEY'};
fetch('/transfers/{transfer_id}/resend_code',{  method: 'POST',
  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Parameters#

NameInTypeRequiredDescription
transfer_idpathstring(uuid)truenone

Responses#

StatusMeaningDescriptionSchema
200OKOKInline
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None

Response Schema#

Authentication

To perform this operation, you must be authenticated by means of one of the following methods: apiKey

As a sender, confirm the transfer request by transfer id.#

As a sender, confirm the transfer request by transfer id.

The correct OTP must be provided. If it is, the receiver is notified and may accept the transfer. Returning an empty response object on success

Example#

POST /transfers/{transfer_id}/sender_accept

const fetch = require('node-fetch');const inputBody = {  "code": "string"};const headers = {  'Content-Type':'application/json',  'Accept':'*/*',  'Authorization,X-Api-Key':'API_KEY'};
fetch('/transfers/{transfer_id}/sender_accept',{  method: 'POST',  body: JSON.stringify(inputBody),  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Body parameter#

{  "code": "string"}

Parameters#

NameInTypeRequiredDescription
transfer_idpathstring(uuid)truenone
bodybodyAcceptTransfertruenone
ยป codebodystringtrueConfirmation OTP of either the sender or receiver of the transfer

Responses#

StatusMeaningDescriptionSchema
200OKOKDisplayTransferRequest
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: apiKey


ApiKeys#

Load api keys for user#

Load api keys for user

If query param user_id is provided requires admin role.

Example#

GET /api_keys

const fetch = require('node-fetch');
const headers = {  'Accept':'*/*',  'Authorization':'API_KEY'};
fetch('/api_keys',{  method: 'GET',
  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Parameters#

NameInTypeRequiredDescription
user_idquerystring(uuid)falseUser id for which api key should be applied

Responses#

StatusMeaningDescriptionSchema
200OKOKInline
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None

Response Schema#

Status Code 200

NameTypeRequiredRestrictionsDescription
anonymous[DisplayApiKey]falsenonenone
ยป api_keystringtruenonenone
ยป created_atstring(date-time)truenonenone
ยป expires_atstring(date-time)falsenonenone
ยป namestringtruenonenone
ยป scopes[string]truenonenone
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: two_factor

Create new api key for current user#

Create new api key for current user

Requires scope CreateApiKey. When query param user_id is provided requires admin role.

Example#

POST /api_keys

const fetch = require('node-fetch');const inputBody = {  "expires_at": "2019-08-24T14:15:22Z",  "name": "string",  "scopes": [    "adminCart:update"  ]};const headers = {  'Content-Type':'application/json',  'Accept':'*/*',  'Authorization':'API_KEY'};
fetch('/api_keys',{  method: 'POST',  body: JSON.stringify(inputBody),  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Body parameter#

{  "expires_at": "2019-08-24T14:15:22Z",  "name": "string",  "scopes": [    "adminCart:update"  ]}

Parameters#

NameInTypeRequiredDescription
user_idquerystring(uuid)falseUser id for which api key should be applied
bodybodyCreateApiKeyBodytruenone
ยป expires_atbodystring(date-time)falsenone
ยป namebodystringtruenone
ยป scopesbody[string]falsenone

Enumerated Values#

ParameterValue
ยป scopesadminCart:update
ยป scopesadminEmoji:destroy
ยป scopesadminEmoji:load
ยป scopesadminEmoji:register
ยป scopesadminEmoji:transfer
ยป scopesadminEmoji:updateFeatures
ยป scopesadminEmoji:updateSecureData
ยป scopesadminEmoji:write
ยป scopesadminFeatureUser:read
ยป scopesadminInvites:write
ยป scopesadminInvites:list
ยป scopesadminLootbox:read
ยป scopesadminLootbox:write
ยป scopesadminNotifications:write
ยป scopesadminUser:bypass2fa
ยป scopesadminUser:load
ยป scopesadminUser:loginAs
ยป scopesadminUser:twoFactorAuthDestroy
ยป scopesadminUser:roleUpdate
ยป scopescart:show
ยป scopescart:update
ยป scopescode:delete
ยป scopescode:read
ยป scopescode:write
ยป scopesuser:createApiKey
ยป scopesdomainAction:read
ยป scopesdomainEvent:read
ยป scopesedition:delete
ยป scopesedition:read
ยป scopesedition:write
ยป scopesemojiGroups:delete
ยป scopesemojiGroups:read
ยป scopesemojiGroups:write
ยป scopesemoji::transfer
ยป scopesfeature::delete
ยป scopesfeature::read
ยป scopesfeature::write
ยป scopeslootbox:use
ยป scopesorder:paymentOverride
ยป scopesorder:read
ยป scopesorder:readSelf
ยป scopesorder:refund
ยป scopesorder:refundOverride
ยป scopesorder:resendConfirmation
ยป scopesorganization:admin
ยป scopesorganizationCode:admin
ยป scopesorganizationEmoji:list
ยป scopesorganizationEmoji:write
ยป scopesorganizationList:read
ยป scopesorganization:read
ยป scopesorganizationUser:admin
ยป scopesorganizationUser:read
ยป scopesorganization:write
ยป scopesnftSignature:write
ยป scopesnftToken:destroy
ยป scopesnftTransfer:read
ยป scopespaymentMethod:destroy
ยป scopespaymentMethod:read
ยป scopespaymentMethod:setDefault
ยป scopesadminPriceParameters:read
ยป scopesadminPriceParameters:write
ยป scopesrefund:read
ยป scopestoken:refresh
ยป scopesauth:twoFactor
ยป scopesuser:activate
ยป scopesuserData:update
ยป scopesuser:delete
ยป scopesuser:deleteSelf
ยป scopesuserEmail:verify
ยป scopesuserEmoji:list
ยป scopesuserInterest:delete
ยป scopesuserInterest:read
ยป scopesuserInterest:write
ยป scopesuser:list
ยป scopesuserPubkeys:list
ยป scopesuserPubkeys:write
ยป scopesuser:show
ยป scopesuser:write
ยป scopesuser:writeSelf

Responses#

StatusMeaningDescriptionSchema
200OKOKDisplayApiKey
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: two_factor

Delete provided api key#

Delete provided api key

When key does not belong to current user requires Admin access

Example#

DELETE /api_keys/{id}

const fetch = require('node-fetch');
const headers = {  'Accept':'*/*',  'Authorization':'API_KEY'};
fetch('/api_keys/{id}',{  method: 'DELETE',
  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Parameters#

NameInTypeRequiredDescription
idpathstringtruenone

Responses#

StatusMeaningDescriptionSchema
200OKOKDisplayApiKey
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: two_factor


Discounts#

Fetch codes#

Fetch codes

Return codes with their usage and availability information NOTE: user should have scope OrganizationCodeAdmin or CodeRead

Example#

GET /codes

const fetch = require('node-fetch');
const headers = {  'Accept':'*/*',  'Authorization,X-Api-Key':'API_KEY'};
fetch('/codes',{  method: 'GET',
  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Parameters#

NameInTypeRequiredDescription
code_typequerystringfalseOptional: filter by code type
dirquerystringfalsenone
limitqueryinteger(int32)falsenone
organization_idquerystring(uuid)falseOptional: filter by organization id
pagequeryinteger(int32)falsenone
sortquerystringfalsenone

Enumerated Values#

ParameterValue
code_typeDiscount
code_typeRandomYat
dirAsc
dirDesc

Responses#

StatusMeaningDescriptionSchema
200OKOKListOfCodeAvailability
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: apiKey

Add pubkey for code#

Add pubkey for code

NOTE: user should have scope OrganizationCodeAdmin or CodeWrite

Example#

POST /codes/{code_id}/pubkeys/{pubkey}

const fetch = require('node-fetch');
const headers = {  'Accept':'*/*',  'Authorization':'API_KEY'};
fetch('/codes/{code_id}/pubkeys/{pubkey}',{  method: 'POST',
  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Parameters#

NameInTypeRequiredDescription
code_idpathstring(uuid)truenone
pubkeypathstringtruePublic key to authorize usage of a code

Responses#

StatusMeaningDescriptionSchema
200OKOKPubkey
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: two_factor

Revoke pubkey for code#

Revoke pubkey for code

NOTE: user should have scope OrganizationCodeAdmin or CodeWrite

Example#

DELETE /codes/{code_id}/pubkeys/{pubkey}

const fetch = require('node-fetch');
const headers = {  'Accept':'*/*',  'Authorization':'API_KEY'};
fetch('/codes/{code_id}/pubkeys/{pubkey}',{  method: 'DELETE',
  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Parameters#

NameInTypeRequiredDescription
code_idpathstring(uuid)truenone
pubkeypathstringtruePublic key to authorize usage of a code

Responses#

StatusMeaningDescriptionSchema
200OKOKPubkey
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: two_factor

Use random yat code#

Use random yat code

Creates cart with random yat

Example#

POST /codes/{code_id}/random_yat

const fetch = require('node-fetch');const inputBody = {  "nonce": "string",  "pubkey": "74dfa32b2c227ca2aa9ce3922a735669835443c1c36596795de1f48dbfaf7b2f",  "signature": "string",  "tracking_data": null};const headers = {  'Content-Type':'application/json',  'Accept':'*/*',  'Authorization,X-Api-Key':'API_KEY'};
fetch('/codes/{code_id}/random_yat',{  method: 'POST',  body: JSON.stringify(inputBody),  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Body parameter#

{  "nonce": "string",  "pubkey": "74dfa32b2c227ca2aa9ce3922a735669835443c1c36596795de1f48dbfaf7b2f",  "signature": "string",  "tracking_data": null}

Parameters#

NameInTypeRequiredDescription
code_idpathstring(uuid)truenone
bodybodyRandomYatActivateBodytruenone
ยป noncebodystringtrueSchnorr signature nonce as a hex string
ยป pubkeybodystringtruePublic key to authorize usage of a code
ยป signaturebodystringtrueSchnorr signature as a hex with alternate_id as a challenge
ยป tracking_databodyanyfalseCustom tracking data to be associated with a purchase

Responses#

StatusMeaningDescriptionSchema
200OKOKDisplayOrder
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: apiKey


LootBoxType#

List all loot box categories#

List all loot box categories

NOTE: user must have scope AdminLootBoxRead

Example#

GET /lootbox_type

const fetch = require('node-fetch');
const headers = {  'Accept':'*/*',  'Authorization':'API_KEY'};
fetch('/lootbox_type',{  method: 'GET',
  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Responses#

StatusMeaningDescriptionSchema
200OKOKInline
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None

Response Schema#

Status Code 200

NameTypeRequiredRestrictionsDescription
anonymous[PublicLootBoxType]falsenone[HTTP schema for an existing LootBoxType record]
ยป configobjecttruenoneThe loot box type's configuration parameters
ยปยป guarantees[object]truenoneA set of guaranteed drops in this loot box type
ยปยปยป countinteger(int64)truenoneThe number of guaranteed drops of this type in the loot box
ยปยปยป max_scoreinteger(int64)truenoneThe highest (inclusive) rhythm score range for guaranteed drop
ยปยปยป min_scoreinteger(int64)truenoneThe lowest (inclusive) rhythm score range for guaranteed drop
ยปยป max_base_scoreinteger(int64)truenoneThe upper bound (inclusive) rhythm score for standard yats in the loot box
ยปยป max_lengthinteger(int64)truenoneMaximum yat length
ยปยป min_base_scoreinteger(int64)truenoneThe lower bound (inclusive) rhythm score for standard yats in the loot box
ยปยป min_lengthinteger(int64)truenoneMinimum yat length
ยปยป sizeinteger(int64)truenoneThe number of yats in the loot box
ยปยป weights[object]truenoneA set of probability weightings for chance-based drops
ยปยปยป iprnumber(double)truenoneThe inverse probability ratio. This is a 1:n value. i.e. an ipr of 5 means a 1 in 5 chance of occurring, or 20%
ยปยปยป max_scoreinteger(int64)truenoneThe highest (inclusive) rhythm score range for inclusion when the probability spec hits
ยปยปยป min_scoreinteger(int64)truenoneThe lowest (inclusive) rhythm score range for inclusion when the probability spec hits
ยป created_atstring(date-time)truenoneThe timestamp for when this loot box type was created
ยป descriptionstringtruenoneA more detailed description of the loot box type
ยป idstring(uuid)truenoneThe loot box type id
ยป namestringtruenoneThe name of this loot box type
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: two_factor

Create a new lootbox category#

Create a new lootbox category

NOTE: user must have scope AdminLootBoxWrite

Example#

POST /lootbox_type

const fetch = require('node-fetch');const inputBody = {  "config": {    "guarantees": [      {        "count": 0,        "max_score": 0,        "min_score": 0      }    ],    "max_base_score": 0,    "max_length": 0,    "min_base_score": 0,    "min_length": 0,    "size": 0,    "weights": [      {        "ipr": 0,        "max_score": 0,        "min_score": 0      }    ]  },  "description": "string",  "name": "string"};const headers = {  'Content-Type':'application/json',  'Accept':'*/*',  'Authorization':'API_KEY'};
fetch('/lootbox_type',{  method: 'POST',  body: JSON.stringify(inputBody),  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Body parameter#

{  "config": {    "guarantees": [      {        "count": 0,        "max_score": 0,        "min_score": 0      }    ],    "max_base_score": 0,    "max_length": 0,    "min_base_score": 0,    "min_length": 0,    "size": 0,    "weights": [      {        "ipr": 0,        "max_score": 0,        "min_score": 0      }    ]  },  "description": "string",  "name": "string"}

Parameters#

NameInTypeRequiredDescription
bodybodyAdminNewLootBoxTypetruenone
ยป configbodyobjecttrueThe configuration parameters for the loot box type
ยปยป guaranteesbody[object]trueA set of guaranteed drops in this loot box type
ยปยปยป countbodyinteger(int64)trueThe number of guaranteed drops of this type in the loot box
ยปยปยป max_scorebodyinteger(int64)trueThe highest (inclusive) rhythm score range for guaranteed drop
ยปยปยป min_scorebodyinteger(int64)trueThe lowest (inclusive) rhythm score range for guaranteed drop
ยปยป max_base_scorebodyinteger(int64)trueThe upper bound (inclusive) rhythm score for standard yats in the loot box
ยปยป max_lengthbodyinteger(int64)trueMaximum yat length
ยปยป min_base_scorebodyinteger(int64)trueThe lower bound (inclusive) rhythm score for standard yats in the loot box
ยปยป min_lengthbodyinteger(int64)trueMinimum yat length
ยปยป sizebodyinteger(int64)trueThe number of yats in the loot box
ยปยป weightsbody[object]trueA set of probability weightings for chance-based drops
ยปยปยป iprbodynumber(double)trueThe inverse probability ratio. This is a 1:n value. i.e. an ipr of 5 means a 1 in 5 chance of occurring, or 20%
ยปยปยป max_scorebodyinteger(int64)trueThe highest (inclusive) rhythm score range for inclusion when the probability spec hits
ยปยปยป min_scorebodyinteger(int64)trueThe lowest (inclusive) rhythm score range for inclusion when the probability spec hits
ยป descriptionbodystringtrueA description for the loot box type
ยป namebodystringtruethe name of the loot box type

Responses#

StatusMeaningDescriptionSchema
200OKOKPublicLootBoxType
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: two_factor

Generates a set of loot boxes#

Generates a set of loot boxes

NOTE: user must have scope AdminLootBoxWrite

Example#

POST /lootbox_type/generate

const fetch = require('node-fetch');const inputBody = {  "loot_box_type_id": "304c4377-b66f-4c4c-8d3f-9284ec029078",  "num_boxes": 0};const headers = {  'Content-Type':'application/json',  'Accept':'*/*',  'Authorization':'API_KEY'};
fetch('/lootbox_type/generate',{  method: 'POST',  body: JSON.stringify(inputBody),  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Body parameter#

{  "loot_box_type_id": "304c4377-b66f-4c4c-8d3f-9284ec029078",  "num_boxes": 0}

Parameters#

NameInTypeRequiredDescription
bodybodyLootBoxGenerationRequesttruenone
ยป loot_box_type_idbodystring(uuid)trueThe id of the loot box type to generate
ยป num_boxesbodyinteger(int64)trueThe number of loot boxes to generate in this sample

Responses#

StatusMeaningDescriptionSchema
200OKOKLootBoxSet
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: two_factor


Organization#

Load organization branding paramters#

Load organization branding paramters

Example#

GET /organizations/{id}/branding

const fetch = require('node-fetch');
const headers = {  'Accept':'*/*'};
fetch('/organizations/{id}/branding',{  method: 'GET',
  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Parameters#

NameInTypeRequiredDescription
idpathstringtruenone

Responses#

StatusMeaningDescriptionSchema
200OKOKOrganizationBranding
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
note

This operation does not require authentication

Set organization branding parameters#

Set organization branding parameters

NOTE: user should have scope OrganizationWrite

Example#

PUT /organizations/{id}/branding

const fetch = require('node-fetch');const inputBody = {  "currencies": [    "string"  ],  "logo": "string",  "logo_small": "string",  "logo_thumbnail": "string",  "requires_email": true,  "return_link": "string"};const headers = {  'Content-Type':'application/json',  'Accept':'*/*',  'Authorization':'API_KEY'};
fetch('/organizations/{id}/branding',{  method: 'PUT',  body: JSON.stringify(inputBody),  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Body parameter#

{  "currencies": [    "string"  ],  "logo": "string",  "logo_small": "string",  "logo_thumbnail": "string",  "requires_email": true,  "return_link": "string"}

Parameters#

NameInTypeRequiredDescription
idpathstringtruenone
bodybodyUpdateOrganizationBrandingtruenone
ยป currenciesbody[string]truenone
ยป logobodystringfalsenone
ยป logo_smallbodystringfalsenone
ยป logo_thumbnailbodystringfalsenone
ยป requires_emailbodybooleanfalsenone
ยป return_linkbodystringtruenone

Responses#

StatusMeaningDescriptionSchema
200OKOKOrganizationBranding
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: two_factor


Proxy#

Calls a pre-defined proxy service with the provided data#

Calls a pre-defined proxy service with the provided data

Returns the response from the proxied service as a string

Example#

POST /proxy

const fetch = require('node-fetch');const inputBody = {  "data": "string",  "service": "Echo"};const headers = {  'Content-Type':'application/json',  'Accept':'*/*',  'Authorization,X-Api-Key':'API_KEY'};
fetch('/proxy',{  method: 'POST',  body: JSON.stringify(inputBody),  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Body parameter#

{  "data": "string",  "service": "Echo"}

Parameters#

NameInTypeRequiredDescription
bodybodyProxyCallParameterstruenone
ยป databodystringfalseThe data to pass through to the proxied service
ยป servicebodystringtrueProxyService type

Enumerated Values#

ParameterValue
ยป serviceEcho
ยป serviceScraper

Responses#

StatusMeaningDescriptionSchema
200OKOKProxyResult
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: apiKey


User Feature#

List users features#

List users features

Example#

GET /user_features

const fetch = require('node-fetch');
const headers = {  'Accept':'*/*',  'Authorization':'API_KEY'};
fetch('/user_features',{  method: 'GET',
  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Responses#

StatusMeaningDescriptionSchema
200OKOKInline
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None

Response Schema#

Status Code 200

NameTypeRequiredRestrictionsDescription
anonymous[DisplayFeature]falsenonenone
ยป codestringtruenonenone
ยป idstring(uuid)truenonenone
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: JWT


Wallets#

Fetch associated wallet addresses for the user#

Fetch associated wallet addresses for the user

Example#

GET /wallets

const fetch = require('node-fetch');
const headers = {  'Accept':'*/*',  'Authorization,X-Api-Key':'API_KEY'};
fetch('/wallets',{  method: 'GET',
  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Responses#

StatusMeaningDescriptionSchema
200OKOKInline
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None

Response Schema#

Status Code 200

NameTypeRequiredRestrictionsDescription
anonymous[Wallet]falsenonenone
ยป eth_addressstringtruenonenone
ยป user_idstring(uuid)truenonenone
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: apiKey

Associate new wallet address with user#

Associate new wallet address with user

Example#

POST /wallets

const fetch = require('node-fetch');const inputBody = {  "signature": "string",  "source": "Mint"};const headers = {  'Content-Type':'application/json',  'Authorization,X-Api-Key':'API_KEY'};
fetch('/wallets',{  method: 'POST',  body: JSON.stringify(inputBody),  headers: headers}).then(function(res) {    return res.json();}).then(function(body) {    console.log(body);});

Body parameter#

{  "signature": "string",  "source": "Mint"}

Parameters#

NameInTypeRequiredDescription
bodybodyWalletSyncRequesttruenone
ยป signaturebodystringtruenone
ยป sourcebodystringtruenone

Enumerated Values#

ParameterValue
ยป sourceMint
ยป sourceDashboard

Responses#

StatusMeaningDescriptionSchema
400Bad RequestBad request: Request body or parameters are not in the expected format.None
401UnauthorizedUnauthorized: Access token not found or invalid.None
422Unprocessable EntityUnprocessable Entity: Duplicate record.None
500Internal Server ErrorInternal server error.None
Authentication

To perform this operation, you must be authenticated by means of one of the following methods: apiKey


Schemas#

AcceptTransfer#

Properties#

NameTypeRequiredRestrictionsDescription
codestringtruenoneConfirmation OTP of either the sender or receiver of the transfer.

Example#

{  "code": "string"}

AddItemsCartRequest#

Properties#

NameTypeRequiredRestrictionsDescription
items[object]truenoneNew items to add to cart.
ยป emoji_idstringtruenoneEmojiID to buy.
tracking_dataanyfalsenoneTracking data.

Example#

{  "items": [    {      "emoji_id": "๐Ÿฑ๐Ÿ‰๐Ÿ‹๐Ÿด๐Ÿต"    }  ],  "tracking_data": null}

AdminNewLootBoxBody#

Properties#

NameTypeRequiredRestrictionsDescription
owner_emailstringfalsenoneAssign lootbox an owner with matching email Should not be set if owner_id is set.
owner_idstring(uuid)falsenoneLootbox owner_id, required for Owned and Used lootboxes.
statusstringtruenoneStatus lootbox will be created in If status is Used lootbox with be automatically opened.
yats[string]truenoneLootBox emoji IDs.

Enumerated Values#

PropertyValue
statusDraft
statusAvailable
statusOwned
statusUsed

Example#

{  "owner_email": "string",  "owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05",  "status": "Draft",  "yats": [    "๐Ÿฑ๐Ÿ‰๐Ÿ‹๐Ÿด๐Ÿต"  ]}

AdminNewLootBoxType#

Properties#

NameTypeRequiredRestrictionsDescription
configobjecttruenoneThe configuration parameters for the loot box type.
ยป guarantees[object]truenoneA set of guaranteed drops in this loot box type.
ยปยป countinteger(int64)truenoneThe number of guaranteed drops of this type in the loot box.
ยปยป max_scoreinteger(int64)truenoneThe highest (inclusive) rhythm score range for guaranteed drop.
ยปยป min_scoreinteger(int64)truenoneThe lowest (inclusive) rhythm score range for guaranteed drop.
ยป max_base_scoreinteger(int64)truenoneThe upper bound (inclusive) rhythm score for standard yats in the loot box.
ยป max_lengthinteger(int64)truenoneMaximum yat length.
ยป min_base_scoreinteger(int64)truenoneThe lower bound (inclusive) rhythm score for standard yats in the loot box.
ยป min_lengthinteger(int64)truenoneMinimum yat length.
ยป sizeinteger(int64)truenoneThe number of yats in the loot box.
ยป weights[object]truenoneA set of probability weightings for chance-based drops.
ยปยป iprnumber(double)truenoneThe inverse probability ratio.
ยปยป max_scoreinteger(int64)truenoneThe highest (inclusive) rhythm score range for inclusion when the probability spec hits.
ยปยป min_scoreinteger(int64)truenoneThe lowest (inclusive) rhythm score range for inclusion when the probability spec hits.
descriptionstringtruenoneA description for the loot box type.
namestringtruenonethe name of the loot box type.

Example#

{  "config": {    "guarantees": [      {        "count": 0,        "max_score": 0,        "min_score": 0      }    ],    "max_base_score": 0,    "max_length": 0,    "min_base_score": 0,    "min_length": 0,    "size": 0,    "weights": [      {        "ipr": 0,        "max_score": 0,        "min_score": 0      }    ]  },  "description": "string",  "name": "string"}

AdminUpdateLootBoxBody#

Properties#

NameTypeRequiredRestrictionsDescription
owner_emailstringfalsenoneAssign lootbox an owner with matching email Should not be set if owner_id is set.
owner_idstring(uuid)falsenoneAssign lootbox an owner, if set requires status Owned.
statusstringfalsenoneUpdate status If status is Used lootbox with be automatically opened.
yats[string]falsenoneLootBox emoji IDs.

Enumerated Values#

PropertyValue
statusDraft
statusAvailable
statusOwned
statusUsed

Example#

{  "owner_email": "string",  "owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05",  "status": "Draft",  "yats": [    "๐Ÿฑ๐Ÿ‰๐Ÿ‹๐Ÿด๐Ÿต"  ]}

AdminUpdateUserParameters#

Properties#

NameTypeRequiredRestrictionsDescription
activation_sourcestringfalsenoneOptional: Source of activation.
current_passwordstringfalsenoneOptional: Current password, must be provided if one exists.
emailstringfalsenoneOptional: Email.
first_namestringfalsenoneOptional: First name.
free_limitinteger(int32)falsenoneOptional: Free limit for how many yats the user may purchase.
last_namestringfalsenoneOptional: Last name.
passwordstringfalsenoneOptional: User password.
rolestringfalsenoneOptional: Update the user role.

Enumerated Values#

PropertyValue
roleAdmin
roleOrgController
roleOrgMember
roleOrgOwner
roleBot
roleSuper
roleUser

Example#

{  "activation_source": "string",  "current_password": "string",  "email": "string",  "first_name": "string",  "free_limit": 0,  "last_name": "string",  "password": "string",  "role": "Admin"}

ApplyPromoCodeRequest#

Properties#

NameTypeRequiredRestrictionsDescription
codestringtruenoneCode to apply.

Example#

{  "code": "string"}

BackupDisableBody#

Properties#

NameTypeRequiredRestrictionsDescription
alternate_idstringfalsenoneAlternate identifier.
backup_codestringtruenoneBackup code.
disable_allbooleanfalsenoneMake this method default.
emailstringfalsenoneEmail.
providerstringfalsenoneTwo factor authentication backend.

Enumerated Values#

PropertyValue
providerGoogleAuthenticator
providerSMS

Example#

{  "alternate_id": "string",  "backup_code": "string",  "disable_all": true,  "email": "string",  "provider": "GoogleAuthenticator"}

CheckoutCartRequest#

Properties#

NameTypeRequiredRestrictionsDescription
amountinteger(int64)falsenoneAmount paid in cash.
cancel_urlstringfalsenoneURL user will be redirected if payment cancelled Required for Stripe Checkout.
external_referencestringfalsenoneExternal reference for cash payment.
methodstringtruenonePayment method type.
pubkeystringfalsenoneOptional: The user's public key to associate with this emoji id.
success_urlstringfalsenoneURL user will be redirected after successful payment Required for Stripe Checkout.
tracking_dataanyfalsenoneOptional: tracking data.

Enumerated Values#

PropertyValue
methodFree
methodCoinbaseCommerce
methodStripe
methodCash
methodPayPal

Example#

{  "amount": 0,  "cancel_url": "string",  "external_reference": "string",  "method": "Free",  "pubkey": "74dfa32b2c227ca2aa9ce3922a735669835443c1c36596795de1f48dbfaf7b2f",  "success_url": "string",  "tracking_data": null}

Confirm2Fa#

Properties#

NameTypeRequiredRestrictionsDescription
codestringtruenoneTwo factor authentication code.
refresh_tokenstringtruenoneRefresh token obtained from login request.

Example#

{  "code": "string",  "refresh_token": "string"}

Confirm2FaUpdate#

Properties#

NameTypeRequiredRestrictionsDescription
codestringtruenoneAuth code of new 2FA provider.

Example#

{  "code": "string"}

CreateApiKeyBody#

Properties#

NameTypeRequiredRestrictionsDescription
expires_atstring(date-time)falsenoneNone.
namestringtruenoneNone.
scopes[string]falsenoneNone.

Example#

{  "expires_at": "2019-08-24T14:15:22Z",  "name": "string",  "scopes": [    "adminCart:update"  ]}

CurrentUser#

Properties#

NameTypeRequiredRestrictionsDescription
everflow_transaction_idstringfalsenonetransaction id indicating if the user signed up from a partner via everflow redirect.
features[object]truenoneEnabled features for the user.
ยป codestringtruenoneNone.
ยป idstring(uuid)truenoneNone.
global_scopes[string]truenoneA list of fine-grained permissions the user may perform.
organization_rolesobjecttruenoneThe role this user has in each organisation.
ยป additionalPropertiesstringfalsenoneNone.
organization_scopesobjecttruenoneThe scopes that are granted to this user for each organisation.
ยป additionalProperties[string]falsenoneNone.
pending_transfers[string]truenoneList of transfers pending acceptance on current user side.
pubkeys[string]truenoneA list of this user's public keys.
rolestringtruenoneThe role assigned to this user.
userobjecttruenoneThe current user's details.
ยป alternate_idstringfalsenoneNone.
ยป created_atstring(date-time)truenoneNone.
ยป deactivated_atstring(date-time)falsenoneNone.
ยป emailstringfalsenoneNone.
ยป email_verified_atstring(date-time)falsenoneNone.
ยป first_namestringfalsenoneNone.
ยป free_limitinteger(int32)truenoneNone.
ยป idstring(uuid)truenoneNone.
ยป last_namestringfalsenoneNone.
ยป pubkeys[string]truenoneNone.
ยป remaining_free_emojiinteger(int32)truenoneNone.
ยป rolestringtruenoneNone.
ยป sourcestringfalsenoneNone.
ยป two_factor_auth[string]falsenoneNone.
ยป two_factor_last_prompted_atstring(date-time)falsenoneNone.
ยป two_factor_should_promptbooleantruenoneNone.
ยป updated_atstring(date-time)truenoneNone.

Enumerated Values#

PropertyValue
additionalPropertiesAdmin
additionalPropertiesOrgController
additionalPropertiesOrgMember
additionalPropertiesOrgOwner
additionalPropertiesBot
additionalPropertiesSuper
additionalPropertiesUser
roleAdmin
roleOrgController
roleOrgMember
roleOrgOwner
roleBot
roleSuper
roleUser
roleAdmin
roleOrgController
roleOrgMember
roleOrgOwner
roleBot
roleSuper
roleUser

Example#

{  "everflow_transaction_id": "string",  "features": [    {      "code": "string",      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"    }  ],  "global_scopes": [    "adminCart:update"  ],  "organization_roles": {    "property1": "Admin",    "property2": "Admin"  },  "organization_scopes": {    "property1": [      "adminCart:update"    ],    "property2": [      "adminCart:update"    ]  },  "pending_transfers": [    "๐Ÿฑ๐Ÿ‰๐Ÿ‹๐Ÿด๐Ÿต"  ],  "pubkeys": [    "74dfa32b2c227ca2aa9ce3922a735669835443c1c36596795de1f48dbfaf7b2f"  ],  "role": "Admin",  "user": {    "alternate_id": "string",    "created_at": "2019-08-24T14:15:22Z",    "deactivated_at": "2019-08-24T14:15:22Z",    "email": "string",    "email_verified_at": "2019-08-24T14:15:22Z",    "first_name": "string",    "free_limit": 0,    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",    "last_name": "string",    "pubkeys": [      "74dfa32b2c227ca2aa9ce3922a735669835443c1c36596795de1f48dbfaf7b2f"    ],    "remaining_free_emoji": 0,    "role": "Admin",    "source": "string",    "two_factor_auth": [      "GoogleAuthenticator"    ],    "two_factor_last_prompted_at": "2019-08-24T14:15:22Z",    "two_factor_should_prompt": true,    "updated_at": "2019-08-24T14:15:22Z"  }}

Disable2FABody#

Properties#

NameTypeRequiredRestrictionsDescription
disable_allbooleantruenoneMake this method default.
providerstringfalsenoneTwo factor authentication backend.

Enumerated Values#

PropertyValue
providerGoogleAuthenticator
providerSMS

Example#

{  "disable_all": true,  "provider": "GoogleAuthenticator"}

DisplayApiKey#

Properties#

NameTypeRequiredRestrictionsDescription
api_keystringtruenoneNone.
created_atstring(date-time)truenoneNone.
expires_atstring(date-time)falsenoneNone.
namestringtruenoneNone.
scopes[string]truenoneNone.

Example#

{  "api_key": "string",  "created_at": "2019-08-24T14:15:22Z",  "expires_at": "2019-08-24T14:15:22Z",  "name": "string",  "scopes": [    "adminCart:update"  ]}

DisplayFeature#

Properties#

NameTypeRequiredRestrictionsDescription
codestringtruenoneNone.
idstring(uuid)truenoneNone.

Example#

{  "code": "string",  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"}

DisplayOrder#

Properties#

NameTypeRequiredRestrictionsDescription
amount_overpaid_in_centsinteger(int64)truenoneAmount overpaid in cents.
created_atstring(date-time)truenoneA UTC timestamp for when this order was initially created.
eligible_for_refundbooleantruenoneWhether an order is eligible for a refund via an admin.
expires_atstring(date-time)falsenoneCheckout carts have a limited time before they expire.
idstring(uuid)truenoneThe unique identifier for this order.
misc_refunded_total_in_centsinteger(int64)truenoneThe total of miscellaneous refund amounts retirned to the order.
order_items[object]truenoneThe list of individual line items making up this order.
ยป client_fee_in_centsinteger(int32)truenoneThe fee attributable to the referral partner, in addition to the nominal unit price, in USD cents.
ยป code_idstring(uuid)falsenoneThe code associated with this order item for providing a discount.
ยป company_fee_in_centsinteger(int32)truenoneThe fee attributable to the service host or company, in addition to the nominal unit price, in USD cents.
ยป created_atstring(date-time)truenoneA UTC timestamp for when this order item was created.
ยป emoji_idanyfalsenoneThe emoji id that is being purchased.
ยป idstring(uuid)truenoneA unique identifier for this order item.
ยป item_typestringtruenoneThe type of order.
ยป main_idstring(uuid)falsenoneMain item ID.
ยป main_tableanyfalsenoneMain item table.
ยป marked_invalid_atstring(date-time)falsenoneA UTC timestamp for when this order item was marked as invalid.
ยป marked_invalid_at_reasonstringfalsenoneMarked invalid at reason Taken / PendingPurchase.
ยป order_idstring(uuid)truenoneThe id of the order this order item.
ยป parent_idstring(uuid)falsenoneParent order item's ID, set for discounts and fees.
ยป quantityinteger(int32)truenoneThe number of items in the line order.
ยป refunded_quantityinteger(int32)truenoneThe number of items refunded.
ยป rhythm_scoreinteger(int32)falsenoneThe rhythm score belonging to this order item, only set for order items containing EmojiIds.
ยป unit_price_in_centsinteger(int32)truenoneThe nominal, non-discounted price of the item, in USD cents.
ยป updated_atstring(date-time)truenoneA UTC timestamp for when any field in the order item was modified.
order_numberstringtruenoneThe order number is the last 8 characters of the order's ID for user display purposes.
organization_idstring(uuid)falsenoneThe organization id of the user, if applicable.
paid_atstring(date-time)falsenoneA UTC timestamp for when payment for this order was received.
payment_method_dataobjectfalsenonePayment method data for payment methods that provide QR code checkout options set via checkout.
ยป cancel_urlstringfalsenoneCancel url for Stripe method when using Checkout.
ยป client_secretstringtruenoneClient Secret for the Stripe method for Elements and Checkout.
ยป invoice_idstringfalsenoneInvoice ID for the Stripe method for Elements.
ยป methodstringtruenonePayment method.
ยป methods[object]truenoneMetadata for CoinbaseCommerce payment method.
ยปยป addressstringtruenoneNone.
ยปยป amountnumber(double)truenoneNone.
ยปยป currencystringtruenoneNone.
ยปยป titlestringtruenoneNone.
ยป payment_intent_idstringtruenonePayment method ID for Stripe method.
ยป session_idstringfalsenoneInvoice ID for the Stripe method for Checkout.
ยป success_urlstringfalsenoneSuccess url for Stripe method when using Checkout.
refunded_total_in_centsinteger(int64)truenoneThe total of refund amounts for the order.
remaining_due_in_centsinteger(int64)truenoneRemaining due in cents to mark the cart as Paid.
seconds_until_expiryinteger(int32)falsenoneA convenience field indicating how long before expires_at is reached.
statusstringtruenoneThe order of the status.
total_in_centsinteger(int64)truenoneThe sum of all the items in this order, plus fees, in USD cents.
updated_atstring(date-time)truenoneA UTC timestamp for the last time any field in this order was modified.
userobjecttruenoneThe details of the user placing this order.
ยป alternate_idstringfalsenoneNone.
ยป created_atstring(date-time)truenoneNone.
ยป deactivated_atstring(date-time)falsenoneNone.
ยป emailstringfalsenoneNone.
ยป email_verified_atstring(date-time)falsenoneNone.
ยป first_namestringfalsenoneNone.
ยป free_limitinteger(int32)truenoneNone.
ยป idstring(uuid)truenoneNone.
ยป last_namestringfalsenoneNone.
ยป pubkeys[string]truenoneNone.
ยป remaining_free_emojiinteger(int32)truenoneNone.
ยป rolestringtruenoneNone.
ยป sourcestringfalsenoneNone.
ยป two_factor_auth[string]falsenoneNone.
ยป two_factor_last_prompted_atstring(date-time)falsenoneNone.
ยป two_factor_should_promptbooleantruenoneNone.
ยป updated_atstring(date-time)truenoneNone.
user_idstring(uuid)truenoneThe identifier of the user placing this order.

Enumerated Values#

PropertyValue
item_typeDiscount
item_typeLootBox
item_typeEmojiId
marked_invalid_at_reasonTaken
marked_invalid_at_reasonPendingPurchase
methodCoinbaseCommerce
methodStripe
statusCancelled
statusDraft
statusPaid
statusPendingPayment
roleAdmin
roleOrgController
roleOrgMember
roleOrgOwner
roleBot
roleSuper
roleUser

Example#

{  "amount_overpaid_in_cents": 0,  "created_at": "2019-08-24T14:15:22Z",  "eligible_for_refund": true,  "expires_at": "2019-08-24T14:15:22Z",  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "misc_refunded_total_in_cents": 0,  "order_items": [    {      "client_fee_in_cents": 0,      "code_id": "c6a02b7d-40f4-4982-9c97-607f4e20761a",      "company_fee_in_cents": 0,      "created_at": "2019-08-24T14:15:22Z",      "emoji_id": null,      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",      "item_type": "Discount",      "main_id": "25a42c25-524f-4b99-94ac-63957e307489",      "main_table": null,      "marked_invalid_at": "2019-08-24T14:15:22Z",      "marked_invalid_at_reason": "Taken",      "order_id": "93101167-9065-4b9c-b98b-5d789a3ed9fe",      "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",      "quantity": 0,      "refunded_quantity": 0,      "rhythm_score": 0,      "unit_price_in_cents": 0,      "updated_at": "2019-08-24T14:15:22Z"    }  ],  "order_number": "string",  "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",  "paid_at": "2019-08-24T14:15:22Z",  "payment_method_data": {    "cancel_url": "string",    "client_secret": "string",    "invoice_id": "string",    "method": "CoinbaseCommerce",    "methods": [      {        "address": "string",        "amount": 0,        "currency": "string",        "title": "string"      }    ],    "payment_intent_id": "string",    "session_id": "string",    "success_url": "string"  },  "refunded_total_in_cents": 0,  "remaining_due_in_cents": 0,  "seconds_until_expiry": 0,  "status": "Cancelled",  "total_in_cents": 0,  "updated_at": "2019-08-24T14:15:22Z",  "user": {    "alternate_id": "string",    "created_at": "2019-08-24T14:15:22Z",    "deactivated_at": "2019-08-24T14:15:22Z",    "email": "string",    "email_verified_at": "2019-08-24T14:15:22Z",    "first_name": "string",    "free_limit": 0,    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",    "last_name": "string",    "pubkeys": [      "74dfa32b2c227ca2aa9ce3922a735669835443c1c36596795de1f48dbfaf7b2f"    ],    "remaining_free_emoji": 0,    "role": "Admin",    "source": "string",    "two_factor_auth": [      "GoogleAuthenticator"    ],    "two_factor_last_prompted_at": "2019-08-24T14:15:22Z",    "two_factor_should_prompt": true,    "updated_at": "2019-08-24T14:15:22Z"  },  "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"}

DisplayTransferRequest#

Properties#

NameTypeRequiredRestrictionsDescription
accepted_atstring(date-time)falsenoneNone.
clear_on_transferbooleantruenoneNone.
created_atstring(date-time)truenoneNone.
deleted_atstring(date-time)falsenoneNone.
eidstringtruenoneNone.
emailstringtruenoneNone.
idstring(uuid)truenoneNone.
messagestringfalsenoneNone.
recipient_idstring(uuid)truenoneNone.
sender_code_accepted_atstring(date-time)falsenoneNone.

Example#

{  "accepted_at": "2019-08-24T14:15:22Z",  "clear_on_transfer": true,  "created_at": "2019-08-24T14:15:22Z",  "deleted_at": "2019-08-24T14:15:22Z",  "eid": "๐Ÿฑ๐Ÿ‰๐Ÿ‹๐Ÿด๐Ÿต",  "email": "string",  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "message": "string",  "recipient_id": "b6731cb5-d462-49ea-afb8-7933b670b560",  "sender_code_accepted_at": "2019-08-24T14:15:22Z"}

DisplayUser#

Properties#

NameTypeRequiredRestrictionsDescription
alternate_idstringfalsenoneNone.
created_atstring(date-time)truenoneNone.
deactivated_atstring(date-time)falsenoneNone.
emailstringfalsenoneNone.
email_verified_atstring(date-time)falsenoneNone.
first_namestringfalsenoneNone.
free_limitinteger(int32)truenoneNone.
idstring(uuid)truenoneNone.
last_namestringfalsenoneNone.
pubkeys[string]truenoneNone.
remaining_free_emojiinteger(int32)truenoneNone.
rolestringtruenoneNone.
sourcestringfalsenoneNone.
two_factor_auth[string]falsenoneNone.
two_factor_last_prompted_atstring(date-time)falsenoneNone.
two_factor_should_promptbooleantruenoneNone.
updated_atstring(date-time)truenoneNone.

Enumerated Values#

PropertyValue
roleAdmin
roleOrgController
roleOrgMember
roleOrgOwner
roleBot
roleSuper
roleUser

Example#

{  "alternate_id": "string",  "created_at": "2019-08-24T14:15:22Z",  "deactivated_at": "2019-08-24T14:15:22Z",  "email": "string",  "email_verified_at": "2019-08-24T14:15:22Z",  "first_name": "string",  "free_limit": 0,  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "last_name": "string",  "pubkeys": [    "74dfa32b2c227ca2aa9ce3922a735669835443c1c36596795de1f48dbfaf7b2f"  ],  "remaining_free_emoji": 0,  "role": "Admin",  "source": "string",  "two_factor_auth": [    "GoogleAuthenticator"  ],  "two_factor_last_prompted_at": "2019-08-24T14:15:22Z",  "two_factor_should_prompt": true,  "updated_at": "2019-08-24T14:15:22Z"}

DisplayUserExtended#

Properties#

NameTypeRequiredRestrictionsDescription
alternate_idstringfalsenoneNone.
created_atstring(date-time)falsenoneNone.
deactivated_atstring(date-time)falsenoneNone.
emailstringfalsenoneNone.
email_verified_atstring(date-time)falsenoneNone.
emoji_ids[string]truenoneNone.
first_namestringfalsenoneNone.
free_limitinteger(int32)falsenoneNone.
idstring(uuid)falsenoneNone.
last_namestringfalsenoneNone.
pubkeys[string]falsenoneNone.
remaining_free_emojiinteger(int32)falsenoneNone.
rolestringfalsenoneNone.
sourcestringfalsenoneNone.
two_factor_auth[string]falsenoneNone.
two_factor_last_prompted_atstring(date-time)falsenoneNone.
two_factor_should_promptbooleanfalsenoneNone.
updated_atstring(date-time)falsenoneNone.

Enumerated Values#

PropertyValue
roleAdmin
roleOrgController
roleOrgMember
roleOrgOwner
roleBot
roleSuper
roleUser

Example#

{  "alternate_id": "string",  "created_at": "2019-08-24T14:15:22Z",  "deactivated_at": "2019-08-24T14:15:22Z",  "email": "string",  "email_verified_at": "2019-08-24T14:15:22Z",  "emoji_ids": [    "๐Ÿฑ๐Ÿ‰๐Ÿ‹๐Ÿด๐Ÿต"  ],  "first_name": "string",  "free_limit": 0,  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "last_name": "string",  "pubkeys": [    "74dfa32b2c227ca2aa9ce3922a735669835443c1c36596795de1f48dbfaf7b2f"  ],  "remaining_free_emoji": 0,  "role": "Admin",  "source": "string",  "two_factor_auth": [    "GoogleAuthenticator"  ],  "two_factor_last_prompted_at": "2019-08-24T14:15:22Z",  "two_factor_should_prompt": true,  "updated_at": "2019-08-24T14:15:22Z"}

EditRequest#

Properties#

NameTypeRequiredRestrictionsDescription
bypass_single_restrictionsbooleanfalsenoneOptional: Allow many addresses per Tag.
delete[string]falsenoneOptional: hashes of records to delete.
insert[any]falsenoneOptional: list of records to add.
ยป datastringtruenoneCategory data in text format.
ยป tagstringtruenoneCategory ID as a hex number.
merkle_rootstringfalsenoneOptional: merkle root (use WASM to generate).
signaturestringfalsenoneOptional: signature (use WASM to generate).

Example#

{  "bypass_single_restrictions": true,  "delete": [    "5aaf5eac326102cf208e397f15534f0b89747b2263f47857b1d797275ce7e944"  ],  "insert": [    {      "data": "127.0.0.1",      "tag": "0x4101"    }  ],  "merkle_root": "916ea8882cdbe350ca9cec48680e4bf37d75930d8d033bed57128c0809537336",  "signature": "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"}

EidResponse#

Properties#

NameTypeRequiredRestrictionsDescription
errorobjectfalsenoneNone.
ยป codestring(int64)truenoneError code.
ยป reasonstringtruenoneNone.
result[object]falsenoneRecords associated with EmojiID.
ยป datastringtruenoneCategory data in text or hex encoded formats.
ยป hashstringtruenoneHash identifies record, can be used to delete records.
ยป tagstringtruenoneCategory as a hex string number.
statusbooleantruenoneResponse status.

Example#

{  "error": {    "code": "404",    "reason": "string"  },  "result": [    {      "data": "string",      "hash": "5aaf5eac326102cf208e397f15534f0b89747b2263f47857b1d797275ce7e944",      "tag": "0x4001"    }  ],  "status": true}

EmojiId#

The emoji id is the key value used in the Emoji ID key-value lookup system. As the name suggests, the id consists solely of emoji characters from a carefully curated list ranging in length from one to six characters. Emoji ids are 'owned' in the sense that there is a private-public keypair associated with the id that granted transfer and write-access rights to anyone with knowledge of the emoji id's private key. The primary use of emoji ids is to associate useful related data with the id. This creates a unified identity around that emoji id. For example, someone may associate a website, a twitter handle and a BTC payment address to an emoji id. Those three disparate entities can then be easily accessed using the same emoji id.

Properties#

NameTypeRequiredRestrictionsDescription
anonymousstringfalsenoneThe emoji id is the key value used in the Emoji ID key-value lookup system.

Example#

"๐Ÿฑ๐Ÿ‰๐Ÿ‹๐Ÿด๐Ÿต"

EmojiListItem#

EmojiId in canonical and display representations

Properties#

NameTypeRequiredRestrictionsDescription
blocked_untilstring(date-time)falsenoneNone.
canonical_formatstringtruenoneNone.
chain_formatstringtruenoneNone.
display_formatstringtruenoneNone.
flippable_emoji[boolean]truenoneNone.
generationinteger(int32)truenoneNone.
mintedbooleantruenoneNone.
rhythm_scoreinteger(int32)truenoneNone.
shapeobjecttruenoneNone.
ยป patternanyfalsenoneNone.
ยป shapestringfalsenoneNone.
shortnamestringtruenoneNone.
token_idinteger(int64)falsenoneNone.

Enumerated Values#

PropertyValue
shapeRepeaters
shapeEye Heart
shapeBookends
shapeAdoptables

Example#

{  "blocked_until": "2019-08-24T14:15:22Z",  "canonical_format": "string",  "chain_format": "string",  "display_format": "๐Ÿฑ๐Ÿ‰๐Ÿ‹๐Ÿด๐Ÿต",  "flippable_emoji": [    true  ],  "generation": 0,  "minted": true,  "rhythm_score": 0,  "shape": {    "pattern": null,    "shape": "Repeaters"  },  "shortname": "string",  "token_id": 0}

EmojiStatsResponse#

Properties#

NameTypeRequiredRestrictionsDescription
emoji_idstringtruenoneNone.
metrics[object]truenoneNone.
ยป descriptionstringtruenoneNone.
ยป finish_datestring(date-time)truenoneNone.
ยป keystringtruenoneCounter object.
ยป metricstringtruenoneCounter type.
ยป start_datestring(date-time)truenoneNone.
ยป valueinteger(int64)truenoneCounter value.

Example#

{  "emoji_id": "๐Ÿฑ๐Ÿ‰๐Ÿ‹๐Ÿด๐Ÿต",  "metrics": [    {      "description": "string",      "finish_date": "2019-08-24T14:15:22Z",      "key": "string",      "metric": "string",      "start_date": "2019-08-24T14:15:22Z",      "value": 0    }  ]}

Enable2FABody#

Properties#

NameTypeRequiredRestrictionsDescription
defaultbooleantruenoneMake this method default.
phonestringfalsenonePhone number required for SMS provider.
providerstringtruenoneTwo factor authentication backend.

Enumerated Values#

PropertyValue
providerGoogleAuthenticator
providerSMS

Example#

{  "default": true,  "phone": "string",  "provider": "GoogleAuthenticator"}

Enable2FAResponse#

Properties#

NameTypeRequiredRestrictionsDescription
backup_codes[string]falsenoneOne time backup codes to login.
ga_qr_code_svgstringfalsenoneGA secret as QR code in svg image.
ga_secretstringfalsenoneGA base32 encoded secret, will be null when code is disabled.
phone_last_digitsstringfalsenonePhone last digits.

Example#

{  "backup_codes": [    "string"  ],  "ga_qr_code_svg": "string",  "ga_secret": "string",  "phone_last_digits": "string"}

ListOfCodeAvailability#

Paginated results.
Item description:

Properties#

NameTypeRequiredRestrictionsDescription
data[object]falsenoneNone.
ยป activatorstringfalsenoneNone.
ยป availableinteger(int64)falsenoneNone.
ยป code_typestringfalsenoneNone.
ยป created_atstring(date-time)falsenoneNone.
ยป deleted_atstring(date-time)falsenoneNone.
ยป discount_as_percentageinteger(int32)falsenoneNone.
ยป discount_in_centsinteger(int32)falsenoneNone.
ยป end_datestring(date-time)falsenoneNone.
ยป idstring(uuid)falsenoneNone.
ยป max_emojis_per_userinteger(int32)falsenoneNone.
ยป max_usesinteger(int32)falsenoneNone.
ยป namestringfalsenoneNone.
ยป organization_idstring(uuid)falsenoneNone.
ยป patternanyfalsenoneNone.
ยป redemption_codestringfalsenoneNone.
ยป start_datestring(date-time)falsenoneNone.
ยป total_usesinteger(int64)truenoneNone.
ยป updated_atstring(date-time)falsenoneNone.
pagingobjectfalsenonePaging information.
ยป dirstringtruenoneNone.
ยป limitinteger(int32)truenoneNone.
ยป pageinteger(int32)truenoneNone.
ยป sortstringtruenoneNone.
ยป tagsobjecttruenoneNone.
ยปยป additionalPropertiesanyfalsenoneNone.
ยป totalinteger(int64)truenoneNone.

Enumerated Values#

PropertyValue
activatorRedemptionCode
activatorSecretKey
code_typeDiscount
code_typeRandomYat
dirAsc
dirDesc

Example#

{  "data": [    {      "activator": "RedemptionCode",      "available": 0,      "code_type": "Discount",      "created_at": "2019-08-24T14:15:22Z",      "deleted_at": "2019-08-24T14:15:22Z",      "discount_as_percentage": 0,      "discount_in_cents": 0,      "end_date": "2019-08-24T14:15:22Z",      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",      "max_emojis_per_user": 0,      "max_uses": 0,      "name": "string",      "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",      "pattern": null,      "redemption_code": "string",      "start_date": "2019-08-24T14:15:22Z",      "total_uses": 0,      "updated_at": "2019-08-24T14:15:22Z"    }  ],  "paging": {    "dir": "Asc",    "limit": 0,    "page": 0,    "sort": "string",    "tags": {      "property1": null,      "property2": null    },    "total": 0  }}

ListOfDisplayTransferRequest#

Paginated results.
Item description: Emoji transfer request details json payload

Properties#

NameTypeRequiredRestrictionsDescription
data[object]falsenoneNone.
ยป accepted_atstring(date-time)falsenoneNone.
ยป clear_on_transferbooleantruenoneNone.
ยป created_atstring(date-time)truenoneNone.
ยป deleted_atstring(date-time)falsenoneNone.
ยป eidstringtruenoneNone.
ยป emailstringtruenoneNone.
ยป idstring(uuid)truenoneNone.
ยป messagestringfalsenoneNone.
ยป recipient_idstring(uuid)truenoneNone.
ยป sender_code_accepted_atstring(date-time)falsenoneNone.
pagingobjectfalsenonePaging information.
ยป dirstringtruenoneNone.
ยป limitinteger(int32)truenoneNone.
ยป pageinteger(int32)truenoneNone.
ยป sortstringtruenoneNone.
ยป tagsobjecttruenoneNone.
ยปยป additionalPropertiesanyfalsenoneNone.
ยป totalinteger(int64)truenoneNone.

Enumerated Values#

PropertyValue
dirAsc
dirDesc

Example#

{  "data": [    {      "accepted_at": "2019-08-24T14:15:22Z",      "clear_on_transfer": true,      "created_at": "2019-08-24T14:15:22Z",      "deleted_at": "2019-08-24T14:15:22Z",      "eid": "๐Ÿฑ๐Ÿ‰๐Ÿ‹๐Ÿด๐Ÿต",      "email": "string",      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",      "message": "string",      "recipient_id": "b6731cb5-d462-49ea-afb8-7933b670b560",      "sender_code_accepted_at": "2019-08-24T14:15:22Z"    }  ],  "paging": {    "dir": "Asc",    "limit": 0,    "page": 0,    "sort": "string",    "tags": {      "property1": null,      "property2": null    },    "total": 0  }}

ListOfDisplayUserExtended#

Paginated results.
Item description: User data with emoji list

Properties#

NameTypeRequiredRestrictionsDescription
data[object]falsenoneNone.
ยป alternate_idstringfalsenoneNone.
ยป created_atstring(date-time)falsenoneNone.
ยป deactivated_atstring(date-time)falsenoneNone.
ยป emailstringfalsenoneNone.
ยป email_verified_atstring(date-time)falsenoneNone.
ยป emoji_ids[string]truenoneNone.
ยป first_namestringfalsenoneNone.
ยป free_limitinteger(int32)falsenoneNone.
ยป idstring(uuid)falsenoneNone.
ยป last_namestringfalsenoneNone.
ยป pubkeys[string]falsenoneNone.
ยป remaining_free_emojiinteger(int32)falsenoneNone.
ยป rolestringfalsenoneNone.
ยป sourcestringfalsenoneNone.
ยป two_factor_auth[string]falsenoneNone.
ยป two_factor_last_prompted_atstring(date-time)falsenoneNone.
ยป two_factor_should_promptbooleanfalsenoneNone.
ยป updated_atstring(date-time)falsenoneNone.
pagingobjectfalsenonePaging information.
ยป dirstringtruenoneNone.
ยป limitinteger(int32)truenoneNone.
ยป pageinteger(int32)truenoneNone.
ยป sortstringtruenoneNone.
ยป tagsobjecttruenoneNone.
ยปยป additionalPropertiesanyfalsenoneNone.
ยป totalinteger(int64)truenoneNone.

Enumerated Values#

PropertyValue
roleAdmin
roleOrgController
roleOrgMember
roleOrgOwner
roleBot
roleSuper
roleUser
dirAsc
dirDesc

Example#

{  "data": [    {      "alternate_id": "string",      "created_at": "2019-08-24T14:15:22Z",      "deactivated_at": "2019-08-24T14:15:22Z",      "email": "string",      "email_verified_at": "2019-08-24T14:15:22Z",      "emoji_ids": [        "๐Ÿฑ๐Ÿ‰๐Ÿ‹๐Ÿด๐Ÿต"      ],      "first_name": "string",      "free_limit": 0,      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",      "last_name": "string",      "pubkeys": [        "74dfa32b2c227ca2aa9ce3922a735669835443c1c36596795de1f48dbfaf7b2f"      ],      "remaining_free_emoji": 0,      "role": "Admin",      "source": "string",      "two_factor_auth": [        "GoogleAuthenticator"      ],      "two_factor_last_prompted_at": "2019-08-24T14:15:22Z",      "two_factor_should_prompt": true,      "updated_at": "2019-08-24T14:15:22Z"    }  ],  "paging": {    "dir": "Asc",    "limit": 0,    "page": 0,    "sort": "string",    "tags": {      "property1": null,      "property2": null    },    "total": 0  }}

ListOfPublicLootBox#

Paginated results.
Item description:

Properties#

NameTypeRequiredRestrictionsDescription
data[object]falsenoneNone.
ยป average_rhythm_scorenumber(double)truenoneAverage score of emoji IDs in loot box.
ยป created_atstring(date-time)truenoneNone.
ยป idstring(uuid)truenoneNone.
ยป lootbox_typeobjectfalsenoneFor Admin: Expanded Lootbox Type.
ยปยป configobjecttruenoneThe loot box type's configuration parameters.
ยปยปยป guarantees[object]truenoneA set of guaranteed drops in this loot box type.
ยปยปยปยป countinteger(int64)truenoneThe number of guaranteed drops of this type in the loot box.
ยปยปยปยป max_scoreinteger(int64)truenoneThe highest (inclusive) rhythm score range for guaranteed drop.
ยปยปยปยป min_scoreinteger(int64)truenoneThe lowest (inclusive) rhythm score range for guaranteed drop.
ยปยปยป max_base_scoreinteger(int64)truenoneThe upper bound (inclusive) rhythm score for standard yats in the loot box.
ยปยปยป max_lengthinteger(int64)truenoneMaximum yat length.
ยปยปยป min_base_scoreinteger(int64)truenoneThe lower bound (inclusive) rhythm score for standard yats in the loot box.
ยปยปยป min_lengthinteger(int64)truenoneMinimum yat length.
ยปยปยป sizeinteger(int64)truenoneThe number of yats in the loot box.
ยปยปยป weights[object]truenoneA set of probability weightings for chance-based drops.
ยปยปยปยป iprnumber(double)truenoneThe inverse probability ratio.
ยปยปยปยป max_scoreinteger(int64)truenoneThe highest (inclusive) rhythm score range for inclusion when the probability spec hits.
ยปยปยปยป min_scoreinteger(int64)truenoneThe lowest (inclusive) rhythm score range for inclusion when the probability spec hits.
ยปยป created_atstring(date-time)truenoneThe timestamp for when this loot box type was created.
ยปยป descriptionstringtruenoneA more detailed description of the loot box type.
ยปยป idstring(uuid)truenoneThe loot box type id.
ยปยป namestringtruenoneThe name of this loot box type.
ยป lootbox_type_idstring(uuid)falsenoneFor Admin: The type of loot box, if applicable.
ยป ownerobjectfalsenoneFor Admin: Expanded owner of a lootbox.
ยปยป alternate_idstringfalsenoneNone.
ยปยป created_atstring(date-time)truenoneNone.
ยปยป deactivated_atstring(date-time)falsenoneNone.
ยปยป emailstringfalsenoneNone.
ยปยป email_verified_atstring(date-time)falsenoneNone.
ยปยป first_namestringfalsenoneNone.
ยปยป free_limitinteger(int32)truenoneNone.
ยปยป idstring(uuid)truenoneNone.
ยปยป last_namestringfalsenoneNone.
ยปยป pubkeys[string]truenoneNone.
ยปยป remaining_free_emojiinteger(int32)truenoneNone.
ยปยป rolestringtruenoneNone.
ยปยป sourcestringfalsenoneNone.
ยปยป two_factor_auth[string]falsenoneNone.
ยปยป two_factor_last_prompted_atstring(date-time)falsenoneNone.
ยปยป two_factor_should_promptbooleantruenoneNone.
ยปยป updated_atstring(date-time)truenoneNone.
ยป owner_idstring(uuid)falsenoneLoot box owner_id, required for Owned and Used loot boxes.
ยป prices[integer]truenoneThe prices of the yats in the box, in cents.
ยป scores[integer]truenoneThe rhythm scores of the yats in the box.
ยป statusstringtruenoneStatus loot box will be created in.
ยป total_valuenumber(double)truenoneTotal value of EmojiIDs in the Loot Box.
ยป yats[string]truenoneLoot box yats.
pagingobjectfalsenonePaging information.
ยป dirstringtruenoneNone.
ยป limitinteger(int32)truenoneNone.
ยป pageinteger(int32)truenoneNone.
ยป sortstringtruenoneNone.
ยป tagsobjecttruenoneNone.
ยปยป additionalPropertiesanyfalsenoneNone.
ยป totalinteger(int64)truenoneNone.

Enumerated Values#

PropertyValue
roleAdmin
roleOrgController
roleOrgMember
roleOrgOwner
roleBot
roleSuper
roleUser
statusDraft
statusAvailable
statusOwned
statusUsed
dirAsc
dirDesc

Example#

{  "data": [    {      "average_rhythm_score": 0,      "created_at": "2019-08-24T14:15:22Z",      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",      "lootbox_type": {        "config": {          "guarantees": [            {              "count": 0,              "max_score": 0,              "min_score": 0            }          ],          "max_base_score": 0,          "max_length": 0,          "min_base_score": 0,          "min_length": 0,          "size": 0,          "weights": [            {              "ipr": 0,              "max_score": 0,              "min_score": 0            }          ]        },        "created_at": "2019-08-24T14:15:22Z",        "description": "string",        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",        "name": "string"      },      "lootbox_type_id": "fe5ea2ec-76e0-40b9-840c-a44f2c793043",      "owner": {        "alternate_id": "string",        "created_at": "2019-08-24T14:15:22Z",        "deactivated_at": "2019-08-24T14:15:22Z",        "email": "string",        "email_verified_at": "2019-08-24T14:15:22Z",        "first_name": "string",        "free_limit": 0,        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",        "last_name": "string",        "pubkeys": [          "74dfa32b2c227ca2aa9ce3922a735669835443c1c36596795de1f48dbfaf7b2f"        ],        "remaining_free_emoji": 0,        "role": "Admin",        "source": "string",        "two_factor_auth": [          "GoogleAuthenticator"        ],        "two_factor_last_prompted_at": "2019-08-24T14:15:22Z",        "two_factor_should_prompt": true,        "updated_at": "2019-08-24T14:15:22Z"      },      "owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05",      "prices": [        0      ],      "scores": [        0      ],      "status": "Draft",      "total_value": 0,      "yats": [        "๐Ÿฑ๐Ÿ‰๐Ÿ‹๐Ÿด๐Ÿต"      ]    }  ],  "paging": {    "dir": "Asc",    "limit": 0,    "page": 0,    "sort": "string",    "tags": {      "property1": null,      "property2": null    },    "total": 0  }}

ListOfUserInterest#

Paginated results.
Item description: User interest

Properties#

NameTypeRequiredRestrictionsDescription
data[object]falsenoneNone.
ยป created_atstring(date-time)truenoneNone.
ยป emoji_idstringtruenoneNone.
ยป idstring(uuid)truenoneNone.
ยป updated_atstring(date-time)truenoneNone.
ยป user_idstring(uuid)truenoneNone.
pagingobjectfalsenonePaging information.
ยป dirstringtruenoneNone.
ยป limitinteger(int32)truenoneNone.
ยป pageinteger(int32)truenoneNone.
ยป sortstringtruenoneNone.
ยป tagsobjecttruenoneNone.
ยปยป additionalPropertiesanyfalsenoneNone.
ยป totalinteger(int64)truenoneNone.

Enumerated Values#

PropertyValue
dirAsc
dirDesc

Example#

{  "data": [    {      "created_at": "2019-08-24T14:15:22Z",      "emoji_id": "๐Ÿฑ๐Ÿ‰๐Ÿ‹๐Ÿด๐Ÿต",      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",      "updated_at": "2019-08-24T14:15:22Z",      "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"    }  ],  "paging": {    "dir": "Asc",    "limit": 0,    "page": 0,    "sort": "string",    "tags": {      "property1": null,      "property2": null    },    "total": 0  }}

LoadJsonResponse#

Properties#

NameTypeRequiredRestrictionsDescription
created_atstring(date-time)truenoneCreated at time for the record.
dataanytruenoneData value stored by key and EmojiID If there is no value for the key an empty object {} is returned.
is_lockedbooleantruenoneData is locked.
locked_future_writes_atstring(date-time)falsenoneTime the record was locked from future writes.
updated_atstring(date-time)truenoneUpdated at time for the record.

Example#

{  "created_at": "2019-08-24T14:15:22Z",  "data": null,  "is_locked": true,  "locked_future_writes_at": "2019-08-24T14:15:22Z",  "updated_at": "2019-08-24T14:15:22Z"}

LoadUser#

Properties#

NameTypeRequiredRestrictionsDescription
current_userobjecttruenoneNone.
ยป everflow_transaction_idstringfalsenonetransaction id indicating if the user signed up from a partner via everflow redirect.
ยป features[object]truenoneEnabled features for the user.
ยปยป codestringtruenoneNone.
ยปยป idstring(uuid)truenoneNone.
ยป global_scopes[string]truenoneA list of fine-grained permissions the user may perform.
ยป organization_rolesobjecttruenoneThe role this user has in each organisation.
ยปยป additionalPropertiesstringfalsenoneNone.
ยป organization_scopesobjecttruenoneThe scopes that are granted to this user for each organisation.
ยปยป additionalProperties[string]falsenoneNone.
ยป pending_transfers[string]truenoneList of transfers pending acceptance on current user side.
ยป pubkeys[string]truenoneA list of this user's public keys.
ยป rolestringtruenoneThe role assigned to this user.
ยป userobjecttruenoneThe current user's details.
ยปยป alternate_idstringfalsenoneNone.
ยปยป created_atstring(date-time)truenoneNone.
ยปยป deactivated_atstring(date-time)falsenoneNone.
ยปยป emailstringfalsenoneNone.
ยปยป email_verified_atstring(date-time)falsenoneNone.
ยปยป first_namestringfalsenoneNone.
ยปยป free_limitinteger(int32)truenoneNone.
ยปยป idstring(uuid)truenoneNone.
ยปยป last_namestringfalsenoneNone.
ยปยป pubkeys[string]truenoneNone.
ยปยป remaining_free_emojiinteger(int32)truenoneNone.
ยปยป rolestringtruenoneNone.
ยปยป sourcestringfalsenoneNone.
ยปยป two_factor_auth[string]falsenoneNone.
ยปยป two_factor_last_prompted_atstring(date-time)falsenoneNone.
ยปยป two_factor_should_promptbooleantruenoneNone.
ยปยป updated_atstring(date-time)truenoneNone.
editions[integer]truenoneNone.
everflow_transaction_idstringfalsenoneNone.
extended_list[object]truenoneNone.
ยป blocked_untilstring(date-time)falsenoneNone.
ยป canonical_formatstringtruenoneNone.
ยป chain_formatstringtruenoneNone.
ยป display_formatstringtruenoneNone.
ยป flippable_emoji[boolean]truenoneNone.
ยป generationinteger(int32)truenoneNone.
ยป mintedbooleantruenoneNone.
ยป rhythm_scoreinteger(int32)truenoneNone.
ยป shapeobjecttruenoneNone.
ยปยป patternanyfalsenoneNone.
ยปยป shapestringfalsenoneNone.
ยป shortnamestringtruenoneNone.
ยป token_idinteger(int64)falsenoneNone.
incoming_transfers[object]truenoneNone.
ยป accepted_atstring(date-time)falsenoneNone.
ยป clear_on_transferbooleantruenoneNone.
ยป created_atstring(date-time)truenoneNone.
ยป deleted_atstring(date-time)falsenoneNone.
ยป eidstringtruenoneNone.
ยป emailstringtruenoneNone.
ยป idstring(uuid)truenoneNone.
ยป messagestringfalsenoneNone.
ยป recipient_idstring(uuid)truenoneNone.
ยป sender_code_accepted_atstring(date-time)falsenoneNone.
outgoing_transfersobjecttruenonePaginated results.
ยป data[object]falsenoneNone.
ยปยป accepted_atstring(date-time)falsenoneNone.
ยปยป clear_on_transferbooleantruenoneNone.
ยปยป created_atstring(date-time)truenoneNone.
ยปยป deleted_atstring(date-time)falsenoneNone.
ยปยป eidstringtruenoneNone.
ยปยป emailstringtruenoneNone.
ยปยป idstring(uuid)truenoneNone.
ยปยป messagestringfalsenoneNone.
ยปยป recipient_idstring(uuid)truenoneNone.
ยปยป sender_code_accepted_atstring(date-time)falsenoneNone.
ยป pagingobjectfalsenonePaging information.
ยปยป dirstringtruenoneNone.
ยปยป limitinteger(int32)truenoneNone.
ยปยป pageinteger(int32)truenoneNone.
ยปยป sortstringtruenoneNone.
ยปยป tagsobjecttruenoneNone.
ยปยปยป additionalPropertiesanyfalsenoneNone.
ยปยป totalinteger(int64)truenoneNone.
sidebaranyfalsenoneNone.
wallets[object]truenoneNone.
ยป eth_addressstringtruenoneNone.
ยป user_idstring(uuid)truenoneNone.

Enumerated Values#

PropertyValue
additionalPropertiesAdmin
additionalPropertiesOrgController
additionalPropertiesOrgMember
additionalPropertiesOrgOwner
additionalPropertiesBot
additionalPropertiesSuper
additionalPropertiesUser
roleAdmin
roleOrgController
roleOrgMember
roleOrgOwner
roleBot
roleSuper
roleUser
roleAdmin
roleOrgController
roleOrgMember
roleOrgOwner
roleBot
roleSuper
roleUser
shapeRepeaters
shapeEye Heart
shapeBookends
shapeAdoptables
dirAsc
dirDesc

Example#

{  "current_user": {    "everflow_transaction_id": "string",    "features": [      {        "code": "string",        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"      }    ],    "global_scopes": [      "adminCart:update"    ],    "organization_roles": {      "property1": "Admin",      "property2": "Admin"    },    "organization_scopes": {      "property1": [        "adminCart:update"      ],      "property2": [        "adminCart:update"      ]    },    "pending_transfers": [      "๐Ÿฑ๐Ÿ‰๐Ÿ‹๐Ÿด๐Ÿต"    ],    "pubkeys": [      "74dfa32b2c227ca2aa9ce3922a735669835443c1c36596795de1f48dbfaf7b2f"    ],    "role": "Admin",    "user": {      "alternate_id": "string",      "created_at": "2019-08-24T14:15:22Z",      "deactivated_at": "2019-08-24T14:15:22Z",      "email": "string",      "email_verified_at": "2019-08-24T14:15:22Z",      "first_name": "string",      "free_limit": 0,      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",      "last_name": "string",      "pubkeys": [        "74dfa32b2c227ca2aa9ce3922a735669835443c1c36596795de1f48dbfaf7b2f"      ],      "remaining_free_emoji": 0,      "role": "Admin",      "source": "string",      "two_factor_auth": [        "GoogleAuthenticator"      ],      "two_factor_last_prompted_at": "2019-08-24T14:15:22Z",      "two_factor_should_prompt": true,      "updated_at": "2019-08-24T14:15:22Z"    }  },  "editions": [    0  ],  "everflow_transaction_id": "string",  "extended_list": [    {      "blocked_until": "2019-08-24T14:15:22Z",      "canonical_format": "string",      "chain_format": "string",      "display_format": "๐Ÿฑ๐Ÿ‰๐Ÿ‹๐Ÿด๐Ÿต",      "flippable_emoji": [        true      ],      "generation": 0,      "minted": true,      "rhythm_score": 0,      "shape": {        "pattern": null,        "shape": "Repeaters"      },      "shortname": "string",      "token_id": 0    }  ],  "incoming_transfers": [    {      "accepted_at": "2019-08-24T14:15:22Z",      "clear_on_transfer": true,      "created_at": "2019-08-24T14:15:22Z",      "deleted_at": "2019-08-24T14:15:22Z",      "eid": "๐Ÿฑ๐Ÿ‰๐Ÿ‹๐Ÿด๐Ÿต",      "email": "string",      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",      "message": "string",      "recipient_id": "b6731cb5-d462-49ea-afb8-7933b670b560",      "sender_code_accepted_at": "2019-08-24T14:15:22Z"    }  ],  "outgoing_transfers": {    "data": [      {        "accepted_at": "2019-08-24T14:15:22Z",        "clear_on_transfer": true,        "created_at": "2019-08-24T14:15:22Z",        "deleted_at": "2019-08-24T14:15:22Z",        "eid": "๐Ÿฑ๐Ÿ‰๐Ÿ‹๐Ÿด๐Ÿต",        "email": "string",        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",        "message": "string",        "recipient_id": "b6731cb5-d462-49ea-afb8-7933b670b560",        "sender_code_accepted_at": "2019-08-24T14:15:22Z"      }    ],    "paging": {      "dir": "Asc",      "limit": 0,      "page": 0,      "sort": "string",      "tags": {        "property1": null,        "property2": null      },      "total": 0    }  },  "sidebar": null,  "wallets": [    {      "eth_address": "string",      "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"    }  ]}

LoginRequest#

Properties#

NameTypeRequiredRestrictionsDescription
alternate_idstringfalsenoneAlternate identifier.
emailstringfalsenoneEmail.
g_recaptcha_responsestringfalsenoneResponse from google Recaptcha.
passwordstringtruenoneRequired: Password.

Example#

{  "alternate_id": "string",  "email": "string",  "g_recaptcha_response": "string",  "password": "string"}

LookupResponse#

Properties#

NameTypeRequiredRestrictionsDescription
errorobjectfalsenoneNone.
ยป codestring(int64)truenoneError code.
ยป reasonstringtruenoneNone.
result[object]falsenoneRecords associated with EmojiID.
ยป datastringtruenoneCategory data in text or hex encoded formats.
ยป hashstringtruenoneHash identifies record, can be used to delete records.
ยป tagstringtruenoneCategory as a hex string number.
stats[object]truenoneNumber of times emoji viewed during past month.
ยป descriptionstringtruenoneNone.
ยป finish_datestring(date-time)truenoneNone.
ยป keystringtruenoneCounter object.
ยป metricstringtruenoneCounter type.
ยป start_datestring(date-time)truenoneNone.
ยป valueinteger(int64)truenoneCounter value.
statusbooleanfalsenoneResponse status.

Example#

{  "error": {    "code": "404",    "reason": "string"  },  "result": [    {      "data": "string",      "hash": "5aaf5eac326102cf208e397f15534f0b89747b2263f47857b1d797275ce7e944",      "tag": "0x4001"    }  ],  "stats": [    {      "description": "string",      "finish_date": "2019-08-24T14:15:22Z",      "key": "string",      "metric": "string",      "start_date": "2019-08-24T14:15:22Z",      "value": 0    }  ],  "status": true}

LootBoxGenerationRequest#

Properties#

NameTypeRequiredRestrictionsDescription
loot_box_type_idstring(uuid)truenoneThe id of the loot box type to generate.
num_boxesinteger(int64)truenoneThe number of loot boxes to generate in this sample.

Example#

{  "loot_box_type_id": "304c4377-b66f-4c4c-8d3f-9284ec029078",  "num_boxes": 0}

LootBoxSet#

Properties#

NameTypeRequiredRestrictionsDescription
loot_boxes[object]truenoneThe set of loot boxes generated.
ยป average_rhythm_scorenumber(double)truenoneAverage score of emoji IDs in loot box.
ยป created_atstring(date-time)truenoneNone.
ยป idstring(uuid)truenoneNone.
ยป lootbox_typeobjectfalsenoneFor Admin: Expanded Lootbox Type.
ยปยป configobjecttruenoneThe loot box type's configuration parameters.
ยปยปยป guarantees[object]truenoneA set of guaranteed drops in this loot box type.
ยปยปยปยป countinteger(int64)truenoneThe number of guaranteed drops of this type in the loot box.
ยปยปยปยป max_scoreinteger(int64)truenoneThe highest (inclusive) rhythm score range for guaranteed drop.
ยปยปยปยป min_scoreinteger(int64)truenoneThe lowest (inclusive) rhythm score range for guaranteed drop.
ยปยปยป max_base_scoreinteger(int64)truenoneThe upper bound (inclusive) rhythm score for standard yats in the loot box.
ยปยปยป max_lengthinteger(int64)truenoneMaximum yat length.
ยปยปยป min_base_scoreinteger(int64)truenoneThe lower bound (inclusive) rhythm score for standard yats in the loot box.
ยปยปยป min_lengthinteger(int64)truenoneMinimum yat length.
ยปยปยป sizeinteger(int64)truenoneThe number of yats in the loot box.
ยปยปยป weights[object]truenoneA set of probability weightings for chance-based drops.
ยปยปยปยป iprnumber(double)truenoneThe inverse probability ratio.
ยปยปยปยป max_scoreinteger(int64)truenoneThe highest (inclusive) rhythm score range for inclusion when the probability spec hits.
ยปยปยปยป min_scoreinteger(int64)truenoneThe lowest (inclusive) rhythm score range for inclusion when the probability spec hits.
ยปยป created_atstring(date-time)truenoneThe timestamp for when this loot box type was created.
ยปยป descriptionstringtruenoneA more detailed description of the loot box type.
ยปยป idstring(uuid)truenoneThe loot box type id.
ยปยป namestringtruenoneThe name of this loot box type.
ยป lootbox_type_idstring(uuid)falsenoneFor Admin: The type of loot box, if applicable.
ยป ownerobjectfalsenoneFor Admin: Expanded owner of a lootbox.
ยปยป alternate_idstringfalsenoneNone.
ยปยป created_atstring(date-time)truenoneNone.
ยปยป deactivated_atstring(date-time)falsenoneNone.
ยปยป emailstringfalsenoneNone.
ยปยป email_verified_atstring(date-time)falsenoneNone.
ยปยป first_namestringfalsenoneNone.
ยปยป free_limitinteger(int32)truenoneNone.
ยปยป idstring(uuid)truenoneNone.
ยปยป last_namestringfalsenoneNone.
ยปยป pubkeys[string]truenoneNone.
ยปยป remaining_free_emojiinteger(int32)truenoneNone.
ยปยป rolestringtruenoneNone.
ยปยป sourcestringfalsenoneNone.
ยปยป two_factor_auth[string]falsenoneNone.
ยปยป two_factor_last_prompted_atstring(date-time)falsenoneNone.
ยปยป two_factor_should_promptbooleantruenoneNone.
ยปยป updated_atstring(date-time)truenoneNone.
ยป owner_idstring(uuid)falsenoneLoot box owner_id, required for Owned and Used loot boxes.
ยป prices[integer]truenoneThe prices of the yats in the box, in cents.
ยป scores[integer]truenoneThe rhythm scores of the yats in the box.
ยป statusstringtruenoneStatus loot box will be created in.
ยป total_valuenumber(double)truenoneTotal value of EmojiIDs in the Loot Box.
ยป yats[string]truenoneLoot box yats.
num_requestedinteger(int64)truenoneThe number of loot boxes requested.

Enumerated Values#

PropertyValue
roleAdmin
roleOrgController
roleOrgMember
roleOrgOwner
roleBot
roleSuper
roleUser
statusDraft
statusAvailable
statusOwned
statusUsed

Example#

{  "loot_boxes": [    {      "average_rhythm_score": 0,      "created_at": "2019-08-24T14:15:22Z",      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",      "lootbox_type": {        "config": {          "guarantees": [            {              "count": 0,              "max_score": 0,              "min_score": 0            }          ],          "max_base_score": 0,          "max_length": 0,          "min_base_score": 0,          "min_length": 0,          "size": 0,          "weights": [            {              "ipr": 0,              "max_score": 0,              "min_score": 0            }          ]        },        "created_at": "2019-08-24T14:15:22Z",        "description": "string",        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",        "name": "string"      },      "lootbox_type_id": "fe5ea2ec-76e0-40b9-840c-a44f2c793043",      "owner": {        "alternate_id": "string",        "created_at": "2019-08-24T14:15:22Z",        "deactivated_at": "2019-08-24T14:15:22Z",        "email": "string",        "email_verified_at": "2019-08-24T14:15:22Z",        "first_name": "string",        "free_limit": 0,        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",        "last_name": "string",        "pubkeys": [          "74dfa32b2c227ca2aa9ce3922a735669835443c1c36596795de1f48dbfaf7b2f"        ],        "remaining_free_emoji": 0,        "role": "Admin",        "source": "string",        "two_factor_auth": [          "GoogleAuthenticator"        ],        "two_factor_last_prompted_at": "2019-08-24T14:15:22Z",        "two_factor_should_prompt": true,        "updated_at": "2019-08-24T14:15:22Z"      },      "owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05",      "prices": [        0      ],      "scores": [        0      ],      "status": "Draft",      "total_value": 0,      "yats": [        "๐Ÿฑ๐Ÿ‰๐Ÿ‹๐Ÿด๐Ÿต"      ]    }  ],  "num_requested": 0}

MagicLinkLoginRequest#

Properties#

NameTypeRequiredRestrictionsDescription
emailstringfalsenoneEmail.
g_recaptcha_responsestringfalsenoneResponse from google Recaptcha.
redirectstringfalsenoneRedirect path.
user_idstring(uuid)falsenoneUser ID.

Example#

{  "email": "string",  "g_recaptcha_response": "string",  "redirect": "string",  "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"}

MagicLinkLoginResponse#

Properties#

NameTypeRequiredRestrictionsDescription
messagestringtruenoneMessage.
statusstringtruenoneStatus of requested user after completing the login request.

Enumerated Values#

PropertyValue
statusActive
statusRegisteredInactive
statusRegisteredActive
statusInactive

Example#

{  "message": "string",  "status": "Active"}

Metadata#

Properties#

NameTypeRequiredRestrictionsDescription
animation_urlstringtruenoneNone.
attributes[object]truenoneNone.
ยป trait_typestringtruenoneNone.
ยป valueanytruenoneNone.
descriptionstringtruenoneNone.
external_linkstringtruenoneNone.
imagestringtruenoneNone.
namestringtruenoneNone.

Example#

{  "animation_url": "string",  "attributes": [    {      "trait_type": "string",      "value": null    }  ],  "description": "string",  "external_link": "string",  "image": "string",  "name": "string"}

NewUserInterestParameters#

Properties#

NameTypeRequiredRestrictionsDescription
emoji_idstringtruenoneEmoji ID to express interest in.

Example#

{  "emoji_id": "๐Ÿฑ๐Ÿ‰๐Ÿ‹๐Ÿด๐Ÿต"}

OrganizationBranding#

Properties#

NameTypeRequiredRestrictionsDescription
created_atstring(date-time)truenoneNone.
currencies[string]truenoneNone.
logostringfalsenoneNone.
logo_smallstringfalsenoneNone.
logo_thumbnailstringfalsenoneNone.
namestringtruenoneNone.
organization_idstring(uuid)truenoneNone.
requires_emailbooleantruenoneNone.
return_linkstringtruenoneNone.
updated_atstring(date-time)truenoneNone.

Example#

{  "created_at": "2019-08-24T14:15:22Z",  "currencies": [    "string"  ],  "logo": "string",  "logo_small": "string",  "logo_thumbnail": "string",  "name": "string",  "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",  "requires_email": true,  "return_link": "string",  "updated_at": "2019-08-24T14:15:22Z"}

PaymentAddressResponse#

Properties#

NameTypeRequiredRestrictionsDescription
errorobjectfalsenoneNone.
ยป codestring(int64)truenoneError code.
ยป reasonstringtruenoneNone.
resultobjectfalsenoneNone.
ยป additionalPropertiesobjectfalsenonePayment address response for crypto and token payment data.
ยปยป addressstringtruenoneThe payment address.
ยปยป categorystringtruenoneThe category of this address.
ยปยป defaultbooleantruenoneOptional: Is this address the default address for the category.
ยปยป descriptionstringfalsenoneOptional: Description of the address.
ยปยป long_namestringfalsenoneOptional: CryptoToken long name is a defined name for the ERC20 token.
ยปยป settlement_networkstringfalsenoneOptional: CryptoToken settlement network for the ERC20 token.
ยปยป short_namestringfalsenoneOptional: CryptoToken short name to identify an ERC20 token.
ยปยป signaturestringfalsenoneOptional: Proof of ownership signature for the address.
statusbooleantruenoneNone.

Example#

{  "error": {    "code": "404",    "reason": "string"  },  "result": {    "property1": {      "address": "string",      "category": "string",      "default": true,      "description": "string",      "long_name": "string",      "settlement_network": "string",      "short_name": "string",      "signature": "string"    },    "property2": {      "address": "string",      "category": "string",      "default": true,      "description": "string",      "long_name": "string",      "settlement_network": "string",      "short_name": "string",      "signature": "string"    }  },  "status": true}

PaymentMethod#

Properties#

NameTypeRequiredRestrictionsDescription
brandstringfalsenoneNone.
countrystringfalsenoneNone.
exp_monthinteger(int32)falsenoneNone.
exp_yearinteger(int32)falsenoneNone.
idstringtruenoneNone.
last4stringfalsenoneNone.
payment_typestringtruenoneNone.

Example#

{  "brand": "string",  "country": "string",  "exp_month": 0,  "exp_year": 0,  "id": "string",  "last4": "string",  "payment_type": "string"}

ProxyCallParameters#

Properties#

NameTypeRequiredRestrictionsDescription
datastringfalsenoneThe data to pass through to the proxied service.
servicestringtruenoneProxyService type.

Enumerated Values#

PropertyValue
serviceEcho
serviceScraper

Example#

{  "data": "string",  "service": "Echo"}

ProxyResult#

Properties#

NameTypeRequiredRestrictionsDescription
jsonanytruenoneThe response from the proxied service as a Json object.
valuestringtruenoneThe response from the proxied service as a String.

Example#

{  "json": null,  "value": "string"}

Pubkey#

A hexadecimal representation of a 256-bit public key.

Properties#

NameTypeRequiredRestrictionsDescription
anonymousstringfalsenoneA hexadecimal representation of a 256-bit public key.

Example#

"74dfa32b2c227ca2aa9ce3922a735669835443c1c36596795de1f48dbfaf7b2f"

PublicLootBox#

Properties#

NameTypeRequiredRestrictionsDescription
average_rhythm_scorenumber(double)truenoneAverage score of emoji IDs in loot box.
created_atstring(date-time)truenoneNone.
idstring(uuid)truenoneNone.
lootbox_typeobjectfalsenoneFor Admin: Expanded Lootbox Type.
ยป configobjecttruenoneThe loot box type's configuration parameters.
ยปยป guarantees[object]truenoneA set of guaranteed drops in this loot box type.
ยปยปยป countinteger(int64)truenoneThe number of guaranteed drops of this type in the loot box.
ยปยปยป max_scoreinteger(int64)truenoneThe highest (inclusive) rhythm score range for guaranteed drop.
ยปยปยป min_scoreinteger(int64)truenoneThe lowest (inclusive) rhythm score range for guaranteed drop.
ยปยป max_base_scoreinteger(int64)truenoneThe upper bound (inclusive) rhythm score for standard yats in the loot box.
ยปยป max_lengthinteger(int64)truenoneMaximum yat length.
ยปยป min_base_scoreinteger(int64)truenoneThe lower bound (inclusive) rhythm score for standard yats in the loot box.
ยปยป min_lengthinteger(int64)truenoneMinimum yat length.
ยปยป sizeinteger(int64)truenoneThe number of yats in the loot box.
ยปยป weights[object]truenoneA set of probability weightings for chance-based drops.
ยปยปยป iprnumber(double)truenoneThe inverse probability ratio.
ยปยปยป max_scoreinteger(int64)truenoneThe highest (inclusive) rhythm score range for inclusion when the probability spec hits.
ยปยปยป min_scoreinteger(int64)truenoneThe lowest (inclusive) rhythm score range for inclusion when the probability spec hits.
ยป created_atstring(date-time)truenoneThe timestamp for when this loot box type was created.
ยป descriptionstringtruenoneA more detailed description of the loot box type.
ยป idstring(uuid)truenoneThe loot box type id.
ยป namestringtruenoneThe name of this loot box type.
lootbox_type_idstring(uuid)falsenoneFor Admin: The type of loot box, if applicable.
ownerobjectfalsenoneFor Admin: Expanded owner of a lootbox.
ยป alternate_idstringfalsenoneNone.
ยป created_atstring(date-time)truenoneNone.
ยป deactivated_atstring(date-time)falsenoneNone.
ยป emailstringfalsenoneNone.
ยป email_verified_atstring(date-time)falsenoneNone.
ยป first_namestringfalsenoneNone.
ยป free_limitinteger(int32)truenoneNone.
ยป idstring(uuid)truenoneNone.
ยป last_namestringfalsenoneNone.
ยป pubkeys[string]truenoneNone.
ยป remaining_free_emojiinteger(int32)truenoneNone.
ยป rolestringtruenoneNone.
ยป sourcestringfalsenoneNone.
ยป two_factor_auth[string]falsenoneNone.
ยป two_factor_last_prompted_atstring(date-time)falsenoneNone.
ยป two_factor_should_promptbooleantruenoneNone.
ยป updated_atstring(date-time)truenoneNone.
owner_idstring(uuid)falsenoneLoot box owner_id, required for Owned and Used loot boxes.
prices[integer]truenoneThe prices of the yats in the box, in cents.
scores[integer]truenoneThe rhythm scores of the yats in the box.
statusstringtruenoneStatus loot box will be created in.
total_valuenumber(double)truenoneTotal value of EmojiIDs in the Loot Box.
yats[string]truenoneLoot box yats.

Enumerated Values#

PropertyValue
roleAdmin
roleOrgController
roleOrgMember
roleOrgOwner
roleBot
roleSuper
roleUser
statusDraft
statusAvailable
statusOwned
statusUsed

Example#

{  "average_rhythm_score": 0,  "created_at": "2019-08-24T14:15:22Z",  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "lootbox_type": {    "config": {      "guarantees": [        {          "count": 0,          "max_score": 0,          "min_score": 0        }      ],      "max_base_score": 0,      "max_length": 0,      "min_base_score": 0,      "min_length": 0,      "size": 0,      "weights": [        {          "ipr": 0,          "max_score": 0,          "min_score": 0        }      ]    },    "created_at": "2019-08-24T14:15:22Z",    "description": "string",    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",    "name": "string"  },  "lootbox_type_id": "fe5ea2ec-76e0-40b9-840c-a44f2c793043",  "owner": {    "alternate_id": "string",    "created_at": "2019-08-24T14:15:22Z",    "deactivated_at": "2019-08-24T14:15:22Z",    "email": "string",    "email_verified_at": "2019-08-24T14:15:22Z",    "first_name": "string",    "free_limit": 0,    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",    "last_name": "string",    "pubkeys": [      "74dfa32b2c227ca2aa9ce3922a735669835443c1c36596795de1f48dbfaf7b2f"    ],    "remaining_free_emoji": 0,    "role": "Admin",    "source": "string",    "two_factor_auth": [      "GoogleAuthenticator"    ],    "two_factor_last_prompted_at": "2019-08-24T14:15:22Z",    "two_factor_should_prompt": true,    "updated_at": "2019-08-24T14:15:22Z"  },  "owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05",  "prices": [    0  ],  "scores": [    0  ],  "status": "Draft",  "total_value": 0,  "yats": [    "๐Ÿฑ๐Ÿ‰๐Ÿ‹๐Ÿด๐Ÿต"  ]}

PublicLootBoxType#

HTTP schema for an existing LootBoxType record

Properties#

NameTypeRequiredRestrictionsDescription
configobjecttruenoneThe loot box type's configuration parameters.
ยป guarantees[object]truenoneA set of guaranteed drops in this loot box type.
ยปยป countinteger(int64)truenoneThe number of guaranteed drops of this type in the loot box.
ยปยป max_scoreinteger(int64)truenoneThe highest (inclusive) rhythm score range for guaranteed drop.
ยปยป min_scoreinteger(int64)truenoneThe lowest (inclusive) rhythm score range for guaranteed drop.
ยป max_base_scoreinteger(int64)truenoneThe upper bound (inclusive) rhythm score for standard yats in the loot box.
ยป max_lengthinteger(int64)truenoneMaximum yat length.
ยป min_base_scoreinteger(int64)truenoneThe lower bound (inclusive) rhythm score for standard yats in the loot box.
ยป min_lengthinteger(int64)truenoneMinimum yat length.
ยป sizeinteger(int64)truenoneThe number of yats in the loot box.
ยป weights[object]truenoneA set of probability weightings for chance-based drops.
ยปยป iprnumber(double)truenoneThe inverse probability ratio.
ยปยป max_scoreinteger(int64)truenoneThe highest (inclusive) rhythm score range for inclusion when the probability spec hits.
ยปยป min_scoreinteger(int64)truenoneThe lowest (inclusive) rhythm score range for inclusion when the probability spec hits.
created_atstring(date-time)truenoneThe timestamp for when this loot box type was created.
descriptionstringtruenoneA more detailed description of the loot box type.
idstring(uuid)truenoneThe loot box type id.
namestringtruenoneThe name of this loot box type.

Example#

{  "config": {    "guarantees": [      {        "count": 0,        "max_score": 0,        "min_score": 0      }    ],    "max_base_score": 0,    "max_length": 0,    "min_base_score": 0,    "min_length": 0,    "size": 0,    "weights": [      {        "ipr": 0,        "max_score": 0,        "min_score": 0      }    ]  },  "created_at": "2019-08-24T14:15:22Z",  "description": "string",  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "name": "string"}

RandomResult#

Properties#

NameTypeRequiredRestrictionsDescription
result[object]truenoneRandom Emoji IDs.
ยป availabilitystringtruenoneThe availability state of this emoji.
ยป availablebooleantruenoneWhether the Emoji ID is available for purchase.
ยป copyanyfalsenoneEmojiID copy text.
ยป emoji_idstringtruenoneEmoji ID in canonical form.
ยป flippable_emoji[boolean]truenoneWhich emoji are flippable.
ยป generationinteger(int32)falsenoneThe generation of the Yat, if it has been purchased.
ยป lengthinteger(int64)truenoneCanonical EmojiID length in emojis.
ยป mintedbooleantruenoneIf this Emoji is minted.
ยป originstringfalsenoneThe origin of the Yat if it was from a Prism Case.
ยป priceinteger(int32)falsenonePricing in US cents, e.
ยป rhythm_scoreinteger(int64)truenoneEmojiID rhythm score.
ยป shapeobjecttruenoneNone.
ยปยป patternanyfalsenoneNone.
ยปยป shapestringfalsenoneNone.
ยป short_names[string]truenoneEmoji key words.
ยป stats[object]truenoneTotal lookups using this API, if someone is viewing this Emoji ID using their own self hosted node, it will not be counted here.
ยปยป descriptionstringtruenoneNone.
ยปยป finish_datestring(date-time)truenoneNone.
ยปยป keystringtruenoneCounter object.
ยปยป metricstringtruenoneCounter type.
ยปยป start_datestring(date-time)truenoneNone.
ยปยป valueinteger(int64)truenoneCounter value.

Enumerated Values#

PropertyValue
availabilityAvailable
availabilityTaken
availabilityInCart
availabilityComingSoon
availabilityNoPrice
shapeRepeaters
shapeEye Heart
shapeBookends
shapeAdoptables

Example#

{  "result": [    {      "availability": "Available",      "available": true,      "copy": null,      "emoji_id": "๐Ÿฑ๐Ÿ‰๐Ÿ‹๐Ÿด๐Ÿต",      "flippable_emoji": [        true      ],      "generation": 0,      "length": 0,      "minted": true,      "origin": "string",      "price": 0,      "rhythm_score": 0,      "shape": {        "pattern": null,        "shape": "Repeaters"      },      "short_names": [        "string"      ],      "stats": [        {          "description": "string",          "finish_date": "2019-08-24T14:15:22Z",          "key": "string",          "metric": "string",          "start_date": "2019-08-24T14:15:22Z",          "value": 0        }      ]    }  ]}

RandomYatActivateBody#

Properties#

NameTypeRequiredRestrictionsDescription
noncestringtruenoneSchnorr signature nonce as a hex string.
pubkeystringtruenonePublic key to authorize usage of a code.
signaturestringtruenoneSchnorr signature as a hex with alternate_id as a challenge.
tracking_dataanyfalsenoneCustom tracking data to be associated with a purchase.

Example#

{  "nonce": "string",  "pubkey": "74dfa32b2c227ca2aa9ce3922a735669835443c1c36596795de1f48dbfaf7b2f",  "signature": "string",  "tracking_data": null}

RecentlyPurchasedResult#

Properties#

NameTypeRequiredRestrictionsDescription
result[object]truenoneRecently purchased emoji.
ยป availabilitystringtruenoneThe availability state of this emoji.
ยป availablebooleantruenoneWhether the Emoji ID is available for purchase.
ยป copyanyfalsenoneEmojiID copy text.
ยป emoji_idstringtruenoneEmoji ID in canonical form.
ยป flippable_emoji[boolean]truenoneWhich emoji are flippable.
ยป generationinteger(int32)falsenoneThe generation of the Yat, if it has been purchased.
ยป lengthinteger(int64)truenoneCanonical EmojiID length in emojis.
ยป mintedbooleantruenoneIf this Emoji is minted.
ยป originstringfalsenoneThe origin of the Yat if it was from a Prism Case.
ยป priceinteger(int32)falsenonePricing in US cents, e.
ยป rhythm_scoreinteger(int64)truenoneEmojiID rhythm score.
ยป shapeobjecttruenoneNone.
ยปยป patternanyfalsenoneNone.
ยปยป shapestringfalsenoneNone.
ยป short_names[string]truenoneEmoji key words.
ยป stats[object]truenoneTotal lookups using this API, if someone is viewing this Emoji ID using their own self hosted node, it will not be counted here.
ยปยป descriptionstringtruenoneNone.
ยปยป finish_datestring(date-time)truenoneNone.
ยปยป keystringtruenoneCounter object.
ยปยป metricstringtruenoneCounter type.
ยปยป start_datestring(date-time)truenoneNone.
ยปยป valueinteger(int64)truenoneCounter value.

Enumerated Values#

PropertyValue
availabilityAvailable
availabilityTaken
availabilityInCart
availabilityComingSoon
availabilityNoPrice
shapeRepeaters
shapeEye Heart
shapeBookends
shapeAdoptables

Example#

{  "result": [    {      "availability": "Available",      "available": true,      "copy": null,      "emoji_id": "๐Ÿฑ๐Ÿ‰๐Ÿ‹๐Ÿด๐Ÿต",      "flippable_emoji": [        true      ],      "generation": 0,      "length": 0,      "minted": true,      "origin": "string",      "price": 0,      "rhythm_score": 0,      "shape": {        "pattern": null,        "shape": "Repeaters"      },      "short_names": [        "string"      ],      "stats": [        {          "description": "string",          "finish_date": "2019-08-24T14:15:22Z",          "key": "string",          "metric": "string",          "start_date": "2019-08-24T14:15:22Z",          "value": 0        }      ]    }  ]}

RefreshRequest#

Properties#

NameTypeRequiredRestrictionsDescription
refresh_tokenstringtruenoneRefresh token obtained from login request.

Example#

{  "refresh_token": "string"}

RegisterUserParameters#

Properties#

NameTypeRequiredRestrictionsDescription
activatebooleanfalsenoneOptional: Whether to force activation during creation (requires UserActivate scope).
activation_sourcestringfalsenoneOptional: Source of activation (requires UserActivate scope).
alternate_idstringfalsenoneAlternate identifier.
emailstringfalsenoneEmail address.
first_namestringfalsenoneOptional: first name.
g_recaptcha_responsestringfalsenoneResponse from google Recaptcha.
last_namestringfalsenoneOptional: last name.
partner_conversion_idstringfalsenoneParameter to pass everflow click id.
passwordstringfalsenoneOptional: password.
sourcestringfalsenoneRequired when registering with alternate_id, source for non custodial user.

Example#

{  "activate": true,  "activation_source": "string",  "alternate_id": "string",  "email": "string",  "first_name": "string",  "g_recaptcha_response": "string",  "last_name": "string",  "partner_conversion_id": "string",  "password": "string",  "source": "string"}

RhythmResponse#

Properties#

NameTypeRequiredRestrictionsDescription
rhythminteger(int64)truenoneThe yat rhythm score, a number between 1 (least prestigious) and 100 (most prestigious).

Example#

{  "rhythm": 0}

SearchResult#

Properties#

NameTypeRequiredRestrictionsDescription
alternates[object]truenoneAlternative Emoji IDs.
ยป availabilitystringtruenoneThe availability state of this emoji.
ยป availablebooleantruenoneWhether the Emoji ID is available for purchase.
ยป copyanyfalsenoneEmojiID copy text.
ยป emoji_idstringtruenoneEmoji ID in canonical form.
ยป flippable_emoji[boolean]truenoneWhich emoji are flippable.
ยป generationinteger(int32)falsenoneThe generation of the Yat, if it has been purchased.
ยป lengthinteger(int64)truenoneCanonical EmojiID length in emojis.
ยป mintedbooleantruenoneIf this Emoji is minted.
ยป originstringfalsenoneThe origin of the Yat if it was from a Prism Case.
ยป priceinteger(int32)falsenonePricing in US cents, e.
ยป rhythm_scoreinteger(int64)truenoneEmojiID rhythm score.
ยป shapeobjecttruenoneNone.
ยปยป patternanyfalsenoneNone.
ยปยป shapestringfalsenoneNone.
ยป short_names[string]truenoneEmoji key words.
ยป stats[object]truenoneTotal lookups using this API, if someone is viewing this Emoji ID using their own self hosted node, it will not be counted here.
ยปยป descriptionstringtruenoneNone.
ยปยป finish_datestring(date-time)truenoneNone.
ยปยป keystringtruenoneCounter object.
ยปยป metricstringtruenoneCounter type.
ยปยป start_datestring(date-time)truenoneNone.
ยปยป valueinteger(int64)truenoneCounter value.
resultobjecttruenoneThe specific Emoji ID that the user requests.
ยป availabilitystringtruenoneThe availability state of this emoji.
ยป availablebooleantruenoneWhether the Emoji ID is available for purchase.
ยป copyanyfalsenoneEmojiID copy text.
ยป emoji_idstringtruenoneEmoji ID in canonical form.
ยป flippable_emoji[boolean]truenoneWhich emoji are flippable.
ยป generationinteger(int32)falsenoneThe generation of the Yat, if it has been purchased.
ยป lengthinteger(int64)truenoneCanonical EmojiID length in emojis.
ยป mintedbooleantruenoneIf this Emoji is minted.
ยป originstringfalsenoneThe origin of the Yat if it was from a Prism Case.
ยป priceinteger(int32)falsenonePricing in US cents, e.
ยป rhythm_scoreinteger(int64)truenoneEmojiID rhythm score.
ยป shapeobjecttruenoneNone.
ยปยป patternanyfalsenoneNone.
ยปยป shapestringfalsenoneNone.
ยป short_names[string]truenoneEmoji key words.
ยป stats[object]truenoneTotal lookups using this API, if someone is viewing this Emoji ID using their own self hosted node, it will not be counted here.
ยปยป descriptionstringtruenoneNone.
ยปยป finish_datestring(date-time)truenoneNone.
ยปยป keystringtruenoneCounter object.
ยปยป metricstringtruenoneCounter type.
ยปยป start_datestring(date-time)truenoneNone.
ยปยป valueinteger(int64)truenoneCounter value.

Enumerated Values#

PropertyValue
availabilityAvailable
availabilityTaken
availabilityInCart
availabilityComingSoon
availabilityNoPrice
shapeRepeaters
shapeEye Heart
shapeBookends
shapeAdoptables
availabilityAvailable
availabilityTaken
availabilityInCart
availabilityComingSoon
availabilityNoPrice
shapeRepeaters
shapeEye Heart
shapeBookends
shapeAdoptables

Example#

{  "alternates": [    {      "availability": "Available",      "available": true,      "copy": null,      "emoji_id": "๐Ÿฑ๐Ÿ‰๐Ÿ‹๐Ÿด๐Ÿต",      "flippable_emoji": [        true      ],      "generation": 0,      "length": 0,      "minted": true,      "origin": "string",      "price": 0,      "rhythm_score": 0,      "shape": {        "pattern": null,        "shape": "Repeaters"      },      "short_names": [        "string"      ],      "stats": [        {          "description": "string",          "finish_date": "2019-08-24T14:15:22Z",          "key": "string",          "metric": "string",          "start_date": "2019-08-24T14:15:22Z",          "value": 0        }      ]    }  ],  "result": {    "availability": "Available",    "available": true,    "copy": null,    "emoji_id": "๐Ÿฑ๐Ÿ‰๐Ÿ‹๐Ÿด๐Ÿต",    "flippable_emoji": [      true    ],    "generation": 0,    "length": 0,    "minted": true,    "origin": "string",    "price": 0,    "rhythm_score": 0,    "shape": {      "pattern": null,      "shape": "Repeaters"    },    "short_names": [      "string"    ],    "stats": [      {        "description": "string",        "finish_date": "2019-08-24T14:15:22Z",        "key": "string",        "metric": "string",        "start_date": "2019-08-24T14:15:22Z",        "value": 0      }    ]  }}

ShapeMatch#

Properties#

NameTypeRequiredRestrictionsDescription
patternanyfalsenoneNone.
shapestringfalsenoneNone.

Enumerated Values#

PropertyValue
shapeRepeaters
shapeEye Heart
shapeBookends
shapeAdoptables

Example#

{  "pattern": null,  "shape": "Repeaters"}

SignatureRequest#

Properties#

NameTypeRequiredRestrictionsDescription
accountstringtruenoneNone.
expiryinteger(int64)falsenoneNone.

Example#

{  "account": "string",  "expiry": 0}

SignatureResponse#

Properties#

NameTypeRequiredRestrictionsDescription
accountstringtruenoneNone.
expiryinteger(int64)truenoneNone.
signaturestringtruenoneNone.
tokenstringtruenoneNone.

Example#

{  "account": "string",  "expiry": 0,  "signature": "string",  "token": "string"}

StoreJsonBody#

Properties#

NameTypeRequiredRestrictionsDescription
dataanytruenoneData value allows to store any Json value, limited by 250Kb.
linked_tags[any]falsenoneLink tag items as part of the transaction All previously linked tags not present in new request will be deleted.
ยป datastringtruenoneCategory data in text format.
ยป tagstringtruenoneCategory ID as a hex number.

Example#

{  "data": null,  "linked_tags": [    {      "data": "127.0.0.1",      "tag": "0x4101"    }  ]}

SuccessResponse#

Properties#

NameTypeRequiredRestrictionsDescription
messagestringtruenoneNone.

Example#

{  "message": "string"}

SuccessResponse2FA#

Properties#

NameTypeRequiredRestrictionsDescription
messagestringtruenoneNone.
phone_last_digitsstringfalsenoneNone.

Example#

{  "message": "string",  "phone_last_digits": "string"}

TokenResponse#

Properties#

NameTypeRequiredRestrictionsDescription
access_tokenstringtruenoneAccess token.
has_passwordbooleantruenoneHas a password set.
refresh_tokenstringtruenoneRefresh token, only required for 2FA (???).
requires_2fastringfalsenoneWhether has 2FA enabled or not.

Enumerated Values#

PropertyValue
requires_2faGoogleAuthenticator
requires_2faSMS

Example#

{  "access_token": "string",  "has_password": true,  "refresh_token": "string",  "requires_2fa": "GoogleAuthenticator"}

TransferRequest#

Properties#

NameTypeRequiredRestrictionsDescription
clear_on_transferbooleantruenoneClear emoji data when emoji transferred to destination.
eidstringtruenoneNone.
emailstringtruenoneTransfer to specified email, would register new user account if not existent.
force_transferbooleantruenoneAdmin can force transfer, for regular user it has no effect.
messagestringfalsenoneMessage displayed to recipient and included in the invitiation email.

Example#

{  "clear_on_transfer": true,  "eid": "๐Ÿฑ๐Ÿ‰๐Ÿ‹๐Ÿด๐Ÿต",  "email": "string",  "force_transfer": true,  "message": "string"}

UpdateAccountResponse#

Properties#

NameTypeRequiredRestrictionsDescription
everflow_transaction_idstringfalsenonetransaction id indicating if the user signed up from a partner via everflow redirect.
features[object]falsenoneEnabled features for the user.
ยป codestringtruenoneNone.
ยป idstring(uuid)truenoneNone.
global_scopes[string]falsenoneA list of fine-grained permissions the user may perform.
organization_rolesobjectfalsenoneThe role this user has in each organisation.
ยป additionalPropertiesstringfalsenoneNone.
organization_scopesobjectfalsenoneThe scopes that are granted to this user for each organisation.
ยป additionalProperties[string]falsenoneNone.
pending_transfers[string]falsenoneList of transfers pending acceptance on current user side.
pubkeys[string]falsenoneA list of this user's public keys.
rolestringfalsenoneThe role assigned to this user.
token_responseobjectfalsenoneNone.
ยป access_tokenstringtruenoneAccess token.
ยป has_passwordbooleantruenoneHas a password set.
ยป refresh_tokenstringtruenoneRefresh token, only required for 2FA (???).
ยป requires_2fastringfalsenoneWhether has 2FA enabled or not.
userobjectfalsenoneThe current user's details.
ยป alternate_idstringfalsenoneNone.
ยป created_atstring(date-time)truenoneNone.
ยป deactivated_atstring(date-time)falsenoneNone.
ยป emailstringfalsenoneNone.
ยป email_verified_atstring(date-time)falsenoneNone.
ยป first_namestringfalsenoneNone.
ยป free_limitinteger(int32)truenoneNone.
ยป idstring(uuid)truenoneNone.
ยป last_namestringfalsenoneNone.
ยป pubkeys[string]truenoneNone.
ยป remaining_free_emojiinteger(int32)truenoneNone.
ยป rolestringtruenoneNone.
ยป sourcestringfalsenoneNone.
ยป two_factor_auth[string]falsenoneNone.
ยป two_factor_last_prompted_atstring(date-time)falsenoneNone.
ยป two_factor_should_promptbooleantruenoneNone.
ยป updated_atstring(date-time)truenoneNone.

Enumerated Values#

PropertyValue
additionalPropertiesAdmin
additionalPropertiesOrgController
additionalPropertiesOrgMember
additionalPropertiesOrgOwner
additionalPropertiesBot
additionalPropertiesSuper
additionalPropertiesUser
roleAdmin
roleOrgController
roleOrgMember
roleOrgOwner
roleBot
roleSuper
roleUser
requires_2faGoogleAuthenticator
requires_2faSMS
roleAdmin
roleOrgController
roleOrgMember
roleOrgOwner
roleBot
roleSuper
roleUser

Example#

{  "everflow_transaction_id": "string",  "features": [    {      "code": "string",      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"    }  ],  "global_scopes": [    "adminCart:update"  ],  "organization_roles": {    "property1": "Admin",    "property2": "Admin"  },  "organization_scopes": {    "property1": [      "adminCart:update"    ],    "property2": [      "adminCart:update"    ]  },  "pending_transfers": [    "๐Ÿฑ๐Ÿ‰๐Ÿ‹๐Ÿด๐Ÿต"  ],  "pubkeys": [    "74dfa32b2c227ca2aa9ce3922a735669835443c1c36596795de1f48dbfaf7b2f"  ],  "role": "Admin",  "token_response": {    "access_token": "string",    "has_password": true,    "refresh_token": "string",    "requires_2fa": "GoogleAuthenticator"  },  "user": {    "alternate_id": "string",    "created_at": "2019-08-24T14:15:22Z",    "deactivated_at": "2019-08-24T14:15:22Z",    "email": "string",    "email_verified_at": "2019-08-24T14:15:22Z",    "first_name": "string",    "free_limit": 0,    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",    "last_name": "string",    "pubkeys": [      "74dfa32b2c227ca2aa9ce3922a735669835443c1c36596795de1f48dbfaf7b2f"    ],    "remaining_free_emoji": 0,    "role": "Admin",    "source": "string",    "two_factor_auth": [      "GoogleAuthenticator"    ],    "two_factor_last_prompted_at": "2019-08-24T14:15:22Z",    "two_factor_should_prompt": true,    "updated_at": "2019-08-24T14:15:22Z"  }}

UpdateOrganizationBranding#

Properties#

NameTypeRequiredRestrictionsDescription
currencies[string]truenoneNone.
logostringfalsenoneNone.
logo_smallstringfalsenoneNone.
logo_thumbnailstringfalsenoneNone.
requires_emailbooleanfalsenoneNone.
return_linkstringtruenoneNone.

Example#

{  "currencies": [    "string"  ],  "logo": "string",  "logo_small": "string",  "logo_thumbnail": "string",  "requires_email": true,  "return_link": "string"}

UpdateUserParameters#

Properties#

NameTypeRequiredRestrictionsDescription
current_passwordstringfalsenoneOptional: Current password, must be provided if one exists.
emailstringfalsenoneOptional: Email.
first_namestringfalsenoneOptional: First name.
last_namestringfalsenoneOptional: Last name.
passwordstringfalsenoneOptional: User password.

Example#

{  "current_password": "string",  "email": "string",  "first_name": "string",  "last_name": "string",  "password": "string"}

UserInterest#

Properties#

NameTypeRequiredRestrictionsDescription
created_atstring(date-time)truenoneNone.
emoji_idstringtruenoneNone.
idstring(uuid)truenoneNone.
updated_atstring(date-time)truenoneNone.
user_idstring(uuid)truenoneNone.

Example#

{  "created_at": "2019-08-24T14:15:22Z",  "emoji_id": "๐Ÿฑ๐Ÿ‰๐Ÿ‹๐Ÿด๐Ÿต",  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "updated_at": "2019-08-24T14:15:22Z",  "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"}

Wallet#

Properties#

NameTypeRequiredRestrictionsDescription
eth_addressstringtruenoneNone.
user_idstring(uuid)truenoneNone.

Example#

{  "eth_address": "string",  "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"}

WalletSyncRequest#

Properties#

NameTypeRequiredRestrictionsDescription
signaturestringtruenoneNone.
sourcestringtruenoneNone.

Enumerated Values#

PropertyValue
sourceMint
sourceDashboard

Example#

{  "signature": "string",  "source": "Mint"}