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#
DescriptionVersion: 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.
#
AuthenticationAPI Key (JWT)
- Parameter Name: Authorization, in: header. Use format
Bearer TOKEN
- Parameter Name: Authorization, in: header. Use format
API Key (apiKey)
- Parameter Name: Authorization,X-Api-Key, in: header. With
Authorization
header use formatBearer TOKEN
, withX-Api-Key
use api token
- Parameter Name: Authorization,X-Api-Key, in: header. With
API Key (two_factor)
- Parameter Name: Authorization, in: header. Optional: JWT token in
Bearer TOKEN
with 2FA scope
- Parameter Name: Authorization, in: header. Optional: JWT token in
#
User AuthenticationFrom 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 authenticationTwo 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
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient() val requestBody = """{ "code": "string", "refresh_token": "string"} """.toRequestBody("application/json; charset=utf-8".toMediaType())
val request = Request.Builder() .url("$apiBaseURL/auth/2fa") .addHeader("Content-Type", "application/json") .addHeader("Accept", "*/*") .post(requestBody) .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/auth/2fa")
let requestBody = """{ "code": "string", "refresh_token": "string"}"""
var request = URLRequest(url: url!)
request.httpMethod = "POST"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = requestBody.data(using: .utf8)
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
Body parameter{ "code": "string", "refresh_token": "string"}
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
body | body | Confirm2Fa | true | none |
ยป code | body | string | true | Two factor authentication code |
ยป refresh_token | body | string | true | Refresh token obtained from login request |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | TokenResponse |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal server error. | None |
note
This operation does not require authentication
#
Generate magic link for loginGenerate 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
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient() val requestBody = """{ "email": "string", "g_recaptcha_response": "string", "redirect": "string", "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"} """.toRequestBody("application/json; charset=utf-8".toMediaType())
val request = Request.Builder() .url("$apiBaseURL/auth/magic_link") .addHeader("Content-Type", "application/json") .addHeader("Accept", "*/*") .post(requestBody) .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/auth/magic_link")
let requestBody = """{ "email": "string", "g_recaptcha_response": "string", "redirect": "string", "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"}"""
var request = URLRequest(url: url!)
request.httpMethod = "POST"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = requestBody.data(using: .utf8)
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
Body parameter{ "email": "string", "g_recaptcha_response": "string", "redirect": "string", "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"}
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
body | body | MagicLinkLoginRequest | true | none |
ยป email | body | string | false | |
ยป g_recaptcha_response | body | string | false | Response from google Recaptcha |
ยป redirect | body | string | false | Redirect path |
ยป user_id | body | string(uuid) | false | User ID |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | MagicLinkLoginResponse |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal server error. | None |
note
This operation does not require authentication
#
Login via passwordLogin 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
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient() val requestBody = """{ "alternate_id": "string", "email": "string", "g_recaptcha_response": "string", "password": "string"} """.toRequestBody("application/json; charset=utf-8".toMediaType())
val request = Request.Builder() .url("$apiBaseURL/auth/token") .addHeader("Content-Type", "application/json") .addHeader("Accept", "*/*") .post(requestBody) .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/auth/token")
let requestBody = """{ "alternate_id": "string", "email": "string", "g_recaptcha_response": "string", "password": "string"}"""
var request = URLRequest(url: url!)
request.httpMethod = "POST"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = requestBody.data(using: .utf8)
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
Body parameter{ "alternate_id": "string", "email": "string", "g_recaptcha_response": "string", "password": "string"}
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
body | body | LoginRequest | true | none |
ยป alternate_id | body | string | false | Alternate identifier |
ยป email | body | string | false | |
ยป g_recaptcha_response | body | string | false | Response from google Recaptcha |
ยป password | body | string | true | Required: Password |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | TokenResponse |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal server error. | None |
note
This operation does not require authentication
#
Refresh access tokenRefresh 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
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient() val requestBody = """{ "refresh_token": "string"} """.toRequestBody("application/json; charset=utf-8".toMediaType())
val request = Request.Builder() .url("$apiBaseURL/auth/token/refresh") .addHeader("Content-Type", "application/json") .addHeader("Accept", "*/*") .post(requestBody) .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/auth/token/refresh")
let requestBody = """{ "refresh_token": "string"}"""
var request = URLRequest(url: url!)
request.httpMethod = "POST"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = requestBody.data(using: .utf8)
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
Body parameter{ "refresh_token": "string"}
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
body | body | RefreshRequest | true | none |
ยป refresh_token | body | string | true | Refresh token obtained from login request |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | TokenResponse |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal server error. | None |
note
This operation does not require authentication
#
Invalidates all user's access tokensInvalidates all user's access tokens
Requires UserWriteSelf
scope
#
Example POST /logout
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient()
val request = Request.Builder() .url("$apiBaseURL/logout") .addHeader("Authorization", "API_KEY") .post() .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/logout")
var request = URLRequest(url: url!)
request.httpMethod = "POST"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal server error. | None |
Authentication
To perform this operation, you must be authenticated by means of one of the following methods: two_factor
#
CartCart management endpoints
#
Return cart contentReturn cart content
NOTE: user should have scope CartShow
#
Example GET /cart
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient()
val request = Request.Builder() .url("$apiBaseURL/cart") .addHeader("Accept", "*/*") .addHeader("Authorization,X-Api-Key", "API_KEY") .get() .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/cart")
var request = URLRequest(url: url!)
request.httpMethod = "GET"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | DisplayOrder |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal 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 cartUpdate cart items by adding new items to the cart
NOTE: user should have scope CartUpdate
#
Example POST /cart
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient() val requestBody = """{ "items": [ { "emoji_id": "๐ฑ๐๐๐ด๐ต" } ], "tracking_data": null} """.toRequestBody("application/json; charset=utf-8".toMediaType())
val request = Request.Builder() .url("$apiBaseURL/cart") .addHeader("Content-Type", "application/json") .addHeader("Accept", "*/*") .addHeader("Authorization,X-Api-Key", "API_KEY") .post(requestBody) .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/cart")
let requestBody = """{ "items": [ { "emoji_id": "๐ฑ๐๐๐ด๐ต" } ], "tracking_data": null}"""
var request = URLRequest(url: url!)
request.httpMethod = "POST"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = requestBody.data(using: .utf8)
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
Body parameter{ "items": [ { "emoji_id": "๐ฑ๐๐๐ด๐ต" } ], "tracking_data": null}
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
body | body | AddItemsCartRequest | true | none |
ยป items | body | [object] | true | New items to add to cart |
ยปยป emoji_id | body | string | true | EmojiID to buy |
ยป tracking_data | body | any | false | Tracking data |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | DisplayOrder |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal 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 cartRemove all items from cart
NOTE: user should have scope CartUpdate
#
Example DELETE /cart
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient()
val request = Request.Builder() .url("$apiBaseURL/cart") .addHeader("Accept", "*/*") .addHeader("Authorization,X-Api-Key", "API_KEY") .delete() .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/cart")
var request = URLRequest(url: url!)
request.httpMethod = "DELETE"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | DisplayOrder |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal 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 cartRemoves an order item from the cart
NOTE: user should have scope CartUpdate
#
Example DELETE /cart/cart_items/{cart_item_id}
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient()
val request = Request.Builder() .url("$apiBaseURL/cart/cart_items/{cart_item_id}") .addHeader("Accept", "*/*") .addHeader("Authorization,X-Api-Key", "API_KEY") .delete() .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/cart/cart_items/{cart_item_id}")
var request = URLRequest(url: url!)
request.httpMethod = "DELETE"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
cart_item_id | path | string(uuid) | true | none |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | DisplayOrder |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal server error. | None |
Authentication
To perform this operation, you must be authenticated by means of one of the following methods: apiKey
#
Checkout last payment cartCheckout last payment cart
NOTE: user should have scope CartUpdate
#
Example POST /cart/checkout
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient() val requestBody = """{ "amount": 0, "cancel_url": "string", "external_reference": "string", "method": "Free", "pubkey": "74dfa32b2c227ca2aa9ce3922a735669835443c1c36596795de1f48dbfaf7b2f", "success_url": "string", "tracking_data": null} """.toRequestBody("application/json; charset=utf-8".toMediaType())
val request = Request.Builder() .url("$apiBaseURL/cart/checkout") .addHeader("Content-Type", "application/json") .addHeader("Accept", "*/*") .addHeader("Authorization,X-Api-Key", "API_KEY") .post(requestBody) .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/cart/checkout")
let requestBody = """{ "amount": 0, "cancel_url": "string", "external_reference": "string", "method": "Free", "pubkey": "74dfa32b2c227ca2aa9ce3922a735669835443c1c36596795de1f48dbfaf7b2f", "success_url": "string", "tracking_data": null}"""
var request = URLRequest(url: url!)
request.httpMethod = "POST"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = requestBody.data(using: .utf8)
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
Body parameter{ "amount": 0, "cancel_url": "string", "external_reference": "string", "method": "Free", "pubkey": "74dfa32b2c227ca2aa9ce3922a735669835443c1c36596795de1f48dbfaf7b2f", "success_url": "string", "tracking_data": null}
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
body | body | CheckoutCartRequest | true | none |
ยป amount | body | integer(int64) | false | Amount paid in cash. Applicable and required only for Cash payment option for Admin. |
ยป cancel_url | body | string | false | URL user will be redirected if payment cancelled Required for Stripe Checkout |
ยป external_reference | body | string | false | External reference for cash payment. Applicable and required only for Cash payment option for Admin. |
ยป method | body | string | true | Payment method type |
ยป pubkey | body | string | false | Optional: 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_url | body | string | false | URL user will be redirected after successful payment Required for Stripe Checkout |
ยป tracking_data | body | any | false | Optional: tracking data |
#
Enumerated ValuesParameter | Value |
---|---|
ยป method | Free |
ยป method | CoinbaseCommerce |
ยป method | Stripe |
ยป method | Cash |
ยป method | PayPal |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | DisplayOrder |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal 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 idCheckout saved cart by id
NOTE: user should have scope CartUpdate
#
Example POST /cart/checkout/{id}
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient() val requestBody = """{ "amount": 0, "cancel_url": "string", "external_reference": "string", "method": "Free", "pubkey": "74dfa32b2c227ca2aa9ce3922a735669835443c1c36596795de1f48dbfaf7b2f", "success_url": "string", "tracking_data": null} """.toRequestBody("application/json; charset=utf-8".toMediaType())
val request = Request.Builder() .url("$apiBaseURL/cart/checkout/{id}") .addHeader("Content-Type", "application/json") .addHeader("Accept", "*/*") .addHeader("Authorization,X-Api-Key", "API_KEY") .post(requestBody) .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/cart/checkout/{id}")
let requestBody = """{ "amount": 0, "cancel_url": "string", "external_reference": "string", "method": "Free", "pubkey": "74dfa32b2c227ca2aa9ce3922a735669835443c1c36596795de1f48dbfaf7b2f", "success_url": "string", "tracking_data": null}"""
var request = URLRequest(url: url!)
request.httpMethod = "POST"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = requestBody.data(using: .utf8)
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
Body parameter{ "amount": 0, "cancel_url": "string", "external_reference": "string", "method": "Free", "pubkey": "74dfa32b2c227ca2aa9ce3922a735669835443c1c36596795de1f48dbfaf7b2f", "success_url": "string", "tracking_data": null}
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
id | path | string(uuid) | true | none |
body | body | CheckoutCartRequest | true | none |
ยป amount | body | integer(int64) | false | Amount paid in cash. Applicable and required only for Cash payment option for Admin. |
ยป cancel_url | body | string | false | URL user will be redirected if payment cancelled Required for Stripe Checkout |
ยป external_reference | body | string | false | External reference for cash payment. Applicable and required only for Cash payment option for Admin. |
ยป method | body | string | true | Payment method type |
ยป pubkey | body | string | false | Optional: 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_url | body | string | false | URL user will be redirected after successful payment Required for Stripe Checkout |
ยป tracking_data | body | any | false | Optional: tracking data |
#
Enumerated ValuesParameter | Value |
---|---|
ยป method | Free |
ยป method | CoinbaseCommerce |
ยป method | Stripe |
ยป method | Cash |
ยป method | PayPal |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | DisplayOrder |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal 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 statusConvert pending payment cart back into Draft status
NOTE: user should have scope CartUpdate
#
Example POST /cart/convert_to_draft
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient()
val request = Request.Builder() .url("$apiBaseURL/cart/convert_to_draft") .addHeader("Accept", "*/*") .addHeader("Authorization,X-Api-Key", "API_KEY") .post() .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/cart/convert_to_draft")
var request = URLRequest(url: url!)
request.httpMethod = "POST"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | DisplayOrder |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal server error. | None |
Authentication
To perform this operation, you must be authenticated by means of one of the following methods: apiKey
#
Apply promo codeApply promo code
NOTE: user should have scope CartUpdate
Can only be applied to pending payment carts
#
Example POST /cart/promo_code
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient() val requestBody = """{ "code": "string"} """.toRequestBody("application/json; charset=utf-8".toMediaType())
val request = Request.Builder() .url("$apiBaseURL/cart/promo_code") .addHeader("Content-Type", "application/json") .addHeader("Accept", "*/*") .addHeader("Authorization,X-Api-Key", "API_KEY") .post(requestBody) .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/cart/promo_code")
let requestBody = """{ "code": "string"}"""
var request = URLRequest(url: url!)
request.httpMethod = "POST"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = requestBody.data(using: .utf8)
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
Body parameter{ "code": "string"}
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
body | body | ApplyPromoCodeRequest | true | none |
ยป code | body | string | true | Code to apply |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | DisplayOrder |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal 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 userFetch payment methods for the user
NOTE: user should have scope PaymentMethodRead
#
Example GET /payment_methods
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient()
val request = Request.Builder() .url("$apiBaseURL/payment_methods") .addHeader("Accept", "*/*") .addHeader("Authorization,X-Api-Key", "API_KEY") .get() .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/payment_methods")
var request = URLRequest(url: url!)
request.httpMethod = "GET"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal server error. | None |
#
Response SchemaStatus Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [PaymentMethod] | false | none | none |
ยป brand | string | false | none | none |
ยป country | string | false | none | none |
ยป exp_month | integer(int32) | false | none | none |
ยป exp_year | integer(int32) | false | none | none |
ยป id | string | true | none | none |
ยป last4 | string | false | none | none |
ยป payment_type | string | true | none | none |
Authentication
To perform this operation, you must be authenticated by means of one of the following methods: apiKey
#
Delete payment methodDelete payment method
NOTE: user should have scope PaymentMethodDestroy
#
Example DELETE /payment_methods/{id}
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient()
val request = Request.Builder() .url("$apiBaseURL/payment_methods/{id}") .addHeader("Accept", "*/*") .addHeader("Authorization,X-Api-Key", "API_KEY") .delete() .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/payment_methods/{id}")
var request = URLRequest(url: url!)
request.httpMethod = "DELETE"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | none |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PaymentMethod |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal server error. | None |
Authentication
To perform this operation, you must be authenticated by means of one of the following methods: apiKey
#
EmojiEmoji endpoints. Endpoints to interact with the supported Emoji character sets.
#
List of supported emoji charactersList of supported emoji characters
Result is an array of emojis ["๐","๐"]
#
Example GET /emoji
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient()
val request = Request.Builder() .url("$apiBaseURL/emoji") .addHeader("Accept", "*/*") .get() .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/emoji")
var request = URLRequest(url: url!)
request.httpMethod = "GET"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal server error. | None |
#
Response Schemanote
This operation does not require authentication
#
Emoji IDEndpoints 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 IdsList 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
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient()
val request = Request.Builder() .url("$apiBaseURL/emoji_id") .addHeader("Accept", "*/*") .addHeader("Authorization,X-Api-Key", "API_KEY") .get() .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/emoji_id")
var request = URLRequest(url: url!)
request.httpMethod = "GET"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
organization_id | query | string(uuid) | false | Lookup emojis owned by organization_id , requires organization power user role |
user_id | query | string(uuid) | false | Lookup emojis owned by user_id , requires Admin role |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal server error. | None |
#
Response SchemaStatus Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [EmojiId] | false | none | [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 IdsList 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
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient()
val request = Request.Builder() .url("$apiBaseURL/emoji_id/extended") .addHeader("Accept", "*/*") .addHeader("Authorization,X-Api-Key", "API_KEY") .get() .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/emoji_id/extended")
var request = URLRequest(url: url!)
request.httpMethod = "GET"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
organization_id | query | string(uuid) | false | Lookup emojis owned by organization_id , requires organization power user role |
user_id | query | string(uuid) | false | Lookup emojis owned by user_id , requires Admin role |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal server error. | None |
#
Response SchemaStatus Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [EmojiListItem] | false | none | [EmojiId in canonical and display representations] |
ยป blocked_until | string(date-time) | false | none | none |
ยป canonical_format | string | true | none | none |
ยป chain_format | string | true | none | none |
ยป display_format | string | true | none | none |
ยป flippable_emoji | [boolean] | true | none | none |
ยป generation | integer(int32) | true | none | none |
ยป minted | boolean | true | none | none |
ยป rhythm_score | integer(int32) | true | none | none |
ยป shape | object | true | none | none |
ยปยป pattern | any | false | none | none |
ยปยป shape | string | false | none | none |
ยป shortname | string | true | none | none |
ยป token_id | integer(int64) | false | none | none |
#
Enumerated ValuesProperty | Value |
---|---|
shape | Repeaters |
shape | Eye Heart |
shape | Bookends |
shape | Adoptables |
Authentication
To perform this operation, you must be authenticated by means of one of the following methods: apiKey
#
Return random EmojiReturn random Emoji
Returns price, availability and other information for random emoji
#
Example GET /emoji_id/random
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient()
val request = Request.Builder() .url("$apiBaseURL/emoji_id/random") .addHeader("Accept", "*/*") .addHeader("Authorization", "API_KEY") .get() .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/emoji_id/random")
var request = URLRequest(url: url!)
request.httpMethod = "GET"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | RandomResult |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal 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 emojiReturn list of recently purchased emoji
#
Example GET /emoji_id/recent
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient()
val request = Request.Builder() .url("$apiBaseURL/emoji_id/recent") .addHeader("Accept", "*/*") .addHeader("Authorization", "API_KEY") .get() .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/emoji_id/recent")
var request = URLRequest(url: url!)
request.httpMethod = "GET"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | RecentlyPurchasedResult |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal server error. | None |
Authentication
To perform this operation, you must be authenticated by means of one of the following methods: JWT
#
Search for EmojiIDSearch for EmojiID
Returns price, availability and other information on emoji and its alternates (similar EmojiIDs that are currently available)
#
Example GET /emoji_id/search
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient()
val request = Request.Builder() .url("$apiBaseURL/emoji_id/search?emoji_id=string") .addHeader("Accept", "*/*") .addHeader("Authorization", "API_KEY") .get() .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/emoji_id/search?emoji_id=string")
var request = URLRequest(url: url!)
request.httpMethod = "GET"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
emoji_id | query | string | true | Emoji ID in percent url-encoded form |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | SearchResult |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal 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 YatJsonStoreKeysLoad 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
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient()
val request = Request.Builder() .url("$apiBaseURL/emoji_id/{eid}/json") .addHeader("Accept", "*/*") .get() .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/emoji_id/{eid}/json")
var request = URLRequest(url: url!)
request.httpMethod = "GET"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
eid | path | string | true | none |
keys | query | array[any] | true | Key to store data |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal server error. | None |
#
Response SchemaStatus Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ยป additionalProperties | LoadJsonResponse | false | none | none |
ยปยป created_at | string(date-time) | true | none | Created at time for the record |
ยปยป data | any | true | none | Data value stored by key and EmojiID If there is no value for the key an empty object {} is returned |
ยปยป is_locked | boolean | true | none | Data is locked |
ยปยป locked_future_writes_at | string(date-time) | false | none | Time the record was locked from future writes |
ยปยป updated_at | string(date-time) | true | none | Updated at time for the record |
note
This operation does not require authentication
#
Load value from EmojiId key value storeLoad 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}
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient()
val request = Request.Builder() .url("$apiBaseURL/emoji_id/{eid}/json/{key}") .addHeader("Accept", "*/*") .get() .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/emoji_id/{eid}/json/{key}")
var request = URLRequest(url: url!)
request.httpMethod = "GET"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
eid | path | string | true | EmojiID |
key | path | string | true | Key to store data |
#
Enumerated ValuesParameter | Value |
---|---|
key | YatPageData |
key | YatLinkData |
key | VisualizerData |
key | VisualizerName |
key | VisualizerFileLocations |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | LoadJsonResponse |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal server error. | None |
note
This operation does not require authentication
#
Store value under EmojiId keyStore 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}
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient() val requestBody = """{ "data": null, "linked_tags": [ { "data": "127.0.0.1", "tag": "0x4101" } ]} """.toRequestBody("application/json; charset=utf-8".toMediaType())
val request = Request.Builder() .url("$apiBaseURL/emoji_id/{eid}/json/{key}") .addHeader("Content-Type", "application/json") .addHeader("Authorization,X-Api-Key", "API_KEY") .post(requestBody) .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/emoji_id/{eid}/json/{key}")
let requestBody = """{ "data": null, "linked_tags": [ { "data": "127.0.0.1", "tag": "0x4101" } ]}"""
var request = URLRequest(url: url!)
request.httpMethod = "POST"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = requestBody.data(using: .utf8)
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
Body parameter{ "data": null, "linked_tags": [ { "data": "127.0.0.1", "tag": "0x4101" } ]}
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
eid | path | string | true | EmojiID |
key | path | string | true | Key to store data |
body | body | StoreJsonBody | true | none |
ยป data | body | any | true | Data value allows to store any Json value, limited by 250Kb |
ยป linked_tags | body | [any] | false | Link tag items as part of the transaction All previously linked tags not present in new request will be deleted |
ยปยป data | body | string | true | Category data in text format |
ยปยป tag | body | string | true | Category ID as a hex number |
#
Enumerated ValuesParameter | Value |
---|---|
key | YatPageData |
key | YatLinkData |
key | VisualizerData |
key | VisualizerName |
key | VisualizerFileLocations |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal server error. | None |
Authentication
To perform this operation, you must be authenticated by means of one of the following methods: apiKey
#
Get statistics for EmojiIdGet statistics for EmojiId
#
Example GET /emoji_id/{eid}/stats
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient()
val request = Request.Builder() .url("$apiBaseURL/emoji_id/{eid}/stats") .addHeader("Accept", "*/*") .addHeader("Authorization,X-Api-Key", "API_KEY") .get() .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/emoji_id/{eid}/stats")
var request = URLRequest(url: url!)
request.httpMethod = "GET"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
eid | path | string | true | none |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | EmojiStatsResponse |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal server error. | None |
Authentication
To perform this operation, you must be authenticated by means of one of the following methods: apiKey
#
Lookup EmojiIdLookup 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}
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient()
val request = Request.Builder() .url("$apiBaseURL/emoji_id/{emoji_id}") .addHeader("Accept", "*/*") .addHeader("Authorization", "API_KEY") .get() .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/emoji_id/{emoji_id}")
var request = URLRequest(url: url!)
request.httpMethod = "GET"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
emoji_id | path | string | true | none |
tags | query | string | false | Comma-separated list of tags to display, skip it to display all, e.g. ?tags=0x0001,0x1001 |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | LookupResponse |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal server error. | None |
Authentication
To perform this operation, you must be authenticated by means of one of the following methods: JWT
#
Edit EmojiIdEdit 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}
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient() val requestBody = """{ "bypass_single_restrictions": true, "delete": [ "5aaf5eac326102cf208e397f15534f0b89747b2263f47857b1d797275ce7e944" ], "insert": [ { "data": "127.0.0.1", "tag": "0x4101" } ], "merkle_root": "916ea8882cdbe350ca9cec48680e4bf37d75930d8d033bed57128c0809537336", "signature": "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"} """.toRequestBody("application/json; charset=utf-8".toMediaType())
val request = Request.Builder() .url("$apiBaseURL/emoji_id/{emoji_id}") .addHeader("Content-Type", "application/json") .addHeader("Accept", "*/*") .addHeader("Authorization,X-Api-Key", "API_KEY") .patch(requestBody) .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/emoji_id/{emoji_id}")
let requestBody = """{ "bypass_single_restrictions": true, "delete": [ "5aaf5eac326102cf208e397f15534f0b89747b2263f47857b1d797275ce7e944" ], "insert": [ { "data": "127.0.0.1", "tag": "0x4101" } ], "merkle_root": "916ea8882cdbe350ca9cec48680e4bf37d75930d8d033bed57128c0809537336", "signature": "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"}"""
var request = URLRequest(url: url!)
request.httpMethod = "PATCH"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = requestBody.data(using: .utf8)
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
Body parameter{ "bypass_single_restrictions": true, "delete": [ "5aaf5eac326102cf208e397f15534f0b89747b2263f47857b1d797275ce7e944" ], "insert": [ { "data": "127.0.0.1", "tag": "0x4101" } ], "merkle_root": "916ea8882cdbe350ca9cec48680e4bf37d75930d8d033bed57128c0809537336", "signature": "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"}
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
emoji_id | path | string | true | none |
body | body | EditRequest | true | none |
ยป bypass_single_restrictions | body | boolean | false | Optional: Allow many addresses per Tag |
ยป delete | body | [string] | false | Optional: hashes of records to delete |
ยป insert | body | [any] | false | Optional: list of records to add |
ยปยป data | body | string | true | Category data in text format |
ยปยป tag | body | string | true | Category ID as a hex number |
ยป merkle_root | body | string | false | Optional: merkle root (use WASM to generate) |
ยป signature | body | string | false | Optional: signature (use WASM to generate) |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal server error. | None |
#
Response SchemaAuthentication
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 mintedGenerates 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
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient() val requestBody = """{ "account": "string", "expiry": 0} """.toRequestBody("application/json; charset=utf-8".toMediaType())
val request = Request.Builder() .url("$apiBaseURL/emoji_id/{emoji_id}/generate_signature") .addHeader("Content-Type", "application/json") .addHeader("Accept", "*/*") .addHeader("Authorization", "API_KEY") .post(requestBody) .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/emoji_id/{emoji_id}/generate_signature")
let requestBody = """{ "account": "string", "expiry": 0}"""
var request = URLRequest(url: url!)
request.httpMethod = "POST"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = requestBody.data(using: .utf8)
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
Body parameter{ "account": "string", "expiry": 0}
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
emoji_id | path | string | true | none |
body | body | SignatureRequest | true | none |
ยป account | body | string | true | none |
ยป expiry | body | integer(int64) | false | none |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | SignatureResponse |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal 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
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient()
val request = Request.Builder() .url("$apiBaseURL/emoji_id/{emoji_id}/metadata") .addHeader("Accept", "*/*") .get() .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/emoji_id/{emoji_id}/metadata")
var request = URLRequest(url: url!)
request.httpMethod = "GET"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
emoji_id | path | string | true | none |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | ShapeMatch |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal server error. | None |
note
This operation does not require authentication
#
Lookup EmojiId Payment addressesLookup 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
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient()
val request = Request.Builder() .url("$apiBaseURL/emoji_id/{emoji_id}/payment") .addHeader("Accept", "*/*") .addHeader("Authorization", "API_KEY") .get() .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/emoji_id/{emoji_id}/payment")
var request = URLRequest(url: url!)
request.httpMethod = "GET"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
emoji_id | path | string | true | none |
tags | query | string | false | Comma-separated list of tags to display, skip it to display all, e.g. ?tags=0x0001,0x1001 |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PaymentAddressResponse |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal server error. | None |
Authentication
To perform this operation, you must be authenticated by means of one of the following methods: JWT
#
Calculate EmojiId rhythm scoreCalculate 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
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient()
val request = Request.Builder() .url("$apiBaseURL/emoji_id/{emoji_id}/rhythm") .addHeader("Accept", "*/*") .get() .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/emoji_id/{emoji_id}/rhythm")
var request = URLRequest(url: url!)
request.httpMethod = "GET"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
emoji_id | path | string | true | none |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | RhythmResponse |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal server error. | None |
note
This operation does not require authentication
#
Lookup EmojiId data based on a symbol or tickerLookup EmojiId data based on a symbol or ticker
#
Example GET /emoji_id/{emoji_id}/{tag}
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient()
val request = Request.Builder() .url("$apiBaseURL/emoji_id/{emoji_id}/{tag}") .addHeader("Accept", "*/*") .addHeader("Authorization", "API_KEY") .get() .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/emoji_id/{emoji_id}/{tag}")
var request = URLRequest(url: url!)
request.httpMethod = "GET"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
emoji_id | path | string | true | none |
tag | path | string | true | none |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | EidResponse |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal 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}
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient()
val request = Request.Builder() .url("$apiBaseURL/nft_transfers/metadata/{token_id}") .addHeader("Accept", "*/*") .get() .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/nft_transfers/metadata/{token_id}")
var request = URLRequest(url: url!)
request.httpMethod = "GET"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
token_id | path | integer(int64) | true | none |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Metadata |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal server error. | None |
note
This operation does not require authentication
#
Redirect by EmojiId linkRedirect by EmojiId link
Will redirect to a link if it is part of Emoji ID
#
Example GET /redirect
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient()
val request = Request.Builder() .url("$apiBaseURL/redirect?emoji_id=string&link=string") .addHeader("Authorization", "API_KEY") .get() .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/redirect?emoji_id=string&link=string")
var request = URLRequest(url: url!)
request.httpMethod = "GET"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
emoji_id | query | string | true | none |
link | query | string | true | none |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal server error. | None |
Authentication
To perform this operation, you must be authenticated by means of one of the following methods: JWT
#
LootBoxesLootboxes usage endpoints.
#
Fetch lootboxesFetch lootboxes
Return lootboxes with their usage and availability information NOTE: user should have scope LootBoxAdmin
or LootBoxUse
#
Example GET /lootboxes
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient()
val request = Request.Builder() .url("$apiBaseURL/lootboxes") .addHeader("Accept", "*/*") .addHeader("Authorization,X-Api-Key", "API_KEY") .get() .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/lootboxes")
var request = URLRequest(url: url!)
request.httpMethod = "GET"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
dir | query | string | false | none |
limit | query | integer(int32) | false | none |
owner_id | query | string(uuid) | false | Search by LootBox owner |
page | query | integer(int32) | false | none |
sort | query | string | false | none |
status | query | string | false | Search for LootBoxes by status |
#
Enumerated ValuesParameter | Value |
---|---|
dir | Asc |
dir | Desc |
status | Draft |
status | Available |
status | Owned |
status | Used |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | ListOfPublicLootBox |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal server error. | None |
Authentication
To perform this operation, you must be authenticated by means of one of the following methods: apiKey
#
Create a new lootboxCreate a new lootbox
NOTE: user should have scope AdminLootBoxWrite
#
Example POST /lootboxes
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient() val requestBody = """{ "owner_email": "string", "owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05", "status": "Draft", "yats": [ "๐ฑ๐๐๐ด๐ต" ]} """.toRequestBody("application/json; charset=utf-8".toMediaType())
val request = Request.Builder() .url("$apiBaseURL/lootboxes") .addHeader("Content-Type", "application/json") .addHeader("Accept", "*/*") .addHeader("Authorization", "API_KEY") .post(requestBody) .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/lootboxes")
let requestBody = """{ "owner_email": "string", "owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05", "status": "Draft", "yats": [ "๐ฑ๐๐๐ด๐ต" ]}"""
var request = URLRequest(url: url!)
request.httpMethod = "POST"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = requestBody.data(using: .utf8)
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
Body parameter{ "owner_email": "string", "owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05", "status": "Draft", "yats": [ "๐ฑ๐๐๐ด๐ต" ]}
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
body | body | AdminNewLootBoxBody | true | none |
ยป owner_email | body | string | false | Assign lootbox an owner with matching email Should not be set if owner_id is set |
ยป owner_id | body | string(uuid) | false | Lootbox owner_id, required for Owned and Used lootboxes |
ยป status | body | string | true | Status lootbox will be created in If status is Used lootbox with be automatically opened |
ยป yats | body | [string] | true | LootBox emoji IDs |
#
Enumerated ValuesParameter | Value |
---|---|
ยป status | Draft |
ยป status | Available |
ยป status | Owned |
ยป status | Used |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicLootBox |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal 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 lootboxShow 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}
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient()
val request = Request.Builder() .url("$apiBaseURL/lootboxes/{id}") .addHeader("Accept", "*/*") .addHeader("Authorization,X-Api-Key", "API_KEY") .get() .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/lootboxes/{id}")
var request = URLRequest(url: url!)
request.httpMethod = "GET"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
id | path | string(uuid) | true | none |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicLootBox |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal server error. | None |
Authentication
To perform this operation, you must be authenticated by means of one of the following methods: apiKey
#
Delete a lootboxDelete a lootbox
NOTE: user should have scope AdminLootBoxWrite
#
Example DELETE /lootboxes/{id}
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient()
val request = Request.Builder() .url("$apiBaseURL/lootboxes/{id}") .addHeader("Accept", "*/*") .addHeader("Authorization", "API_KEY") .delete() .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/lootboxes/{id}")
var request = URLRequest(url: url!)
request.httpMethod = "DELETE"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
id | path | string(uuid) | true | none |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicLootBox |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal server error. | None |
Authentication
To perform this operation, you must be authenticated by means of one of the following methods: two_factor
#
Update a lootboxUpdate a lootbox
NOTE: user should have scope AdminLootBoxWrite
#
Example PATCH /lootboxes/{id}
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient() val requestBody = """{ "owner_email": "string", "owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05", "status": "Draft", "yats": [ "๐ฑ๐๐๐ด๐ต" ]} """.toRequestBody("application/json; charset=utf-8".toMediaType())
val request = Request.Builder() .url("$apiBaseURL/lootboxes/{id}") .addHeader("Content-Type", "application/json") .addHeader("Accept", "*/*") .addHeader("Authorization", "API_KEY") .patch(requestBody) .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/lootboxes/{id}")
let requestBody = """{ "owner_email": "string", "owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05", "status": "Draft", "yats": [ "๐ฑ๐๐๐ด๐ต" ]}"""
var request = URLRequest(url: url!)
request.httpMethod = "PATCH"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = requestBody.data(using: .utf8)
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
Body parameter{ "owner_email": "string", "owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05", "status": "Draft", "yats": [ "๐ฑ๐๐๐ด๐ต" ]}
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
id | path | string(uuid) | true | none |
body | body | AdminUpdateLootBoxBody | true | none |
ยป owner_email | body | string | false | Assign lootbox an owner with matching email Should not be set if owner_id is set |
ยป owner_id | body | string(uuid) | false | Assign lootbox an owner, if set requires status Owned |
ยป status | body | string | false | Update status If status is Used lootbox with be automatically opened |
ยป yats | body | [string] | false | LootBox emoji IDs |
#
Enumerated ValuesParameter | Value |
---|---|
ยป status | Draft |
ยป status | Available |
ยป status | Owned |
ยป status | Used |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicLootBox |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal server error. | None |
Authentication
To perform this operation, you must be authenticated by means of one of the following methods: two_factor
#
Open lootboxOpen lootbox
Will reassign all yats to user and return full lootbox view NOTE: user should have scope LootBoxUse
#
Example POST /lootboxes/{id}/open
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient()
val request = Request.Builder() .url("$apiBaseURL/lootboxes/{id}/open") .addHeader("Accept", "*/*") .addHeader("Authorization,X-Api-Key", "API_KEY") .post() .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/lootboxes/{id}/open")
var request = URLRequest(url: url!)
request.httpMethod = "POST"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
id | path | string(uuid) | true | none |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicLootBox |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal server error. | None |
Authentication
To perform this operation, you must be authenticated by means of one of the following methods: apiKey
#
User InterestUser Interest endpoints. Endpoints for users to express interest in Emoji IDs.
#
Returns a paginated list of user interest records associated with the userReturns a paginated list of user interest records associated with the user
NOTE: user should have scope UserInterestRead
#
Example GET /user_interests
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient()
val request = Request.Builder() .url("$apiBaseURL/user_interests") .addHeader("Accept", "*/*") .addHeader("Authorization,X-Api-Key", "API_KEY") .get() .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/user_interests")
var request = URLRequest(url: url!)
request.httpMethod = "GET"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
dir | query | string | false | none |
limit | query | integer(int32) | false | none |
page | query | integer(int32) | false | none |
sort | query | string | false | none |
#
Enumerated ValuesParameter | Value |
---|---|
dir | Asc |
dir | Desc |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | ListOfUserInterest |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal 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 availableCreate new interest in emoji to be notified when available
NOTE: user should have scope UserInterestWrite
#
Example POST /user_interests
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient() val requestBody = """{ "emoji_id": "๐ฑ๐๐๐ด๐ต"} """.toRequestBody("application/json; charset=utf-8".toMediaType())
val request = Request.Builder() .url("$apiBaseURL/user_interests") .addHeader("Content-Type", "application/json") .addHeader("Accept", "*/*") .addHeader("Authorization,X-Api-Key", "API_KEY") .post(requestBody) .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/user_interests")
let requestBody = """{ "emoji_id": "๐ฑ๐๐๐ด๐ต"}"""
var request = URLRequest(url: url!)
request.httpMethod = "POST"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = requestBody.data(using: .utf8)
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
Body parameter{ "emoji_id": "๐ฑ๐๐๐ด๐ต"}
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
body | body | NewUserInterestParameters | true | none |
ยป emoji_id | body | string | true | Emoji ID to express interest in |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | UserInterest |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal 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 userGiven 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}
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient()
val request = Request.Builder() .url("$apiBaseURL/user_interests/{emoji_id}") .addHeader("Accept", "*/*") .addHeader("Authorization,X-Api-Key", "API_KEY") .get() .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/user_interests/{emoji_id}")
var request = URLRequest(url: url!)
request.httpMethod = "GET"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
emoji_id | path | string | true | none |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | UserInterest |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal 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 userDestroys 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}
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient()
val request = Request.Builder() .url("$apiBaseURL/user_interests/{emoji_id}") .addHeader("Accept", "*/*") .addHeader("Authorization,X-Api-Key", "API_KEY") .delete() .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/user_interests/{emoji_id}")
var request = URLRequest(url: url!)
request.httpMethod = "DELETE"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
emoji_id | path | string | true | none |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | UserInterest |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal server error. | None |
Authentication
To perform this operation, you must be authenticated by means of one of the following methods: apiKey
#
UsersUser Management. Only applicable for users with custodial wallets.
#
Current user accountCurrent user account
Displays the currently logged in user account details.
#
Example GET /account
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient()
val request = Request.Builder() .url("$apiBaseURL/account") .addHeader("Accept", "*/*") .addHeader("Authorization,X-Api-Key", "API_KEY") .get() .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/account")
var request = URLRequest(url: url!)
request.httpMethod = "GET"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | CurrentUser |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal 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 userUpdate the currently logged in user
NOTE: user should have scope UserWriteSelf
#
Example PATCH /account
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient() val requestBody = """{ "current_password": "string", "email": "string", "first_name": "string", "last_name": "string", "password": "string"} """.toRequestBody("application/json; charset=utf-8".toMediaType())
val request = Request.Builder() .url("$apiBaseURL/account") .addHeader("Content-Type", "application/json") .addHeader("Accept", "*/*") .addHeader("Authorization", "API_KEY") .patch(requestBody) .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/account")
let requestBody = """{ "current_password": "string", "email": "string", "first_name": "string", "last_name": "string", "password": "string"}"""
var request = URLRequest(url: url!)
request.httpMethod = "PATCH"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = requestBody.data(using: .utf8)
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
Body parameter{ "current_password": "string", "email": "string", "first_name": "string", "last_name": "string", "password": "string"}
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
body | body | UpdateUserParameters | true | none |
ยป current_password | body | string | false | Optional: Current password, must be provided if one exists |
ยป email | body | string | false | Optional: Email |
ยป first_name | body | string | false | Optional: First name |
ยป last_name | body | string | false | Optional: Last name |
ยป password | body | string | false | Optional: User password |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | UpdateAccountResponse |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal 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 IDDisable choosen 2FA provider or disable completely using backup code and user primary ID
#
Example POST /account/2fa/backup_disable
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient() val requestBody = """{ "alternate_id": "string", "backup_code": "string", "disable_all": true, "email": "string", "provider": "GoogleAuthenticator"} """.toRequestBody("application/json; charset=utf-8".toMediaType())
val request = Request.Builder() .url("$apiBaseURL/account/2fa/backup_disable") .addHeader("Content-Type", "application/json") .addHeader("Accept", "*/*") .post(requestBody) .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/account/2fa/backup_disable")
let requestBody = """{ "alternate_id": "string", "backup_code": "string", "disable_all": true, "email": "string", "provider": "GoogleAuthenticator"}"""
var request = URLRequest(url: url!)
request.httpMethod = "POST"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = requestBody.data(using: .utf8)
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
Body parameter{ "alternate_id": "string", "backup_code": "string", "disable_all": true, "email": "string", "provider": "GoogleAuthenticator"}
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
body | body | BackupDisableBody | true | none |
ยป alternate_id | body | string | false | Alternate identifier |
ยป backup_code | body | string | true | Backup code |
ยป disable_all | body | boolean | false | Make this method default |
ยป email | body | string | false | |
ยป provider | body | string | false | Two factor authentication backend |
#
Enumerated ValuesParameter | Value |
---|---|
ยป provider | GoogleAuthenticator |
ยป provider | SMS |
ยป provider | undefined |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | SuccessResponse |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal server error. | None |
note
This operation does not require authentication
#
Confirm two factor authentication updateConfirm two factor authentication update
Match 2FA code and commit two factor authentication setting for user account
#
Example POST /account/2fa/confirm
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient() val requestBody = """{ "code": "string"} """.toRequestBody("application/json; charset=utf-8".toMediaType())
val request = Request.Builder() .url("$apiBaseURL/account/2fa/confirm") .addHeader("Content-Type", "application/json") .addHeader("Accept", "*/*") .addHeader("Authorization", "API_KEY") .post(requestBody) .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/account/2fa/confirm")
let requestBody = """{ "code": "string"}"""
var request = URLRequest(url: url!)
request.httpMethod = "POST"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = requestBody.data(using: .utf8)
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
Body parameter{ "code": "string"}
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
body | body | Confirm2FaUpdate | true | none |
ยป code | body | string | true | Auth code of new 2FA provider |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | SuccessResponse |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal 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 completelyDisable choosen 2FA provider or disable completely
#
Example POST /account/2fa/disable
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient() val requestBody = """{ "disable_all": true, "provider": "GoogleAuthenticator"} """.toRequestBody("application/json; charset=utf-8".toMediaType())
val request = Request.Builder() .url("$apiBaseURL/account/2fa/disable") .addHeader("Content-Type", "application/json") .addHeader("Accept", "*/*") .addHeader("Authorization", "API_KEY") .post(requestBody) .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/account/2fa/disable")
let requestBody = """{ "disable_all": true, "provider": "GoogleAuthenticator"}"""
var request = URLRequest(url: url!)
request.httpMethod = "POST"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = requestBody.data(using: .utf8)
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
Body parameter{ "disable_all": true, "provider": "GoogleAuthenticator"}
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
body | body | Disable2FABody | true | none |
ยป disable_all | body | boolean | true | Make this method default |
ยป provider | body | string | false | Two factor authentication backend |
#
Enumerated ValuesParameter | Value |
---|---|
ยป provider | GoogleAuthenticator |
ยป provider | SMS |
ยป provider | undefined |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | SuccessResponse |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal 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 methodEnables 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
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient() val requestBody = """{ "default": true, "phone": "string", "provider": "GoogleAuthenticator"} """.toRequestBody("application/json; charset=utf-8".toMediaType())
val request = Request.Builder() .url("$apiBaseURL/account/2fa/enable") .addHeader("Content-Type", "application/json") .addHeader("Accept", "*/*") .addHeader("Authorization", "API_KEY") .post(requestBody) .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/account/2fa/enable")
let requestBody = """{ "default": true, "phone": "string", "provider": "GoogleAuthenticator"}"""
var request = URLRequest(url: url!)
request.httpMethod = "POST"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = requestBody.data(using: .utf8)
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
Body parameter{ "default": true, "phone": "string", "provider": "GoogleAuthenticator"}
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
body | body | Enable2FABody | true | none |
ยป default | body | boolean | true | Make this method default |
ยป phone | body | string | false | Phone number required for SMS provider |
ยป provider | body | string | true | Two factor authentication backend |
#
Enumerated ValuesParameter | Value |
---|---|
ยป provider | GoogleAuthenticator |
ยป provider | SMS |
ยป provider | undefined |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Enable2FAResponse |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal 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 codeSend SMS 2FA code
If user has setup 2FA authentication via SMS this will trigger SMS with 2fa code
#
Example POST /account/2fa/sms_code
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient()
val request = Request.Builder() .url("$apiBaseURL/account/2fa/sms_code") .addHeader("Accept", "*/*") .post() .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/account/2fa/sms_code")
var request = URLRequest(url: url!)
request.httpMethod = "POST"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | SuccessResponse2FA |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal server error. | None |
note
This operation does not require authentication
#
Load user data for a sessionLoad user data for a session
Aggregates all the required data a user requires to start a web session
#
Example GET /account/load
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient()
val request = Request.Builder() .url("$apiBaseURL/account/load") .addHeader("Accept", "*/*") .addHeader("Authorization,X-Api-Key", "API_KEY") .get() .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/account/load")
var request = URLRequest(url: url!)
request.httpMethod = "GET"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
organization_id | query | string(uuid) | false | Lookup emojis owned by organization_id , requires organization power user role |
user_id | query | string(uuid) | false | Lookup emojis owned by user_id , requires Admin role |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | LoadUser |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal server error. | None |
Authentication
To perform this operation, you must be authenticated by means of one of the following methods: apiKey
#
List usersList users
NOTE: user should have scope UserList
#
Example GET /users
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient()
val request = Request.Builder() .url("$apiBaseURL/users") .addHeader("Accept", "*/*") .addHeader("Authorization", "API_KEY") .get() .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/users")
var request = URLRequest(url: url!)
request.httpMethod = "GET"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
dir | query | string | false | none |
limit | query | integer(int32) | false | none |
page | query | integer(int32) | false | none |
sort | query | string | false | none |
#
Enumerated ValuesParameter | Value |
---|---|
dir | Asc |
dir | Desc |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | ListOfDisplayUserExtended |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal server error. | None |
Authentication
To perform this operation, you must be authenticated by means of one of the following methods: two_factor
#
Register a UserRegister a User
Create a user and a custodial wallet
#
Example POST /users
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient() val requestBody = """{ "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"} """.toRequestBody("application/json; charset=utf-8".toMediaType())
val request = Request.Builder() .url("$apiBaseURL/users") .addHeader("Content-Type", "application/json") .addHeader("Accept", "*/*") .post(requestBody) .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/users")
let requestBody = """{ "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"}"""
var request = URLRequest(url: url!)
request.httpMethod = "POST"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = requestBody.data(using: .utf8)
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
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"}
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
body | body | RegisterUserParameters | true | none |
ยป activate | body | boolean | false | Optional: Whether to force activation during creation (requires UserActivate scope) |
ยป activation_source | body | string | false | Optional: Source of activation (requires UserActivate scope) |
ยป alternate_id | body | string | false | Alternate identifier |
ยป email | body | string | false | Email address |
ยป first_name | body | string | false | Optional: first name |
ยป g_recaptcha_response | body | string | false | Response from google Recaptcha |
ยป last_name | body | string | false | Optional: last name |
ยป partner_conversion_id | body | string | false | Parameter to pass everflow click id |
ยป password | body | string | false | Optional: password |
ยป source | body | string | false | Required when registering with alternate_id , source for non custodial user |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | TokenResponse |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal server error. | None |
note
This operation does not require authentication
#
Show usersShow users
NOTE: user should have scope UserShow
#
Example GET /users/{id}
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient()
val request = Request.Builder() .url("$apiBaseURL/users/{id}") .addHeader("Accept", "*/*") .addHeader("Authorization", "API_KEY") .get() .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/users/{id}")
var request = URLRequest(url: url!)
request.httpMethod = "GET"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
id | path | string(uuid) | true | none |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | DisplayUserExtended |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal server error. | None |
Authentication
To perform this operation, you must be authenticated by means of one of the following methods: two_factor
#
Delete a userDelete a user
NOTE: user should have scope UserDeleteSelf
if deleting themselves, UserDelete
is needed for other users
#
Example DELETE /users/{id}
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient()
val request = Request.Builder() .url("$apiBaseURL/users/{id}") .addHeader("Accept", "*/*") .addHeader("Authorization,X-Api-Key", "API_KEY") .delete() .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/users/{id}")
var request = URLRequest(url: url!)
request.httpMethod = "DELETE"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
id | path | string(uuid) | true | none |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | DisplayUser |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal 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 adminUpdate a user as an admin
NOTE: user should have scope UserWrite
#
Example PATCH /users/{id}
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient() val requestBody = """{ "activation_source": "string", "current_password": "string", "email": "string", "first_name": "string", "free_limit": 0, "last_name": "string", "password": "string", "role": "Admin"} """.toRequestBody("application/json; charset=utf-8".toMediaType())
val request = Request.Builder() .url("$apiBaseURL/users/{id}") .addHeader("Content-Type", "application/json") .addHeader("Accept", "*/*") .addHeader("Authorization", "API_KEY") .patch(requestBody) .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/users/{id}")
let requestBody = """{ "activation_source": "string", "current_password": "string", "email": "string", "first_name": "string", "free_limit": 0, "last_name": "string", "password": "string", "role": "Admin"}"""
var request = URLRequest(url: url!)
request.httpMethod = "PATCH"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = requestBody.data(using: .utf8)
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
Body parameter{ "activation_source": "string", "current_password": "string", "email": "string", "first_name": "string", "free_limit": 0, "last_name": "string", "password": "string", "role": "Admin"}
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
id | path | string(uuid) | true | none |
body | body | AdminUpdateUserParameters | true | none |
ยป activation_source | body | string | false | Optional: Source of activation |
ยป current_password | body | string | false | Optional: Current password, must be provided if one exists |
ยป email | body | string | false | Optional: Email |
ยป first_name | body | string | false | Optional: First name |
ยป free_limit | body | integer(int32) | false | Optional: Free limit for how many yats the user may purchase |
ยป last_name | body | string | false | Optional: Last name |
ยป password | body | string | false | Optional: User password |
ยป role | body | string | false | Optional: Update the user role |
#
Enumerated ValuesParameter | Value |
---|---|
ยป role | Admin |
ยป role | OrgController |
ยป role | OrgMember |
ยป role | OrgOwner |
ยป role | Bot |
ยป role | Super |
ยป role | User |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | DisplayUser |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal server error. | None |
Authentication
To perform this operation, you must be authenticated by means of one of the following methods: two_factor
#
Key ManagementManage a user's public keys
#
Retrieve pubkeysRetrieve pubkeys
Retrieves pubkeys owned by currently authenticated user. This call expects empty body.
#
Example GET /pubkeys
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient()
val request = Request.Builder() .url("$apiBaseURL/pubkeys") .addHeader("Accept", "*/*") .addHeader("Authorization,X-Api-Key", "API_KEY") .get() .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/pubkeys")
var request = URLRequest(url: url!)
request.httpMethod = "GET"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal server error. | None |
#
Response SchemaStatus Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [Pubkey] | false | none | [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 walletGenerate custodial wallet
Generates custodial wallet with pubkey for currently authenticated user. This call expects empty body.
#
Example POST /pubkeys
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient()
val request = Request.Builder() .url("$apiBaseURL/pubkeys") .addHeader("Accept", "*/*") .addHeader("Authorization", "API_KEY") .post() .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/pubkeys")
var request = URLRequest(url: url!)
request.httpMethod = "POST"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Pubkey |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal 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 userAdd pubkey for current user
This call expects empty body
#
Example POST /pubkeys/{pubkey}
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient()
val request = Request.Builder() .url("$apiBaseURL/pubkeys/{pubkey}") .addHeader("Accept", "*/*") .addHeader("Authorization", "API_KEY") .post() .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/pubkeys/{pubkey}")
var request = URLRequest(url: url!)
request.httpMethod = "POST"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
pubkey | path | string | true | none |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Pubkey |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal 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_idRetrieve pubkeys by user_id
NOTE: user should have scope UserPubkeyList
#
Example GET /users/{user_id}/pubkeys
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient()
val request = Request.Builder() .url("$apiBaseURL/users/{user_id}/pubkeys") .addHeader("Accept", "*/*") .addHeader("Authorization,X-Api-Key", "API_KEY") .get() .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/users/{user_id}/pubkeys")
var request = URLRequest(url: url!)
request.httpMethod = "GET"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
user_id | path | string(uuid) | true | none |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal server error. | None |
#
Response SchemaStatus Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [Pubkey] | false | none | [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_idAdd pubkey for user by user_id
NOTE: user should have scope UserPubkeyWrite
This call expects empty body
#
Example POST /users/{user_id}/pubkeys/{pubkey}
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient()
val request = Request.Builder() .url("$apiBaseURL/users/{user_id}/pubkeys/{pubkey}") .addHeader("Accept", "*/*") .addHeader("Authorization", "API_KEY") .post() .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/users/{user_id}/pubkeys/{pubkey}")
var request = URLRequest(url: url!)
request.httpMethod = "POST"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
user_id | path | string | true | Public key to add |
pubkey | path | string(uuid) | true | user_id to grant public key ownership to |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Pubkey |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal server error. | None |
Authentication
To perform this operation, you must be authenticated by means of one of the following methods: two_factor
#
TransferEmoji transfers between users.
#
List outgoing transfer requests for current or specified user If limit is omitted will display top 50 transfer requestsList outgoing transfer requests for current or specified user If limit is omitted will display top 50 transfer requests
#
Example GET /transfers
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient()
val request = Request.Builder() .url("$apiBaseURL/transfers") .addHeader("Accept", "*/*") .addHeader("Authorization,X-Api-Key", "API_KEY") .get() .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/transfers")
var request = URLRequest(url: url!)
request.httpMethod = "GET"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
accepted_after | query | string(date-time) | false | When set will display only requests accepted after provided datetime |
dir | query | string | false | none |
limit | query | integer(int32) | false | none |
page | query | integer(int32) | false | none |
sender_id | query | string(uuid) | false | Uuid of a sender |
sort | query | string | false | none |
#
Enumerated ValuesParameter | Value |
---|---|
dir | Asc |
dir | Desc |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | ListOfDisplayTransferRequest |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal 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 dataTransfer 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
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient() val requestBody = """{ "clear_on_transfer": true, "eid": "๐ฑ๐๐๐ด๐ต", "email": "string", "force_transfer": true, "message": "string"} """.toRequestBody("application/json; charset=utf-8".toMediaType())
val request = Request.Builder() .url("$apiBaseURL/transfers") .addHeader("Content-Type", "application/json") .addHeader("Accept", "*/*") .addHeader("Authorization,X-Api-Key", "API_KEY") .post(requestBody) .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/transfers")
let requestBody = """{ "clear_on_transfer": true, "eid": "๐ฑ๐๐๐ด๐ต", "email": "string", "force_transfer": true, "message": "string"}"""
var request = URLRequest(url: url!)
request.httpMethod = "POST"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = requestBody.data(using: .utf8)
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
Body parameter{ "clear_on_transfer": true, "eid": "๐ฑ๐๐๐ด๐ต", "email": "string", "force_transfer": true, "message": "string"}
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
body | body | TransferRequest | true | none |
ยป clear_on_transfer | body | boolean | true | Clear emoji data when emoji transferred to destination |
ยป eid | body | string | true | none |
ยป email | body | string | true | Transfer to specified email, would register new user account if not existent |
ยป force_transfer | body | boolean | true | Admin can force transfer, for regular user it has no effect |
ยป message | body | string | false | Message displayed to recipient and included in the invitiation email |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | DisplayTransferRequest |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal 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 userList transfer requests assigned to user
#
Example GET /transfers/incoming
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient()
val request = Request.Builder() .url("$apiBaseURL/transfers/incoming?accepted=true") .addHeader("Accept", "*/*") .addHeader("Authorization,X-Api-Key", "API_KEY") .get() .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/transfers/incoming?accepted=true")
var request = URLRequest(url: url!)
request.httpMethod = "GET"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
accepted | query | boolean | true | Display accepted transfer requests. By default will display pending requests only. |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal server error. | None |
#
Response SchemaStatus Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [DisplayTransferRequest] | false | none | none |
ยป accepted_at | string(date-time) | false | none | none |
ยป clear_on_transfer | boolean | true | none | none |
ยป created_at | string(date-time) | true | none | none |
ยป deleted_at | string(date-time) | false | none | none |
ยป eid | string | true | none | none |
ยป email | string | true | none | none |
ยป id | string(uuid) | true | none | none |
ยป message | string | false | none | none |
ยป recipient_id | string(uuid) | true | none | none |
ยป sender_code_accepted_at | string(date-time) | false | none | none |
Authentication
To perform this operation, you must be authenticated by means of one of the following methods: apiKey
#
Mark transfer request as deletedMark 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}
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient()
val request = Request.Builder() .url("$apiBaseURL/transfers/{transfer_id}") .addHeader("Accept", "*/*") .addHeader("Authorization,X-Api-Key", "API_KEY") .delete() .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/transfers/{transfer_id}")
var request = URLRequest(url: url!)
request.httpMethod = "DELETE"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
transfer_id | path | string(uuid) | true | none |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | DisplayTransferRequest |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal 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
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient() val requestBody = """{ "code": "string"} """.toRequestBody("application/json; charset=utf-8".toMediaType())
val request = Request.Builder() .url("$apiBaseURL/transfers/{transfer_id}/receiver_accept") .addHeader("Content-Type", "application/json") .addHeader("Accept", "*/*") .addHeader("Authorization,X-Api-Key", "API_KEY") .post(requestBody) .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/transfers/{transfer_id}/receiver_accept")
let requestBody = """{ "code": "string"}"""
var request = URLRequest(url: url!)
request.httpMethod = "POST"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = requestBody.data(using: .utf8)
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
Body parameter{ "code": "string"}
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
transfer_id | path | string(uuid) | true | none |
body | body | AcceptTransfer | true | none |
ยป code | body | string | true | Confirmation OTP of either the sender or receiver of the transfer |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal server error. | None |
#
Response SchemaStatus Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [EmojiId] | false | none | [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
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient()
val request = Request.Builder() .url("$apiBaseURL/transfers/{transfer_id}/resend_code") .addHeader("Accept", "*/*") .addHeader("Authorization,X-Api-Key", "API_KEY") .post() .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/transfers/{transfer_id}/resend_code")
var request = URLRequest(url: url!)
request.httpMethod = "POST"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
transfer_id | path | string(uuid) | true | none |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal server error. | None |
#
Response SchemaAuthentication
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
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient() val requestBody = """{ "code": "string"} """.toRequestBody("application/json; charset=utf-8".toMediaType())
val request = Request.Builder() .url("$apiBaseURL/transfers/{transfer_id}/sender_accept") .addHeader("Content-Type", "application/json") .addHeader("Accept", "*/*") .addHeader("Authorization,X-Api-Key", "API_KEY") .post(requestBody) .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/transfers/{transfer_id}/sender_accept")
let requestBody = """{ "code": "string"}"""
var request = URLRequest(url: url!)
request.httpMethod = "POST"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = requestBody.data(using: .utf8)
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
Body parameter{ "code": "string"}
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
transfer_id | path | string(uuid) | true | none |
body | body | AcceptTransfer | true | none |
ยป code | body | string | true | Confirmation OTP of either the sender or receiver of the transfer |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | DisplayTransferRequest |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal 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 userLoad api keys for user
If query param user_id
is provided requires admin role.
#
Example GET /api_keys
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient()
val request = Request.Builder() .url("$apiBaseURL/api_keys") .addHeader("Accept", "*/*") .addHeader("Authorization", "API_KEY") .get() .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/api_keys")
var request = URLRequest(url: url!)
request.httpMethod = "GET"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
user_id | query | string(uuid) | false | User id for which api key should be applied |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal server error. | None |
#
Response SchemaStatus Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [DisplayApiKey] | false | none | none |
ยป api_key | string | true | none | none |
ยป created_at | string(date-time) | true | none | none |
ยป expires_at | string(date-time) | false | none | none |
ยป name | string | true | none | none |
ยป scopes | [string] | true | none | none |
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 userCreate new api key for current user
Requires scope CreateApiKey
. When query param user_id
is provided requires admin role.
#
Example POST /api_keys
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient() val requestBody = """{ "expires_at": "2019-08-24T14:15:22Z", "name": "string", "scopes": [ "adminCart:update" ]} """.toRequestBody("application/json; charset=utf-8".toMediaType())
val request = Request.Builder() .url("$apiBaseURL/api_keys") .addHeader("Content-Type", "application/json") .addHeader("Accept", "*/*") .addHeader("Authorization", "API_KEY") .post(requestBody) .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/api_keys")
let requestBody = """{ "expires_at": "2019-08-24T14:15:22Z", "name": "string", "scopes": [ "adminCart:update" ]}"""
var request = URLRequest(url: url!)
request.httpMethod = "POST"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = requestBody.data(using: .utf8)
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
Body parameter{ "expires_at": "2019-08-24T14:15:22Z", "name": "string", "scopes": [ "adminCart:update" ]}
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
user_id | query | string(uuid) | false | User id for which api key should be applied |
body | body | CreateApiKeyBody | true | none |
ยป expires_at | body | string(date-time) | false | none |
ยป name | body | string | true | none |
ยป scopes | body | [string] | false | none |
#
Enumerated ValuesParameter | Value |
---|---|
ยป scopes | adminCart:update |
ยป scopes | adminEmoji:destroy |
ยป scopes | adminEmoji:load |
ยป scopes | adminEmoji:register |
ยป scopes | adminEmoji:transfer |
ยป scopes | adminEmoji:updateFeatures |
ยป scopes | adminEmoji:updateSecureData |
ยป scopes | adminEmoji:write |
ยป scopes | adminFeatureUser:read |
ยป scopes | adminInvites:write |
ยป scopes | adminInvites:list |
ยป scopes | adminLootbox:read |
ยป scopes | adminLootbox:write |
ยป scopes | adminNotifications:write |
ยป scopes | adminUser:bypass2fa |
ยป scopes | adminUser:load |
ยป scopes | adminUser:loginAs |
ยป scopes | adminUser:twoFactorAuthDestroy |
ยป scopes | adminUser:roleUpdate |
ยป scopes | cart:show |
ยป scopes | cart:update |
ยป scopes | code:delete |
ยป scopes | code:read |
ยป scopes | code:write |
ยป scopes | user:createApiKey |
ยป scopes | domainAction:read |
ยป scopes | domainEvent:read |
ยป scopes | edition:delete |
ยป scopes | edition:read |
ยป scopes | edition:write |
ยป scopes | emojiGroups:delete |
ยป scopes | emojiGroups:read |
ยป scopes | emojiGroups:write |
ยป scopes | emoji::transfer |
ยป scopes | feature::delete |
ยป scopes | feature::read |
ยป scopes | feature::write |
ยป scopes | lootbox:use |
ยป scopes | order:paymentOverride |
ยป scopes | order:read |
ยป scopes | order:readSelf |
ยป scopes | order:refund |
ยป scopes | order:refundOverride |
ยป scopes | order:resendConfirmation |
ยป scopes | organization:admin |
ยป scopes | organizationCode:admin |
ยป scopes | organizationEmoji:list |
ยป scopes | organizationEmoji:write |
ยป scopes | organizationList:read |
ยป scopes | organization:read |
ยป scopes | organizationUser:admin |
ยป scopes | organizationUser:read |
ยป scopes | organization:write |
ยป scopes | nftSignature:write |
ยป scopes | nftToken:destroy |
ยป scopes | nftTransfer:read |
ยป scopes | paymentMethod:destroy |
ยป scopes | paymentMethod:read |
ยป scopes | paymentMethod:setDefault |
ยป scopes | adminPriceParameters:read |
ยป scopes | adminPriceParameters:write |
ยป scopes | refund:read |
ยป scopes | token:refresh |
ยป scopes | auth:twoFactor |
ยป scopes | user:activate |
ยป scopes | userData:update |
ยป scopes | user:delete |
ยป scopes | user:deleteSelf |
ยป scopes | userEmail:verify |
ยป scopes | userEmoji:list |
ยป scopes | userInterest:delete |
ยป scopes | userInterest:read |
ยป scopes | userInterest:write |
ยป scopes | user:list |
ยป scopes | userPubkeys:list |
ยป scopes | userPubkeys:write |
ยป scopes | user:show |
ยป scopes | user:write |
ยป scopes | user:writeSelf |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | DisplayApiKey |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal 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 keyDelete provided api key
When key does not belong to current user requires Admin access
#
Example DELETE /api_keys/{id}
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient()
val request = Request.Builder() .url("$apiBaseURL/api_keys/{id}") .addHeader("Accept", "*/*") .addHeader("Authorization", "API_KEY") .delete() .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/api_keys/{id}")
var request = URLRequest(url: url!)
request.httpMethod = "DELETE"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | none |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | DisplayApiKey |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal server error. | None |
Authentication
To perform this operation, you must be authenticated by means of one of the following methods: two_factor
#
Discounts#
Fetch codesFetch codes
Return codes with their usage and availability information NOTE: user should have scope OrganizationCodeAdmin
or CodeRead
#
Example GET /codes
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient()
val request = Request.Builder() .url("$apiBaseURL/codes") .addHeader("Accept", "*/*") .addHeader("Authorization,X-Api-Key", "API_KEY") .get() .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/codes")
var request = URLRequest(url: url!)
request.httpMethod = "GET"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
code_type | query | string | false | Optional: filter by code type |
dir | query | string | false | none |
limit | query | integer(int32) | false | none |
organization_id | query | string(uuid) | false | Optional: filter by organization id |
page | query | integer(int32) | false | none |
sort | query | string | false | none |
#
Enumerated ValuesParameter | Value |
---|---|
code_type | Discount |
code_type | RandomYat |
dir | Asc |
dir | Desc |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | ListOfCodeAvailability |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal server error. | None |
Authentication
To perform this operation, you must be authenticated by means of one of the following methods: apiKey
#
Add pubkey for codeAdd pubkey for code
NOTE: user should have scope OrganizationCodeAdmin
or CodeWrite
#
Example POST /codes/{code_id}/pubkeys/{pubkey}
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient()
val request = Request.Builder() .url("$apiBaseURL/codes/{code_id}/pubkeys/{pubkey}") .addHeader("Accept", "*/*") .addHeader("Authorization", "API_KEY") .post() .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/codes/{code_id}/pubkeys/{pubkey}")
var request = URLRequest(url: url!)
request.httpMethod = "POST"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
code_id | path | string(uuid) | true | none |
pubkey | path | string | true | Public key to authorize usage of a code |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Pubkey |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal 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 codeRevoke pubkey for code
NOTE: user should have scope OrganizationCodeAdmin
or CodeWrite
#
Example DELETE /codes/{code_id}/pubkeys/{pubkey}
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient()
val request = Request.Builder() .url("$apiBaseURL/codes/{code_id}/pubkeys/{pubkey}") .addHeader("Accept", "*/*") .addHeader("Authorization", "API_KEY") .delete() .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/codes/{code_id}/pubkeys/{pubkey}")
var request = URLRequest(url: url!)
request.httpMethod = "DELETE"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
code_id | path | string(uuid) | true | none |
pubkey | path | string | true | Public key to authorize usage of a code |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Pubkey |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal 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 codeUse random yat code
Creates cart with random yat
#
Example POST /codes/{code_id}/random_yat
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient() val requestBody = """{ "nonce": "string", "pubkey": "74dfa32b2c227ca2aa9ce3922a735669835443c1c36596795de1f48dbfaf7b2f", "signature": "string", "tracking_data": null} """.toRequestBody("application/json; charset=utf-8".toMediaType())
val request = Request.Builder() .url("$apiBaseURL/codes/{code_id}/random_yat") .addHeader("Content-Type", "application/json") .addHeader("Accept", "*/*") .addHeader("Authorization,X-Api-Key", "API_KEY") .post(requestBody) .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/codes/{code_id}/random_yat")
let requestBody = """{ "nonce": "string", "pubkey": "74dfa32b2c227ca2aa9ce3922a735669835443c1c36596795de1f48dbfaf7b2f", "signature": "string", "tracking_data": null}"""
var request = URLRequest(url: url!)
request.httpMethod = "POST"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = requestBody.data(using: .utf8)
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
Body parameter{ "nonce": "string", "pubkey": "74dfa32b2c227ca2aa9ce3922a735669835443c1c36596795de1f48dbfaf7b2f", "signature": "string", "tracking_data": null}
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
code_id | path | string(uuid) | true | none |
body | body | RandomYatActivateBody | true | none |
ยป nonce | body | string | true | Schnorr signature nonce as a hex string |
ยป pubkey | body | string | true | Public key to authorize usage of a code |
ยป signature | body | string | true | Schnorr signature as a hex with alternate_id as a challenge |
ยป tracking_data | body | any | false | Custom tracking data to be associated with a purchase |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | DisplayOrder |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal 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 categoriesList all loot box categories
NOTE: user must have scope AdminLootBoxRead
#
Example GET /lootbox_type
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient()
val request = Request.Builder() .url("$apiBaseURL/lootbox_type") .addHeader("Accept", "*/*") .addHeader("Authorization", "API_KEY") .get() .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/lootbox_type")
var request = URLRequest(url: url!)
request.httpMethod = "GET"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal server error. | None |
#
Response SchemaStatus Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [PublicLootBoxType] | false | none | [HTTP schema for an existing LootBoxType record] |
ยป config | object | true | none | The loot box type's configuration parameters |
ยปยป guarantees | [object] | true | none | A set of guaranteed drops in this loot box type |
ยปยปยป count | integer(int64) | true | none | The number of guaranteed drops of this type in the loot box |
ยปยปยป max_score | integer(int64) | true | none | The highest (inclusive) rhythm score range for guaranteed drop |
ยปยปยป min_score | integer(int64) | true | none | The lowest (inclusive) rhythm score range for guaranteed drop |
ยปยป max_base_score | integer(int64) | true | none | The upper bound (inclusive) rhythm score for standard yats in the loot box |
ยปยป max_length | integer(int64) | true | none | Maximum yat length |
ยปยป min_base_score | integer(int64) | true | none | The lower bound (inclusive) rhythm score for standard yats in the loot box |
ยปยป min_length | integer(int64) | true | none | Minimum yat length |
ยปยป size | integer(int64) | true | none | The number of yats in the loot box |
ยปยป weights | [object] | true | none | A set of probability weightings for chance-based drops |
ยปยปยป ipr | number(double) | true | none | The 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_score | integer(int64) | true | none | The highest (inclusive) rhythm score range for inclusion when the probability spec hits |
ยปยปยป min_score | integer(int64) | true | none | The lowest (inclusive) rhythm score range for inclusion when the probability spec hits |
ยป created_at | string(date-time) | true | none | The timestamp for when this loot box type was created |
ยป description | string | true | none | A more detailed description of the loot box type |
ยป id | string(uuid) | true | none | The loot box type id |
ยป name | string | true | none | The 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 categoryCreate a new lootbox category
NOTE: user must have scope AdminLootBoxWrite
#
Example POST /lootbox_type
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient() val requestBody = """{ "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"} """.toRequestBody("application/json; charset=utf-8".toMediaType())
val request = Request.Builder() .url("$apiBaseURL/lootbox_type") .addHeader("Content-Type", "application/json") .addHeader("Accept", "*/*") .addHeader("Authorization", "API_KEY") .post(requestBody) .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/lootbox_type")
let requestBody = """{ "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"}"""
var request = URLRequest(url: url!)
request.httpMethod = "POST"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = requestBody.data(using: .utf8)
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
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"}
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
body | body | AdminNewLootBoxType | true | none |
ยป config | body | object | true | The configuration parameters for the loot box type |
ยปยป guarantees | body | [object] | true | A set of guaranteed drops in this loot box type |
ยปยปยป count | body | integer(int64) | true | The number of guaranteed drops of this type in the loot box |
ยปยปยป max_score | body | integer(int64) | true | The highest (inclusive) rhythm score range for guaranteed drop |
ยปยปยป min_score | body | integer(int64) | true | The lowest (inclusive) rhythm score range for guaranteed drop |
ยปยป max_base_score | body | integer(int64) | true | The upper bound (inclusive) rhythm score for standard yats in the loot box |
ยปยป max_length | body | integer(int64) | true | Maximum yat length |
ยปยป min_base_score | body | integer(int64) | true | The lower bound (inclusive) rhythm score for standard yats in the loot box |
ยปยป min_length | body | integer(int64) | true | Minimum yat length |
ยปยป size | body | integer(int64) | true | The number of yats in the loot box |
ยปยป weights | body | [object] | true | A set of probability weightings for chance-based drops |
ยปยปยป ipr | body | number(double) | true | The 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_score | body | integer(int64) | true | The highest (inclusive) rhythm score range for inclusion when the probability spec hits |
ยปยปยป min_score | body | integer(int64) | true | The lowest (inclusive) rhythm score range for inclusion when the probability spec hits |
ยป description | body | string | true | A description for the loot box type |
ยป name | body | string | true | the name of the loot box type |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicLootBoxType |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal 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 boxesGenerates a set of loot boxes
NOTE: user must have scope AdminLootBoxWrite
#
Example POST /lootbox_type/generate
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient() val requestBody = """{ "loot_box_type_id": "304c4377-b66f-4c4c-8d3f-9284ec029078", "num_boxes": 0} """.toRequestBody("application/json; charset=utf-8".toMediaType())
val request = Request.Builder() .url("$apiBaseURL/lootbox_type/generate") .addHeader("Content-Type", "application/json") .addHeader("Accept", "*/*") .addHeader("Authorization", "API_KEY") .post(requestBody) .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/lootbox_type/generate")
let requestBody = """{ "loot_box_type_id": "304c4377-b66f-4c4c-8d3f-9284ec029078", "num_boxes": 0}"""
var request = URLRequest(url: url!)
request.httpMethod = "POST"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = requestBody.data(using: .utf8)
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
Body parameter{ "loot_box_type_id": "304c4377-b66f-4c4c-8d3f-9284ec029078", "num_boxes": 0}
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
body | body | LootBoxGenerationRequest | true | none |
ยป loot_box_type_id | body | string(uuid) | true | The id of the loot box type to generate |
ยป num_boxes | body | integer(int64) | true | The number of loot boxes to generate in this sample |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | LootBoxSet |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal 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 paramtersLoad organization branding paramters
#
Example GET /organizations/{id}/branding
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient()
val request = Request.Builder() .url("$apiBaseURL/organizations/{id}/branding") .addHeader("Accept", "*/*") .get() .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/organizations/{id}/branding")
var request = URLRequest(url: url!)
request.httpMethod = "GET"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | none |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | OrganizationBranding |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal server error. | None |
note
This operation does not require authentication
#
Set organization branding parametersSet organization branding parameters
NOTE: user should have scope OrganizationWrite
#
Example PUT /organizations/{id}/branding
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient() val requestBody = """{ "currencies": [ "string" ], "logo": "string", "logo_small": "string", "logo_thumbnail": "string", "requires_email": true, "return_link": "string"} """.toRequestBody("application/json; charset=utf-8".toMediaType())
val request = Request.Builder() .url("$apiBaseURL/organizations/{id}/branding") .addHeader("Content-Type", "application/json") .addHeader("Accept", "*/*") .addHeader("Authorization", "API_KEY") .put(requestBody) .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/organizations/{id}/branding")
let requestBody = """{ "currencies": [ "string" ], "logo": "string", "logo_small": "string", "logo_thumbnail": "string", "requires_email": true, "return_link": "string"}"""
var request = URLRequest(url: url!)
request.httpMethod = "PUT"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = requestBody.data(using: .utf8)
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
Body parameter{ "currencies": [ "string" ], "logo": "string", "logo_small": "string", "logo_thumbnail": "string", "requires_email": true, "return_link": "string"}
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | none |
body | body | UpdateOrganizationBranding | true | none |
ยป currencies | body | [string] | true | none |
ยป logo | body | string | false | none |
ยป logo_small | body | string | false | none |
ยป logo_thumbnail | body | string | false | none |
ยป requires_email | body | boolean | false | none |
ยป return_link | body | string | true | none |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | OrganizationBranding |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal 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 dataCalls a pre-defined proxy service with the provided data
Returns the response from the proxied service as a string
#
Example POST /proxy
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient() val requestBody = """{ "data": "string", "service": "Echo"} """.toRequestBody("application/json; charset=utf-8".toMediaType())
val request = Request.Builder() .url("$apiBaseURL/proxy") .addHeader("Content-Type", "application/json") .addHeader("Accept", "*/*") .addHeader("Authorization,X-Api-Key", "API_KEY") .post(requestBody) .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/proxy")
let requestBody = """{ "data": "string", "service": "Echo"}"""
var request = URLRequest(url: url!)
request.httpMethod = "POST"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = requestBody.data(using: .utf8)
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
Body parameter{ "data": "string", "service": "Echo"}
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
body | body | ProxyCallParameters | true | none |
ยป data | body | string | false | The data to pass through to the proxied service |
ยป service | body | string | true | ProxyService type |
#
Enumerated ValuesParameter | Value |
---|---|
ยป service | Echo |
ยป service | Scraper |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | ProxyResult |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal 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 featuresList users features
#
Example GET /user_features
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient()
val request = Request.Builder() .url("$apiBaseURL/user_features") .addHeader("Accept", "*/*") .addHeader("Authorization", "API_KEY") .get() .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/user_features")
var request = URLRequest(url: url!)
request.httpMethod = "GET"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal server error. | None |
#
Response SchemaStatus Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [DisplayFeature] | false | none | none |
ยป code | string | true | none | none |
ยป id | string(uuid) | true | none | none |
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 userFetch associated wallet addresses for the user
#
Example GET /wallets
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient()
val request = Request.Builder() .url("$apiBaseURL/wallets") .addHeader("Accept", "*/*") .addHeader("Authorization,X-Api-Key", "API_KEY") .get() .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/wallets")
var request = URLRequest(url: url!)
request.httpMethod = "GET"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal server error. | None |
#
Response SchemaStatus Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [Wallet] | false | none | none |
ยป eth_address | string | true | none | none |
ยป user_id | string(uuid) | true | none | none |
Authentication
To perform this operation, you must be authenticated by means of one of the following methods: apiKey
#
Associate new wallet address with userAssociate new wallet address with user
#
Example POST /wallets
- Javascript / NodeJs
- Android / Kotlin
- iOS / Swift 5
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);});
import okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.Callbackimport okhttp3.Responseimport okhttp3.Callimport okhttp3.MediaType.Companion.toMediaTypeimport okhttp3.RequestBody.Companion.toRequestBodyimport java.io.IOException
fun main() { val apiBaseURL = "https://api.y.at" val httpClient = OkHttpClient() val requestBody = """{ "signature": "string", "source": "Mint"} """.toRequestBody("application/json; charset=utf-8".toMediaType())
val request = Request.Builder() .url("$apiBaseURL/wallets") .addHeader("Content-Type", "application/json") .addHeader("Authorization,X-Api-Key", "API_KEY") .post(requestBody) .build() httpClient.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful) { if (response.body != null) { println("Successful (${response.code}) with response: " + response.body?.string()) } else { println("Successful (${response.code}) with empty response.") } } else { println("Failed with status code: ${response.code}") } } override fun onFailure(call: Call, e: IOException) { println("Request failed: $e") } })}
import Foundation
let apiBaseURL = "https://a.y.at"let url = URL(string: apiBaseURL + "/wallets")
let requestBody = """{ "signature": "string", "source": "Mint"}"""
var request = URLRequest(url: url!)
request.httpMethod = "POST"request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = requestBody.data(using: .utf8)
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request) { data, response, error in guard error == nil else { print("Request failed: \(String(describing: error))") return } guard let response = response as? HTTPURLResponse else { print("Unexpected response type.") return } if 200...299 ~= response.statusCode { print("Successful with status code: \(response.statusCode)") } else { print("Failed with status code: \(response.statusCode)") } // display body guard let data = data, let responseBody = String(data: data, encoding: .utf8) else { print("Empty response body.") return } print("Response body:") print(responseBody)}
task.resume()
#
Body parameter{ "signature": "string", "source": "Mint"}
#
ParametersName | In | Type | Required | Description |
---|---|---|---|---|
body | body | WalletSyncRequest | true | none |
ยป signature | body | string | true | none |
ยป source | body | string | true | none |
#
Enumerated ValuesParameter | Value |
---|---|
ยป source | Mint |
ยป source | Dashboard |
#
ResponsesStatus | Meaning | Description | Schema |
---|---|---|---|
400 | Bad Request | Bad request: Request body or parameters are not in the expected format. | None |
401 | Unauthorized | Unauthorized: Access token not found or invalid. | None |
422 | Unprocessable Entity | Unprocessable Entity: Duplicate record. | None |
500 | Internal Server Error | Internal server error. | None |
Authentication
To perform this operation, you must be authenticated by means of one of the following methods: apiKey
#
Schemas#
AcceptTransfer#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
code | string | true | none | Confirmation OTP of either the sender or receiver of the transfer. |
#
Example{ "code": "string"}
#
AddItemsCartRequest#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
items | [object] | true | none | New items to add to cart. |
ยป emoji_id | string | true | none | EmojiID to buy. |
tracking_data | any | false | none | Tracking data. |
#
Example{ "items": [ { "emoji_id": "๐ฑ๐๐๐ด๐ต" } ], "tracking_data": null}
#
AdminNewLootBoxBody#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
owner_email | string | false | none | Assign lootbox an owner with matching email Should not be set if owner_id is set. |
owner_id | string(uuid) | false | none | Lootbox owner_id, required for Owned and Used lootboxes. |
status | string | true | none | Status lootbox will be created in If status is Used lootbox with be automatically opened. |
yats | [string] | true | none | LootBox emoji IDs. |
#
Enumerated ValuesProperty | Value |
---|---|
status | Draft |
status | Available |
status | Owned |
status | Used |
#
Example{ "owner_email": "string", "owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05", "status": "Draft", "yats": [ "๐ฑ๐๐๐ด๐ต" ]}
#
AdminNewLootBoxType#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
config | object | true | none | The configuration parameters for the loot box type. |
ยป guarantees | [object] | true | none | A set of guaranteed drops in this loot box type. |
ยปยป count | integer(int64) | true | none | The number of guaranteed drops of this type in the loot box. |
ยปยป max_score | integer(int64) | true | none | The highest (inclusive) rhythm score range for guaranteed drop. |
ยปยป min_score | integer(int64) | true | none | The lowest (inclusive) rhythm score range for guaranteed drop. |
ยป max_base_score | integer(int64) | true | none | The upper bound (inclusive) rhythm score for standard yats in the loot box. |
ยป max_length | integer(int64) | true | none | Maximum yat length. |
ยป min_base_score | integer(int64) | true | none | The lower bound (inclusive) rhythm score for standard yats in the loot box. |
ยป min_length | integer(int64) | true | none | Minimum yat length. |
ยป size | integer(int64) | true | none | The number of yats in the loot box. |
ยป weights | [object] | true | none | A set of probability weightings for chance-based drops. |
ยปยป ipr | number(double) | true | none | The inverse probability ratio. |
ยปยป max_score | integer(int64) | true | none | The highest (inclusive) rhythm score range for inclusion when the probability spec hits. |
ยปยป min_score | integer(int64) | true | none | The lowest (inclusive) rhythm score range for inclusion when the probability spec hits. |
description | string | true | none | A description for the loot box type. |
name | string | true | none | the 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#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
owner_email | string | false | none | Assign lootbox an owner with matching email Should not be set if owner_id is set. |
owner_id | string(uuid) | false | none | Assign lootbox an owner, if set requires status Owned . |
status | string | false | none | Update status If status is Used lootbox with be automatically opened. |
yats | [string] | false | none | LootBox emoji IDs. |
#
Enumerated ValuesProperty | Value |
---|---|
status | Draft |
status | Available |
status | Owned |
status | Used |
#
Example{ "owner_email": "string", "owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05", "status": "Draft", "yats": [ "๐ฑ๐๐๐ด๐ต" ]}
#
AdminUpdateUserParameters#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
activation_source | string | false | none | Optional: Source of activation. |
current_password | string | false | none | Optional: Current password, must be provided if one exists. |
string | false | none | Optional: Email. | |
first_name | string | false | none | Optional: First name. |
free_limit | integer(int32) | false | none | Optional: Free limit for how many yats the user may purchase. |
last_name | string | false | none | Optional: Last name. |
password | string | false | none | Optional: User password. |
role | string | false | none | Optional: Update the user role. |
#
Enumerated ValuesProperty | Value |
---|---|
role | Admin |
role | OrgController |
role | OrgMember |
role | OrgOwner |
role | Bot |
role | Super |
role | User |
#
Example{ "activation_source": "string", "current_password": "string", "email": "string", "first_name": "string", "free_limit": 0, "last_name": "string", "password": "string", "role": "Admin"}
#
ApplyPromoCodeRequest#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
code | string | true | none | Code to apply. |
#
Example{ "code": "string"}
#
BackupDisableBody#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
alternate_id | string | false | none | Alternate identifier. |
backup_code | string | true | none | Backup code. |
disable_all | boolean | false | none | Make this method default. |
string | false | none | Email. | |
provider | string | false | none | Two factor authentication backend. |
#
Enumerated ValuesProperty | Value |
---|---|
provider | GoogleAuthenticator |
provider | SMS |
#
Example{ "alternate_id": "string", "backup_code": "string", "disable_all": true, "email": "string", "provider": "GoogleAuthenticator"}
#
CheckoutCartRequest#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
amount | integer(int64) | false | none | Amount paid in cash. |
cancel_url | string | false | none | URL user will be redirected if payment cancelled Required for Stripe Checkout. |
external_reference | string | false | none | External reference for cash payment. |
method | string | true | none | Payment method type. |
pubkey | string | false | none | Optional: The user's public key to associate with this emoji id. |
success_url | string | false | none | URL user will be redirected after successful payment Required for Stripe Checkout. |
tracking_data | any | false | none | Optional: tracking data. |
#
Enumerated ValuesProperty | Value |
---|---|
method | Free |
method | CoinbaseCommerce |
method | Stripe |
method | Cash |
method | PayPal |
#
Example{ "amount": 0, "cancel_url": "string", "external_reference": "string", "method": "Free", "pubkey": "74dfa32b2c227ca2aa9ce3922a735669835443c1c36596795de1f48dbfaf7b2f", "success_url": "string", "tracking_data": null}
#
Confirm2Fa#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
code | string | true | none | Two factor authentication code. |
refresh_token | string | true | none | Refresh token obtained from login request. |
#
Example{ "code": "string", "refresh_token": "string"}
#
Confirm2FaUpdate#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
code | string | true | none | Auth code of new 2FA provider. |
#
Example{ "code": "string"}
#
CreateApiKeyBody#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
expires_at | string(date-time) | false | none | None. |
name | string | true | none | None. |
scopes | [string] | false | none | None. |
#
Example{ "expires_at": "2019-08-24T14:15:22Z", "name": "string", "scopes": [ "adminCart:update" ]}
#
CurrentUser#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
everflow_transaction_id | string | false | none | transaction id indicating if the user signed up from a partner via everflow redirect. |
features | [object] | true | none | Enabled features for the user. |
ยป code | string | true | none | None. |
ยป id | string(uuid) | true | none | None. |
global_scopes | [string] | true | none | A list of fine-grained permissions the user may perform. |
organization_roles | object | true | none | The role this user has in each organisation. |
ยป additionalProperties | string | false | none | None. |
organization_scopes | object | true | none | The scopes that are granted to this user for each organisation. |
ยป additionalProperties | [string] | false | none | None. |
pending_transfers | [string] | true | none | List of transfers pending acceptance on current user side. |
pubkeys | [string] | true | none | A list of this user's public keys. |
role | string | true | none | The role assigned to this user. |
user | object | true | none | The current user's details. |
ยป alternate_id | string | false | none | None. |
ยป created_at | string(date-time) | true | none | None. |
ยป deactivated_at | string(date-time) | false | none | None. |
ยป email | string | false | none | None. |
ยป email_verified_at | string(date-time) | false | none | None. |
ยป first_name | string | false | none | None. |
ยป free_limit | integer(int32) | true | none | None. |
ยป id | string(uuid) | true | none | None. |
ยป last_name | string | false | none | None. |
ยป pubkeys | [string] | true | none | None. |
ยป remaining_free_emoji | integer(int32) | true | none | None. |
ยป role | string | true | none | None. |
ยป source | string | false | none | None. |
ยป two_factor_auth | [string] | false | none | None. |
ยป two_factor_last_prompted_at | string(date-time) | false | none | None. |
ยป two_factor_should_prompt | boolean | true | none | None. |
ยป updated_at | string(date-time) | true | none | None. |
#
Enumerated ValuesProperty | Value |
---|---|
additionalProperties | Admin |
additionalProperties | OrgController |
additionalProperties | OrgMember |
additionalProperties | OrgOwner |
additionalProperties | Bot |
additionalProperties | Super |
additionalProperties | User |
role | Admin |
role | OrgController |
role | OrgMember |
role | OrgOwner |
role | Bot |
role | Super |
role | User |
role | Admin |
role | OrgController |
role | OrgMember |
role | OrgOwner |
role | Bot |
role | Super |
role | User |
#
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#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
disable_all | boolean | true | none | Make this method default. |
provider | string | false | none | Two factor authentication backend. |
#
Enumerated ValuesProperty | Value |
---|---|
provider | GoogleAuthenticator |
provider | SMS |
#
Example{ "disable_all": true, "provider": "GoogleAuthenticator"}
#
DisplayApiKey#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
api_key | string | true | none | None. |
created_at | string(date-time) | true | none | None. |
expires_at | string(date-time) | false | none | None. |
name | string | true | none | None. |
scopes | [string] | true | none | None. |
#
Example{ "api_key": "string", "created_at": "2019-08-24T14:15:22Z", "expires_at": "2019-08-24T14:15:22Z", "name": "string", "scopes": [ "adminCart:update" ]}
#
DisplayFeature#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
code | string | true | none | None. |
id | string(uuid) | true | none | None. |
#
Example{ "code": "string", "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"}
#
DisplayOrder#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
amount_overpaid_in_cents | integer(int64) | true | none | Amount overpaid in cents. |
created_at | string(date-time) | true | none | A UTC timestamp for when this order was initially created. |
eligible_for_refund | boolean | true | none | Whether an order is eligible for a refund via an admin. |
expires_at | string(date-time) | false | none | Checkout carts have a limited time before they expire. |
id | string(uuid) | true | none | The unique identifier for this order. |
misc_refunded_total_in_cents | integer(int64) | true | none | The total of miscellaneous refund amounts retirned to the order. |
order_items | [object] | true | none | The list of individual line items making up this order. |
ยป client_fee_in_cents | integer(int32) | true | none | The fee attributable to the referral partner, in addition to the nominal unit price, in USD cents. |
ยป code_id | string(uuid) | false | none | The code associated with this order item for providing a discount. |
ยป company_fee_in_cents | integer(int32) | true | none | The fee attributable to the service host or company, in addition to the nominal unit price, in USD cents. |
ยป created_at | string(date-time) | true | none | A UTC timestamp for when this order item was created. |
ยป emoji_id | any | false | none | The emoji id that is being purchased. |
ยป id | string(uuid) | true | none | A unique identifier for this order item. |
ยป item_type | string | true | none | The type of order. |
ยป main_id | string(uuid) | false | none | Main item ID. |
ยป main_table | any | false | none | Main item table. |
ยป marked_invalid_at | string(date-time) | false | none | A UTC timestamp for when this order item was marked as invalid. |
ยป marked_invalid_at_reason | string | false | none | Marked invalid at reason Taken / PendingPurchase. |
ยป order_id | string(uuid) | true | none | The id of the order this order item. |
ยป parent_id | string(uuid) | false | none | Parent order item's ID, set for discounts and fees. |
ยป quantity | integer(int32) | true | none | The number of items in the line order. |
ยป refunded_quantity | integer(int32) | true | none | The number of items refunded. |
ยป rhythm_score | integer(int32) | false | none | The rhythm score belonging to this order item, only set for order items containing EmojiIds. |
ยป unit_price_in_cents | integer(int32) | true | none | The nominal, non-discounted price of the item, in USD cents. |
ยป updated_at | string(date-time) | true | none | A UTC timestamp for when any field in the order item was modified. |
order_number | string | true | none | The order number is the last 8 characters of the order's ID for user display purposes. |
organization_id | string(uuid) | false | none | The organization id of the user, if applicable. |
paid_at | string(date-time) | false | none | A UTC timestamp for when payment for this order was received. |
payment_method_data | object | false | none | Payment method data for payment methods that provide QR code checkout options set via checkout. |
ยป cancel_url | string | false | none | Cancel url for Stripe method when using Checkout. |
ยป client_secret | string | true | none | Client Secret for the Stripe method for Elements and Checkout. |
ยป invoice_id | string | false | none | Invoice ID for the Stripe method for Elements. |
ยป method | string | true | none | Payment method. |
ยป methods | [object] | true | none | Metadata for CoinbaseCommerce payment method. |
ยปยป address | string | true | none | None. |
ยปยป amount | number(double) | true | none | None. |
ยปยป currency | string | true | none | None. |
ยปยป title | string | true | none | None. |
ยป payment_intent_id | string | true | none | Payment method ID for Stripe method. |
ยป session_id | string | false | none | Invoice ID for the Stripe method for Checkout. |
ยป success_url | string | false | none | Success url for Stripe method when using Checkout. |
refunded_total_in_cents | integer(int64) | true | none | The total of refund amounts for the order. |
remaining_due_in_cents | integer(int64) | true | none | Remaining due in cents to mark the cart as Paid. |
seconds_until_expiry | integer(int32) | false | none | A convenience field indicating how long before expires_at is reached. |
status | string | true | none | The order of the status. |
total_in_cents | integer(int64) | true | none | The sum of all the items in this order, plus fees, in USD cents. |
updated_at | string(date-time) | true | none | A UTC timestamp for the last time any field in this order was modified. |
user | object | true | none | The details of the user placing this order. |
ยป alternate_id | string | false | none | None. |
ยป created_at | string(date-time) | true | none | None. |
ยป deactivated_at | string(date-time) | false | none | None. |
ยป email | string | false | none | None. |
ยป email_verified_at | string(date-time) | false | none | None. |
ยป first_name | string | false | none | None. |
ยป free_limit | integer(int32) | true | none | None. |
ยป id | string(uuid) | true | none | None. |
ยป last_name | string | false | none | None. |
ยป pubkeys | [string] | true | none | None. |
ยป remaining_free_emoji | integer(int32) | true | none | None. |
ยป role | string | true | none | None. |
ยป source | string | false | none | None. |
ยป two_factor_auth | [string] | false | none | None. |
ยป two_factor_last_prompted_at | string(date-time) | false | none | None. |
ยป two_factor_should_prompt | boolean | true | none | None. |
ยป updated_at | string(date-time) | true | none | None. |
user_id | string(uuid) | true | none | The identifier of the user placing this order. |
#
Enumerated ValuesProperty | Value |
---|---|
item_type | Discount |
item_type | LootBox |
item_type | EmojiId |
marked_invalid_at_reason | Taken |
marked_invalid_at_reason | PendingPurchase |
method | CoinbaseCommerce |
method | Stripe |
status | Cancelled |
status | Draft |
status | Paid |
status | PendingPayment |
role | Admin |
role | OrgController |
role | OrgMember |
role | OrgOwner |
role | Bot |
role | Super |
role | User |
#
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#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
accepted_at | string(date-time) | false | none | None. |
clear_on_transfer | boolean | true | none | None. |
created_at | string(date-time) | true | none | None. |
deleted_at | string(date-time) | false | none | None. |
eid | string | true | none | None. |
string | true | none | None. | |
id | string(uuid) | true | none | None. |
message | string | false | none | None. |
recipient_id | string(uuid) | true | none | None. |
sender_code_accepted_at | string(date-time) | false | none | None. |
#
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#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
alternate_id | string | false | none | None. |
created_at | string(date-time) | true | none | None. |
deactivated_at | string(date-time) | false | none | None. |
string | false | none | None. | |
email_verified_at | string(date-time) | false | none | None. |
first_name | string | false | none | None. |
free_limit | integer(int32) | true | none | None. |
id | string(uuid) | true | none | None. |
last_name | string | false | none | None. |
pubkeys | [string] | true | none | None. |
remaining_free_emoji | integer(int32) | true | none | None. |
role | string | true | none | None. |
source | string | false | none | None. |
two_factor_auth | [string] | false | none | None. |
two_factor_last_prompted_at | string(date-time) | false | none | None. |
two_factor_should_prompt | boolean | true | none | None. |
updated_at | string(date-time) | true | none | None. |
#
Enumerated ValuesProperty | Value |
---|---|
role | Admin |
role | OrgController |
role | OrgMember |
role | OrgOwner |
role | Bot |
role | Super |
role | User |
#
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#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
alternate_id | string | false | none | None. |
created_at | string(date-time) | false | none | None. |
deactivated_at | string(date-time) | false | none | None. |
string | false | none | None. | |
email_verified_at | string(date-time) | false | none | None. |
emoji_ids | [string] | true | none | None. |
first_name | string | false | none | None. |
free_limit | integer(int32) | false | none | None. |
id | string(uuid) | false | none | None. |
last_name | string | false | none | None. |
pubkeys | [string] | false | none | None. |
remaining_free_emoji | integer(int32) | false | none | None. |
role | string | false | none | None. |
source | string | false | none | None. |
two_factor_auth | [string] | false | none | None. |
two_factor_last_prompted_at | string(date-time) | false | none | None. |
two_factor_should_prompt | boolean | false | none | None. |
updated_at | string(date-time) | false | none | None. |
#
Enumerated ValuesProperty | Value |
---|---|
role | Admin |
role | OrgController |
role | OrgMember |
role | OrgOwner |
role | Bot |
role | Super |
role | User |
#
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#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
bypass_single_restrictions | boolean | false | none | Optional: Allow many addresses per Tag. |
delete | [string] | false | none | Optional: hashes of records to delete. |
insert | [any] | false | none | Optional: list of records to add. |
ยป data | string | true | none | Category data in text format. |
ยป tag | string | true | none | Category ID as a hex number. |
merkle_root | string | false | none | Optional: merkle root (use WASM to generate). |
signature | string | false | none | Optional: 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#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
error | object | false | none | None. |
ยป code | string(int64) | true | none | Error code. |
ยป reason | string | true | none | None. |
result | [object] | false | none | Records associated with EmojiID. |
ยป data | string | true | none | Category data in text or hex encoded formats. |
ยป hash | string | true | none | Hash identifies record, can be used to delete records. |
ยป tag | string | true | none | Category as a hex string number. |
status | boolean | true | none | Response status. |
#
Example{ "error": { "code": "404", "reason": "string" }, "result": [ { "data": "string", "hash": "5aaf5eac326102cf208e397f15534f0b89747b2263f47857b1d797275ce7e944", "tag": "0x4001" } ], "status": true}
#
EmojiIdThe 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.
#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | The emoji id is the key value used in the Emoji ID key-value lookup system. |
#
Example"๐ฑ๐๐๐ด๐ต"
#
EmojiListItemEmojiId in canonical and display representations
#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
blocked_until | string(date-time) | false | none | None. |
canonical_format | string | true | none | None. |
chain_format | string | true | none | None. |
display_format | string | true | none | None. |
flippable_emoji | [boolean] | true | none | None. |
generation | integer(int32) | true | none | None. |
minted | boolean | true | none | None. |
rhythm_score | integer(int32) | true | none | None. |
shape | object | true | none | None. |
ยป pattern | any | false | none | None. |
ยป shape | string | false | none | None. |
shortname | string | true | none | None. |
token_id | integer(int64) | false | none | None. |
#
Enumerated ValuesProperty | Value |
---|---|
shape | Repeaters |
shape | Eye Heart |
shape | Bookends |
shape | Adoptables |
#
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#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
emoji_id | string | true | none | None. |
metrics | [object] | true | none | None. |
ยป description | string | true | none | None. |
ยป finish_date | string(date-time) | true | none | None. |
ยป key | string | true | none | Counter object. |
ยป metric | string | true | none | Counter type. |
ยป start_date | string(date-time) | true | none | None. |
ยป value | integer(int64) | true | none | Counter 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#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
default | boolean | true | none | Make this method default. |
phone | string | false | none | Phone number required for SMS provider. |
provider | string | true | none | Two factor authentication backend. |
#
Enumerated ValuesProperty | Value |
---|---|
provider | GoogleAuthenticator |
provider | SMS |
#
Example{ "default": true, "phone": "string", "provider": "GoogleAuthenticator"}
#
Enable2FAResponse#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
backup_codes | [string] | false | none | One time backup codes to login. |
ga_qr_code_svg | string | false | none | GA secret as QR code in svg image. |
ga_secret | string | false | none | GA base32 encoded secret, will be null when code is disabled. |
phone_last_digits | string | false | none | Phone last digits. |
#
Example{ "backup_codes": [ "string" ], "ga_qr_code_svg": "string", "ga_secret": "string", "phone_last_digits": "string"}
#
ListOfCodeAvailabilityPaginated results.
Item description:
#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
data | [object] | false | none | None. |
ยป activator | string | false | none | None. |
ยป available | integer(int64) | false | none | None. |
ยป code_type | string | false | none | None. |
ยป created_at | string(date-time) | false | none | None. |
ยป deleted_at | string(date-time) | false | none | None. |
ยป discount_as_percentage | integer(int32) | false | none | None. |
ยป discount_in_cents | integer(int32) | false | none | None. |
ยป end_date | string(date-time) | false | none | None. |
ยป id | string(uuid) | false | none | None. |
ยป max_emojis_per_user | integer(int32) | false | none | None. |
ยป max_uses | integer(int32) | false | none | None. |
ยป name | string | false | none | None. |
ยป organization_id | string(uuid) | false | none | None. |
ยป pattern | any | false | none | None. |
ยป redemption_code | string | false | none | None. |
ยป start_date | string(date-time) | false | none | None. |
ยป total_uses | integer(int64) | true | none | None. |
ยป updated_at | string(date-time) | false | none | None. |
paging | object | false | none | Paging information. |
ยป dir | string | true | none | None. |
ยป limit | integer(int32) | true | none | None. |
ยป page | integer(int32) | true | none | None. |
ยป sort | string | true | none | None. |
ยป tags | object | true | none | None. |
ยปยป additionalProperties | any | false | none | None. |
ยป total | integer(int64) | true | none | None. |
#
Enumerated ValuesProperty | Value |
---|---|
activator | RedemptionCode |
activator | SecretKey |
code_type | Discount |
code_type | RandomYat |
dir | Asc |
dir | Desc |
#
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 }}
#
ListOfDisplayTransferRequestPaginated results.
Item description: Emoji transfer request details json payload
#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
data | [object] | false | none | None. |
ยป accepted_at | string(date-time) | false | none | None. |
ยป clear_on_transfer | boolean | true | none | None. |
ยป created_at | string(date-time) | true | none | None. |
ยป deleted_at | string(date-time) | false | none | None. |
ยป eid | string | true | none | None. |
ยป email | string | true | none | None. |
ยป id | string(uuid) | true | none | None. |
ยป message | string | false | none | None. |
ยป recipient_id | string(uuid) | true | none | None. |
ยป sender_code_accepted_at | string(date-time) | false | none | None. |
paging | object | false | none | Paging information. |
ยป dir | string | true | none | None. |
ยป limit | integer(int32) | true | none | None. |
ยป page | integer(int32) | true | none | None. |
ยป sort | string | true | none | None. |
ยป tags | object | true | none | None. |
ยปยป additionalProperties | any | false | none | None. |
ยป total | integer(int64) | true | none | None. |
#
Enumerated ValuesProperty | Value |
---|---|
dir | Asc |
dir | Desc |
#
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 }}
#
ListOfDisplayUserExtendedPaginated results.
Item description: User data with emoji list
#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
data | [object] | false | none | None. |
ยป alternate_id | string | false | none | None. |
ยป created_at | string(date-time) | false | none | None. |
ยป deactivated_at | string(date-time) | false | none | None. |
ยป email | string | false | none | None. |
ยป email_verified_at | string(date-time) | false | none | None. |
ยป emoji_ids | [string] | true | none | None. |
ยป first_name | string | false | none | None. |
ยป free_limit | integer(int32) | false | none | None. |
ยป id | string(uuid) | false | none | None. |
ยป last_name | string | false | none | None. |
ยป pubkeys | [string] | false | none | None. |
ยป remaining_free_emoji | integer(int32) | false | none | None. |
ยป role | string | false | none | None. |
ยป source | string | false | none | None. |
ยป two_factor_auth | [string] | false | none | None. |
ยป two_factor_last_prompted_at | string(date-time) | false | none | None. |
ยป two_factor_should_prompt | boolean | false | none | None. |
ยป updated_at | string(date-time) | false | none | None. |
paging | object | false | none | Paging information. |
ยป dir | string | true | none | None. |
ยป limit | integer(int32) | true | none | None. |
ยป page | integer(int32) | true | none | None. |
ยป sort | string | true | none | None. |
ยป tags | object | true | none | None. |
ยปยป additionalProperties | any | false | none | None. |
ยป total | integer(int64) | true | none | None. |
#
Enumerated ValuesProperty | Value |
---|---|
role | Admin |
role | OrgController |
role | OrgMember |
role | OrgOwner |
role | Bot |
role | Super |
role | User |
dir | Asc |
dir | Desc |
#
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 }}
#
ListOfPublicLootBoxPaginated results.
Item description:
#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
data | [object] | false | none | None. |
ยป average_rhythm_score | number(double) | true | none | Average score of emoji IDs in loot box. |
ยป created_at | string(date-time) | true | none | None. |
ยป id | string(uuid) | true | none | None. |
ยป lootbox_type | object | false | none | For Admin: Expanded Lootbox Type. |
ยปยป config | object | true | none | The loot box type's configuration parameters. |
ยปยปยป guarantees | [object] | true | none | A set of guaranteed drops in this loot box type. |
ยปยปยปยป count | integer(int64) | true | none | The number of guaranteed drops of this type in the loot box. |
ยปยปยปยป max_score | integer(int64) | true | none | The highest (inclusive) rhythm score range for guaranteed drop. |
ยปยปยปยป min_score | integer(int64) | true | none | The lowest (inclusive) rhythm score range for guaranteed drop. |
ยปยปยป max_base_score | integer(int64) | true | none | The upper bound (inclusive) rhythm score for standard yats in the loot box. |
ยปยปยป max_length | integer(int64) | true | none | Maximum yat length. |
ยปยปยป min_base_score | integer(int64) | true | none | The lower bound (inclusive) rhythm score for standard yats in the loot box. |
ยปยปยป min_length | integer(int64) | true | none | Minimum yat length. |
ยปยปยป size | integer(int64) | true | none | The number of yats in the loot box. |
ยปยปยป weights | [object] | true | none | A set of probability weightings for chance-based drops. |
ยปยปยปยป ipr | number(double) | true | none | The inverse probability ratio. |
ยปยปยปยป max_score | integer(int64) | true | none | The highest (inclusive) rhythm score range for inclusion when the probability spec hits. |
ยปยปยปยป min_score | integer(int64) | true | none | The lowest (inclusive) rhythm score range for inclusion when the probability spec hits. |
ยปยป created_at | string(date-time) | true | none | The timestamp for when this loot box type was created. |
ยปยป description | string | true | none | A more detailed description of the loot box type. |
ยปยป id | string(uuid) | true | none | The loot box type id. |
ยปยป name | string | true | none | The name of this loot box type. |
ยป lootbox_type_id | string(uuid) | false | none | For Admin: The type of loot box, if applicable. |
ยป owner | object | false | none | For Admin: Expanded owner of a lootbox. |
ยปยป alternate_id | string | false | none | None. |
ยปยป created_at | string(date-time) | true | none | None. |
ยปยป deactivated_at | string(date-time) | false | none | None. |
ยปยป email | string | false | none | None. |
ยปยป email_verified_at | string(date-time) | false | none | None. |
ยปยป first_name | string | false | none | None. |
ยปยป free_limit | integer(int32) | true | none | None. |
ยปยป id | string(uuid) | true | none | None. |
ยปยป last_name | string | false | none | None. |
ยปยป pubkeys | [string] | true | none | None. |
ยปยป remaining_free_emoji | integer(int32) | true | none | None. |
ยปยป role | string | true | none | None. |
ยปยป source | string | false | none | None. |
ยปยป two_factor_auth | [string] | false | none | None. |
ยปยป two_factor_last_prompted_at | string(date-time) | false | none | None. |
ยปยป two_factor_should_prompt | boolean | true | none | None. |
ยปยป updated_at | string(date-time) | true | none | None. |
ยป owner_id | string(uuid) | false | none | Loot box owner_id, required for Owned and Used loot boxes. |
ยป prices | [integer] | true | none | The prices of the yats in the box, in cents. |
ยป scores | [integer] | true | none | The rhythm scores of the yats in the box. |
ยป status | string | true | none | Status loot box will be created in. |
ยป total_value | number(double) | true | none | Total value of EmojiIDs in the Loot Box. |
ยป yats | [string] | true | none | Loot box yats. |
paging | object | false | none | Paging information. |
ยป dir | string | true | none | None. |
ยป limit | integer(int32) | true | none | None. |
ยป page | integer(int32) | true | none | None. |
ยป sort | string | true | none | None. |
ยป tags | object | true | none | None. |
ยปยป additionalProperties | any | false | none | None. |
ยป total | integer(int64) | true | none | None. |
#
Enumerated ValuesProperty | Value |
---|---|
role | Admin |
role | OrgController |
role | OrgMember |
role | OrgOwner |
role | Bot |
role | Super |
role | User |
status | Draft |
status | Available |
status | Owned |
status | Used |
dir | Asc |
dir | Desc |
#
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 }}
#
ListOfUserInterestPaginated results.
Item description: User interest
#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
data | [object] | false | none | None. |
ยป created_at | string(date-time) | true | none | None. |
ยป emoji_id | string | true | none | None. |
ยป id | string(uuid) | true | none | None. |
ยป updated_at | string(date-time) | true | none | None. |
ยป user_id | string(uuid) | true | none | None. |
paging | object | false | none | Paging information. |
ยป dir | string | true | none | None. |
ยป limit | integer(int32) | true | none | None. |
ยป page | integer(int32) | true | none | None. |
ยป sort | string | true | none | None. |
ยป tags | object | true | none | None. |
ยปยป additionalProperties | any | false | none | None. |
ยป total | integer(int64) | true | none | None. |
#
Enumerated ValuesProperty | Value |
---|---|
dir | Asc |
dir | Desc |
#
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#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
created_at | string(date-time) | true | none | Created at time for the record. |
data | any | true | none | Data value stored by key and EmojiID If there is no value for the key an empty object {} is returned. |
is_locked | boolean | true | none | Data is locked. |
locked_future_writes_at | string(date-time) | false | none | Time the record was locked from future writes. |
updated_at | string(date-time) | true | none | Updated 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#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
current_user | object | true | none | None. |
ยป everflow_transaction_id | string | false | none | transaction id indicating if the user signed up from a partner via everflow redirect. |
ยป features | [object] | true | none | Enabled features for the user. |
ยปยป code | string | true | none | None. |
ยปยป id | string(uuid) | true | none | None. |
ยป global_scopes | [string] | true | none | A list of fine-grained permissions the user may perform. |
ยป organization_roles | object | true | none | The role this user has in each organisation. |
ยปยป additionalProperties | string | false | none | None. |
ยป organization_scopes | object | true | none | The scopes that are granted to this user for each organisation. |
ยปยป additionalProperties | [string] | false | none | None. |
ยป pending_transfers | [string] | true | none | List of transfers pending acceptance on current user side. |
ยป pubkeys | [string] | true | none | A list of this user's public keys. |
ยป role | string | true | none | The role assigned to this user. |
ยป user | object | true | none | The current user's details. |
ยปยป alternate_id | string | false | none | None. |
ยปยป created_at | string(date-time) | true | none | None. |
ยปยป deactivated_at | string(date-time) | false | none | None. |
ยปยป email | string | false | none | None. |
ยปยป email_verified_at | string(date-time) | false | none | None. |
ยปยป first_name | string | false | none | None. |
ยปยป free_limit | integer(int32) | true | none | None. |
ยปยป id | string(uuid) | true | none | None. |
ยปยป last_name | string | false | none | None. |
ยปยป pubkeys | [string] | true | none | None. |
ยปยป remaining_free_emoji | integer(int32) | true | none | None. |
ยปยป role | string | true | none | None. |
ยปยป source | string | false | none | None. |
ยปยป two_factor_auth | [string] | false | none | None. |
ยปยป two_factor_last_prompted_at | string(date-time) | false | none | None. |
ยปยป two_factor_should_prompt | boolean | true | none | None. |
ยปยป updated_at | string(date-time) | true | none | None. |
editions | [integer] | true | none | None. |
everflow_transaction_id | string | false | none | None. |
extended_list | [object] | true | none | None. |
ยป blocked_until | string(date-time) | false | none | None. |
ยป canonical_format | string | true | none | None. |
ยป chain_format | string | true | none | None. |
ยป display_format | string | true | none | None. |
ยป flippable_emoji | [boolean] | true | none | None. |
ยป generation | integer(int32) | true | none | None. |
ยป minted | boolean | true | none | None. |
ยป rhythm_score | integer(int32) | true | none | None. |
ยป shape | object | true | none | None. |
ยปยป pattern | any | false | none | None. |
ยปยป shape | string | false | none | None. |
ยป shortname | string | true | none | None. |
ยป token_id | integer(int64) | false | none | None. |
incoming_transfers | [object] | true | none | None. |
ยป accepted_at | string(date-time) | false | none | None. |
ยป clear_on_transfer | boolean | true | none | None. |
ยป created_at | string(date-time) | true | none | None. |
ยป deleted_at | string(date-time) | false | none | None. |
ยป eid | string | true | none | None. |
ยป email | string | true | none | None. |
ยป id | string(uuid) | true | none | None. |
ยป message | string | false | none | None. |
ยป recipient_id | string(uuid) | true | none | None. |
ยป sender_code_accepted_at | string(date-time) | false | none | None. |
outgoing_transfers | object | true | none | Paginated results. |
ยป data | [object] | false | none | None. |
ยปยป accepted_at | string(date-time) | false | none | None. |
ยปยป clear_on_transfer | boolean | true | none | None. |
ยปยป created_at | string(date-time) | true | none | None. |
ยปยป deleted_at | string(date-time) | false | none | None. |
ยปยป eid | string | true | none | None. |
ยปยป email | string | true | none | None. |
ยปยป id | string(uuid) | true | none | None. |
ยปยป message | string | false | none | None. |
ยปยป recipient_id | string(uuid) | true | none | None. |
ยปยป sender_code_accepted_at | string(date-time) | false | none | None. |
ยป paging | object | false | none | Paging information. |
ยปยป dir | string | true | none | None. |
ยปยป limit | integer(int32) | true | none | None. |
ยปยป page | integer(int32) | true | none | None. |
ยปยป sort | string | true | none | None. |
ยปยป tags | object | true | none | None. |
ยปยปยป additionalProperties | any | false | none | None. |
ยปยป total | integer(int64) | true | none | None. |
sidebar | any | false | none | None. |
wallets | [object] | true | none | None. |
ยป eth_address | string | true | none | None. |
ยป user_id | string(uuid) | true | none | None. |
#
Enumerated ValuesProperty | Value |
---|---|
additionalProperties | Admin |
additionalProperties | OrgController |
additionalProperties | OrgMember |
additionalProperties | OrgOwner |
additionalProperties | Bot |
additionalProperties | Super |
additionalProperties | User |
role | Admin |
role | OrgController |
role | OrgMember |
role | OrgOwner |
role | Bot |
role | Super |
role | User |
role | Admin |
role | OrgController |
role | OrgMember |
role | OrgOwner |
role | Bot |
role | Super |
role | User |
shape | Repeaters |
shape | Eye Heart |
shape | Bookends |
shape | Adoptables |
dir | Asc |
dir | Desc |
#
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#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
alternate_id | string | false | none | Alternate identifier. |
string | false | none | Email. | |
g_recaptcha_response | string | false | none | Response from google Recaptcha. |
password | string | true | none | Required: Password. |
#
Example{ "alternate_id": "string", "email": "string", "g_recaptcha_response": "string", "password": "string"}
#
LookupResponse#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
error | object | false | none | None. |
ยป code | string(int64) | true | none | Error code. |
ยป reason | string | true | none | None. |
result | [object] | false | none | Records associated with EmojiID. |
ยป data | string | true | none | Category data in text or hex encoded formats. |
ยป hash | string | true | none | Hash identifies record, can be used to delete records. |
ยป tag | string | true | none | Category as a hex string number. |
stats | [object] | true | none | Number of times emoji viewed during past month. |
ยป description | string | true | none | None. |
ยป finish_date | string(date-time) | true | none | None. |
ยป key | string | true | none | Counter object. |
ยป metric | string | true | none | Counter type. |
ยป start_date | string(date-time) | true | none | None. |
ยป value | integer(int64) | true | none | Counter value. |
status | boolean | false | none | Response 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#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
loot_box_type_id | string(uuid) | true | none | The id of the loot box type to generate. |
num_boxes | integer(int64) | true | none | The number of loot boxes to generate in this sample. |
#
Example{ "loot_box_type_id": "304c4377-b66f-4c4c-8d3f-9284ec029078", "num_boxes": 0}
#
LootBoxSet#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
loot_boxes | [object] | true | none | The set of loot boxes generated. |
ยป average_rhythm_score | number(double) | true | none | Average score of emoji IDs in loot box. |
ยป created_at | string(date-time) | true | none | None. |
ยป id | string(uuid) | true | none | None. |
ยป lootbox_type | object | false | none | For Admin: Expanded Lootbox Type. |
ยปยป config | object | true | none | The loot box type's configuration parameters. |
ยปยปยป guarantees | [object] | true | none | A set of guaranteed drops in this loot box type. |
ยปยปยปยป count | integer(int64) | true | none | The number of guaranteed drops of this type in the loot box. |
ยปยปยปยป max_score | integer(int64) | true | none | The highest (inclusive) rhythm score range for guaranteed drop. |
ยปยปยปยป min_score | integer(int64) | true | none | The lowest (inclusive) rhythm score range for guaranteed drop. |
ยปยปยป max_base_score | integer(int64) | true | none | The upper bound (inclusive) rhythm score for standard yats in the loot box. |
ยปยปยป max_length | integer(int64) | true | none | Maximum yat length. |
ยปยปยป min_base_score | integer(int64) | true | none | The lower bound (inclusive) rhythm score for standard yats in the loot box. |
ยปยปยป min_length | integer(int64) | true | none | Minimum yat length. |
ยปยปยป size | integer(int64) | true | none | The number of yats in the loot box. |
ยปยปยป weights | [object] | true | none | A set of probability weightings for chance-based drops. |
ยปยปยปยป ipr | number(double) | true | none | The inverse probability ratio. |
ยปยปยปยป max_score | integer(int64) | true | none | The highest (inclusive) rhythm score range for inclusion when the probability spec hits. |
ยปยปยปยป min_score | integer(int64) | true | none | The lowest (inclusive) rhythm score range for inclusion when the probability spec hits. |
ยปยป created_at | string(date-time) | true | none | The timestamp for when this loot box type was created. |
ยปยป description | string | true | none | A more detailed description of the loot box type. |
ยปยป id | string(uuid) | true | none | The loot box type id. |
ยปยป name | string | true | none | The name of this loot box type. |
ยป lootbox_type_id | string(uuid) | false | none | For Admin: The type of loot box, if applicable. |
ยป owner | object | false | none | For Admin: Expanded owner of a lootbox. |
ยปยป alternate_id | string | false | none | None. |
ยปยป created_at | string(date-time) | true | none | None. |
ยปยป deactivated_at | string(date-time) | false | none | None. |
ยปยป email | string | false | none | None. |
ยปยป email_verified_at | string(date-time) | false | none | None. |
ยปยป first_name | string | false | none | None. |
ยปยป free_limit | integer(int32) | true | none | None. |
ยปยป id | string(uuid) | true | none | None. |
ยปยป last_name | string | false | none | None. |
ยปยป pubkeys | [string] | true | none | None. |
ยปยป remaining_free_emoji | integer(int32) | true | none | None. |
ยปยป role | string | true | none | None. |
ยปยป source | string | false | none | None. |
ยปยป two_factor_auth | [string] | false | none | None. |
ยปยป two_factor_last_prompted_at | string(date-time) | false | none | None. |
ยปยป two_factor_should_prompt | boolean | true | none | None. |
ยปยป updated_at | string(date-time) | true | none | None. |
ยป owner_id | string(uuid) | false | none | Loot box owner_id, required for Owned and Used loot boxes. |
ยป prices | [integer] | true | none | The prices of the yats in the box, in cents. |
ยป scores | [integer] | true | none | The rhythm scores of the yats in the box. |
ยป status | string | true | none | Status loot box will be created in. |
ยป total_value | number(double) | true | none | Total value of EmojiIDs in the Loot Box. |
ยป yats | [string] | true | none | Loot box yats. |
num_requested | integer(int64) | true | none | The number of loot boxes requested. |
#
Enumerated ValuesProperty | Value |
---|---|
role | Admin |
role | OrgController |
role | OrgMember |
role | OrgOwner |
role | Bot |
role | Super |
role | User |
status | Draft |
status | Available |
status | Owned |
status | Used |
#
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#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
string | false | none | Email. | |
g_recaptcha_response | string | false | none | Response from google Recaptcha. |
redirect | string | false | none | Redirect path. |
user_id | string(uuid) | false | none | User ID. |
#
Example{ "email": "string", "g_recaptcha_response": "string", "redirect": "string", "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"}
#
MagicLinkLoginResponse#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
message | string | true | none | Message. |
status | string | true | none | Status of requested user after completing the login request. |
#
Enumerated ValuesProperty | Value |
---|---|
status | Active |
status | RegisteredInactive |
status | RegisteredActive |
status | Inactive |
#
Example{ "message": "string", "status": "Active"}
#
Metadata#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
animation_url | string | true | none | None. |
attributes | [object] | true | none | None. |
ยป trait_type | string | true | none | None. |
ยป value | any | true | none | None. |
description | string | true | none | None. |
external_link | string | true | none | None. |
image | string | true | none | None. |
name | string | true | none | None. |
#
Example{ "animation_url": "string", "attributes": [ { "trait_type": "string", "value": null } ], "description": "string", "external_link": "string", "image": "string", "name": "string"}
#
NewUserInterestParameters#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
emoji_id | string | true | none | Emoji ID to express interest in. |
#
Example{ "emoji_id": "๐ฑ๐๐๐ด๐ต"}
#
OrganizationBranding#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
created_at | string(date-time) | true | none | None. |
currencies | [string] | true | none | None. |
logo | string | false | none | None. |
logo_small | string | false | none | None. |
logo_thumbnail | string | false | none | None. |
name | string | true | none | None. |
organization_id | string(uuid) | true | none | None. |
requires_email | boolean | true | none | None. |
return_link | string | true | none | None. |
updated_at | string(date-time) | true | none | None. |
#
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#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
error | object | false | none | None. |
ยป code | string(int64) | true | none | Error code. |
ยป reason | string | true | none | None. |
result | object | false | none | None. |
ยป additionalProperties | object | false | none | Payment address response for crypto and token payment data. |
ยปยป address | string | true | none | The payment address. |
ยปยป category | string | true | none | The category of this address. |
ยปยป default | boolean | true | none | Optional: Is this address the default address for the category. |
ยปยป description | string | false | none | Optional: Description of the address. |
ยปยป long_name | string | false | none | Optional: CryptoToken long name is a defined name for the ERC20 token. |
ยปยป settlement_network | string | false | none | Optional: CryptoToken settlement network for the ERC20 token. |
ยปยป short_name | string | false | none | Optional: CryptoToken short name to identify an ERC20 token. |
ยปยป signature | string | false | none | Optional: Proof of ownership signature for the address. |
status | boolean | true | none | None. |
#
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#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
brand | string | false | none | None. |
country | string | false | none | None. |
exp_month | integer(int32) | false | none | None. |
exp_year | integer(int32) | false | none | None. |
id | string | true | none | None. |
last4 | string | false | none | None. |
payment_type | string | true | none | None. |
#
Example{ "brand": "string", "country": "string", "exp_month": 0, "exp_year": 0, "id": "string", "last4": "string", "payment_type": "string"}
#
ProxyCallParameters#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
data | string | false | none | The data to pass through to the proxied service. |
service | string | true | none | ProxyService type. |
#
Enumerated ValuesProperty | Value |
---|---|
service | Echo |
service | Scraper |
#
Example{ "data": "string", "service": "Echo"}
#
ProxyResult#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
json | any | true | none | The response from the proxied service as a Json object. |
value | string | true | none | The response from the proxied service as a String. |
#
Example{ "json": null, "value": "string"}
#
PubkeyA hexadecimal representation of a 256-bit public key.
#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | A hexadecimal representation of a 256-bit public key. |
#
Example"74dfa32b2c227ca2aa9ce3922a735669835443c1c36596795de1f48dbfaf7b2f"
#
PublicLootBox#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
average_rhythm_score | number(double) | true | none | Average score of emoji IDs in loot box. |
created_at | string(date-time) | true | none | None. |
id | string(uuid) | true | none | None. |
lootbox_type | object | false | none | For Admin: Expanded Lootbox Type. |
ยป config | object | true | none | The loot box type's configuration parameters. |
ยปยป guarantees | [object] | true | none | A set of guaranteed drops in this loot box type. |
ยปยปยป count | integer(int64) | true | none | The number of guaranteed drops of this type in the loot box. |
ยปยปยป max_score | integer(int64) | true | none | The highest (inclusive) rhythm score range for guaranteed drop. |
ยปยปยป min_score | integer(int64) | true | none | The lowest (inclusive) rhythm score range for guaranteed drop. |
ยปยป max_base_score | integer(int64) | true | none | The upper bound (inclusive) rhythm score for standard yats in the loot box. |
ยปยป max_length | integer(int64) | true | none | Maximum yat length. |
ยปยป min_base_score | integer(int64) | true | none | The lower bound (inclusive) rhythm score for standard yats in the loot box. |
ยปยป min_length | integer(int64) | true | none | Minimum yat length. |
ยปยป size | integer(int64) | true | none | The number of yats in the loot box. |
ยปยป weights | [object] | true | none | A set of probability weightings for chance-based drops. |
ยปยปยป ipr | number(double) | true | none | The inverse probability ratio. |
ยปยปยป max_score | integer(int64) | true | none | The highest (inclusive) rhythm score range for inclusion when the probability spec hits. |
ยปยปยป min_score | integer(int64) | true | none | The lowest (inclusive) rhythm score range for inclusion when the probability spec hits. |
ยป created_at | string(date-time) | true | none | The timestamp for when this loot box type was created. |
ยป description | string | true | none | A more detailed description of the loot box type. |
ยป id | string(uuid) | true | none | The loot box type id. |
ยป name | string | true | none | The name of this loot box type. |
lootbox_type_id | string(uuid) | false | none | For Admin: The type of loot box, if applicable. |
owner | object | false | none | For Admin: Expanded owner of a lootbox. |
ยป alternate_id | string | false | none | None. |
ยป created_at | string(date-time) | true | none | None. |
ยป deactivated_at | string(date-time) | false | none | None. |
ยป email | string | false | none | None. |
ยป email_verified_at | string(date-time) | false | none | None. |
ยป first_name | string | false | none | None. |
ยป free_limit | integer(int32) | true | none | None. |
ยป id | string(uuid) | true | none | None. |
ยป last_name | string | false | none | None. |
ยป pubkeys | [string] | true | none | None. |
ยป remaining_free_emoji | integer(int32) | true | none | None. |
ยป role | string | true | none | None. |
ยป source | string | false | none | None. |
ยป two_factor_auth | [string] | false | none | None. |
ยป two_factor_last_prompted_at | string(date-time) | false | none | None. |
ยป two_factor_should_prompt | boolean | true | none | None. |
ยป updated_at | string(date-time) | true | none | None. |
owner_id | string(uuid) | false | none | Loot box owner_id, required for Owned and Used loot boxes. |
prices | [integer] | true | none | The prices of the yats in the box, in cents. |
scores | [integer] | true | none | The rhythm scores of the yats in the box. |
status | string | true | none | Status loot box will be created in. |
total_value | number(double) | true | none | Total value of EmojiIDs in the Loot Box. |
yats | [string] | true | none | Loot box yats. |
#
Enumerated ValuesProperty | Value |
---|---|
role | Admin |
role | OrgController |
role | OrgMember |
role | OrgOwner |
role | Bot |
role | Super |
role | User |
status | Draft |
status | Available |
status | Owned |
status | Used |
#
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": [ "๐ฑ๐๐๐ด๐ต" ]}
#
PublicLootBoxTypeHTTP schema for an existing LootBoxType record
#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
config | object | true | none | The loot box type's configuration parameters. |
ยป guarantees | [object] | true | none | A set of guaranteed drops in this loot box type. |
ยปยป count | integer(int64) | true | none | The number of guaranteed drops of this type in the loot box. |
ยปยป max_score | integer(int64) | true | none | The highest (inclusive) rhythm score range for guaranteed drop. |
ยปยป min_score | integer(int64) | true | none | The lowest (inclusive) rhythm score range for guaranteed drop. |
ยป max_base_score | integer(int64) | true | none | The upper bound (inclusive) rhythm score for standard yats in the loot box. |
ยป max_length | integer(int64) | true | none | Maximum yat length. |
ยป min_base_score | integer(int64) | true | none | The lower bound (inclusive) rhythm score for standard yats in the loot box. |
ยป min_length | integer(int64) | true | none | Minimum yat length. |
ยป size | integer(int64) | true | none | The number of yats in the loot box. |
ยป weights | [object] | true | none | A set of probability weightings for chance-based drops. |
ยปยป ipr | number(double) | true | none | The inverse probability ratio. |
ยปยป max_score | integer(int64) | true | none | The highest (inclusive) rhythm score range for inclusion when the probability spec hits. |
ยปยป min_score | integer(int64) | true | none | The lowest (inclusive) rhythm score range for inclusion when the probability spec hits. |
created_at | string(date-time) | true | none | The timestamp for when this loot box type was created. |
description | string | true | none | A more detailed description of the loot box type. |
id | string(uuid) | true | none | The loot box type id. |
name | string | true | none | The 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#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
result | [object] | true | none | Random Emoji IDs. |
ยป availability | string | true | none | The availability state of this emoji. |
ยป available | boolean | true | none | Whether the Emoji ID is available for purchase. |
ยป copy | any | false | none | EmojiID copy text. |
ยป emoji_id | string | true | none | Emoji ID in canonical form. |
ยป flippable_emoji | [boolean] | true | none | Which emoji are flippable. |
ยป generation | integer(int32) | false | none | The generation of the Yat, if it has been purchased. |
ยป length | integer(int64) | true | none | Canonical EmojiID length in emojis. |
ยป minted | boolean | true | none | If this Emoji is minted. |
ยป origin | string | false | none | The origin of the Yat if it was from a Prism Case. |
ยป price | integer(int32) | false | none | Pricing in US cents, e. |
ยป rhythm_score | integer(int64) | true | none | EmojiID rhythm score. |
ยป shape | object | true | none | None. |
ยปยป pattern | any | false | none | None. |
ยปยป shape | string | false | none | None. |
ยป short_names | [string] | true | none | Emoji key words. |
ยป stats | [object] | true | none | Total lookups using this API, if someone is viewing this Emoji ID using their own self hosted node, it will not be counted here. |
ยปยป description | string | true | none | None. |
ยปยป finish_date | string(date-time) | true | none | None. |
ยปยป key | string | true | none | Counter object. |
ยปยป metric | string | true | none | Counter type. |
ยปยป start_date | string(date-time) | true | none | None. |
ยปยป value | integer(int64) | true | none | Counter value. |
#
Enumerated ValuesProperty | Value |
---|---|
availability | Available |
availability | Taken |
availability | InCart |
availability | ComingSoon |
availability | NoPrice |
shape | Repeaters |
shape | Eye Heart |
shape | Bookends |
shape | Adoptables |
#
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#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
nonce | string | true | none | Schnorr signature nonce as a hex string. |
pubkey | string | true | none | Public key to authorize usage of a code. |
signature | string | true | none | Schnorr signature as a hex with alternate_id as a challenge. |
tracking_data | any | false | none | Custom tracking data to be associated with a purchase. |
#
Example{ "nonce": "string", "pubkey": "74dfa32b2c227ca2aa9ce3922a735669835443c1c36596795de1f48dbfaf7b2f", "signature": "string", "tracking_data": null}
#
RecentlyPurchasedResult#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
result | [object] | true | none | Recently purchased emoji. |
ยป availability | string | true | none | The availability state of this emoji. |
ยป available | boolean | true | none | Whether the Emoji ID is available for purchase. |
ยป copy | any | false | none | EmojiID copy text. |
ยป emoji_id | string | true | none | Emoji ID in canonical form. |
ยป flippable_emoji | [boolean] | true | none | Which emoji are flippable. |
ยป generation | integer(int32) | false | none | The generation of the Yat, if it has been purchased. |
ยป length | integer(int64) | true | none | Canonical EmojiID length in emojis. |
ยป minted | boolean | true | none | If this Emoji is minted. |
ยป origin | string | false | none | The origin of the Yat if it was from a Prism Case. |
ยป price | integer(int32) | false | none | Pricing in US cents, e. |
ยป rhythm_score | integer(int64) | true | none | EmojiID rhythm score. |
ยป shape | object | true | none | None. |
ยปยป pattern | any | false | none | None. |
ยปยป shape | string | false | none | None. |
ยป short_names | [string] | true | none | Emoji key words. |
ยป stats | [object] | true | none | Total lookups using this API, if someone is viewing this Emoji ID using their own self hosted node, it will not be counted here. |
ยปยป description | string | true | none | None. |
ยปยป finish_date | string(date-time) | true | none | None. |
ยปยป key | string | true | none | Counter object. |
ยปยป metric | string | true | none | Counter type. |
ยปยป start_date | string(date-time) | true | none | None. |
ยปยป value | integer(int64) | true | none | Counter value. |
#
Enumerated ValuesProperty | Value |
---|---|
availability | Available |
availability | Taken |
availability | InCart |
availability | ComingSoon |
availability | NoPrice |
shape | Repeaters |
shape | Eye Heart |
shape | Bookends |
shape | Adoptables |
#
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#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
refresh_token | string | true | none | Refresh token obtained from login request. |
#
Example{ "refresh_token": "string"}
#
RegisterUserParameters#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
activate | boolean | false | none | Optional: Whether to force activation during creation (requires UserActivate scope). |
activation_source | string | false | none | Optional: Source of activation (requires UserActivate scope). |
alternate_id | string | false | none | Alternate identifier. |
string | false | none | Email address. | |
first_name | string | false | none | Optional: first name. |
g_recaptcha_response | string | false | none | Response from google Recaptcha. |
last_name | string | false | none | Optional: last name. |
partner_conversion_id | string | false | none | Parameter to pass everflow click id. |
password | string | false | none | Optional: password. |
source | string | false | none | Required 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#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
rhythm | integer(int64) | true | none | The yat rhythm score, a number between 1 (least prestigious) and 100 (most prestigious). |
#
Example{ "rhythm": 0}
#
SearchResult#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
alternates | [object] | true | none | Alternative Emoji IDs. |
ยป availability | string | true | none | The availability state of this emoji. |
ยป available | boolean | true | none | Whether the Emoji ID is available for purchase. |
ยป copy | any | false | none | EmojiID copy text. |
ยป emoji_id | string | true | none | Emoji ID in canonical form. |
ยป flippable_emoji | [boolean] | true | none | Which emoji are flippable. |
ยป generation | integer(int32) | false | none | The generation of the Yat, if it has been purchased. |
ยป length | integer(int64) | true | none | Canonical EmojiID length in emojis. |
ยป minted | boolean | true | none | If this Emoji is minted. |
ยป origin | string | false | none | The origin of the Yat if it was from a Prism Case. |
ยป price | integer(int32) | false | none | Pricing in US cents, e. |
ยป rhythm_score | integer(int64) | true | none | EmojiID rhythm score. |
ยป shape | object | true | none | None. |
ยปยป pattern | any | false | none | None. |
ยปยป shape | string | false | none | None. |
ยป short_names | [string] | true | none | Emoji key words. |
ยป stats | [object] | true | none | Total lookups using this API, if someone is viewing this Emoji ID using their own self hosted node, it will not be counted here. |
ยปยป description | string | true | none | None. |
ยปยป finish_date | string(date-time) | true | none | None. |
ยปยป key | string | true | none | Counter object. |
ยปยป metric | string | true | none | Counter type. |
ยปยป start_date | string(date-time) | true | none | None. |
ยปยป value | integer(int64) | true | none | Counter value. |
result | object | true | none | The specific Emoji ID that the user requests. |
ยป availability | string | true | none | The availability state of this emoji. |
ยป available | boolean | true | none | Whether the Emoji ID is available for purchase. |
ยป copy | any | false | none | EmojiID copy text. |
ยป emoji_id | string | true | none | Emoji ID in canonical form. |
ยป flippable_emoji | [boolean] | true | none | Which emoji are flippable. |
ยป generation | integer(int32) | false | none | The generation of the Yat, if it has been purchased. |
ยป length | integer(int64) | true | none | Canonical EmojiID length in emojis. |
ยป minted | boolean | true | none | If this Emoji is minted. |
ยป origin | string | false | none | The origin of the Yat if it was from a Prism Case. |
ยป price | integer(int32) | false | none | Pricing in US cents, e. |
ยป rhythm_score | integer(int64) | true | none | EmojiID rhythm score. |
ยป shape | object | true | none | None. |
ยปยป pattern | any | false | none | None. |
ยปยป shape | string | false | none | None. |
ยป short_names | [string] | true | none | Emoji key words. |
ยป stats | [object] | true | none | Total lookups using this API, if someone is viewing this Emoji ID using their own self hosted node, it will not be counted here. |
ยปยป description | string | true | none | None. |
ยปยป finish_date | string(date-time) | true | none | None. |
ยปยป key | string | true | none | Counter object. |
ยปยป metric | string | true | none | Counter type. |
ยปยป start_date | string(date-time) | true | none | None. |
ยปยป value | integer(int64) | true | none | Counter value. |
#
Enumerated ValuesProperty | Value |
---|---|
availability | Available |
availability | Taken |
availability | InCart |
availability | ComingSoon |
availability | NoPrice |
shape | Repeaters |
shape | Eye Heart |
shape | Bookends |
shape | Adoptables |
availability | Available |
availability | Taken |
availability | InCart |
availability | ComingSoon |
availability | NoPrice |
shape | Repeaters |
shape | Eye Heart |
shape | Bookends |
shape | Adoptables |
#
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#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
pattern | any | false | none | None. |
shape | string | false | none | None. |
#
Enumerated ValuesProperty | Value |
---|---|
shape | Repeaters |
shape | Eye Heart |
shape | Bookends |
shape | Adoptables |
#
Example{ "pattern": null, "shape": "Repeaters"}
#
SignatureRequest#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
account | string | true | none | None. |
expiry | integer(int64) | false | none | None. |
#
Example{ "account": "string", "expiry": 0}
#
SignatureResponse#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
account | string | true | none | None. |
expiry | integer(int64) | true | none | None. |
signature | string | true | none | None. |
token | string | true | none | None. |
#
Example{ "account": "string", "expiry": 0, "signature": "string", "token": "string"}
#
StoreJsonBody#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
data | any | true | none | Data value allows to store any Json value, limited by 250Kb. |
linked_tags | [any] | false | none | Link tag items as part of the transaction All previously linked tags not present in new request will be deleted. |
ยป data | string | true | none | Category data in text format. |
ยป tag | string | true | none | Category ID as a hex number. |
#
Example{ "data": null, "linked_tags": [ { "data": "127.0.0.1", "tag": "0x4101" } ]}
#
SuccessResponse#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
message | string | true | none | None. |
#
Example{ "message": "string"}
#
SuccessResponse2FA#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
message | string | true | none | None. |
phone_last_digits | string | false | none | None. |
#
Example{ "message": "string", "phone_last_digits": "string"}
#
TokenResponse#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
access_token | string | true | none | Access token. |
has_password | boolean | true | none | Has a password set. |
refresh_token | string | true | none | Refresh token, only required for 2FA (???). |
requires_2fa | string | false | none | Whether has 2FA enabled or not. |
#
Enumerated ValuesProperty | Value |
---|---|
requires_2fa | GoogleAuthenticator |
requires_2fa | SMS |
#
Example{ "access_token": "string", "has_password": true, "refresh_token": "string", "requires_2fa": "GoogleAuthenticator"}
#
TransferRequest#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
clear_on_transfer | boolean | true | none | Clear emoji data when emoji transferred to destination. |
eid | string | true | none | None. |
string | true | none | Transfer to specified email, would register new user account if not existent. | |
force_transfer | boolean | true | none | Admin can force transfer, for regular user it has no effect. |
message | string | false | none | Message displayed to recipient and included in the invitiation email. |
#
Example{ "clear_on_transfer": true, "eid": "๐ฑ๐๐๐ด๐ต", "email": "string", "force_transfer": true, "message": "string"}
#
UpdateAccountResponse#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
everflow_transaction_id | string | false | none | transaction id indicating if the user signed up from a partner via everflow redirect. |
features | [object] | false | none | Enabled features for the user. |
ยป code | string | true | none | None. |
ยป id | string(uuid) | true | none | None. |
global_scopes | [string] | false | none | A list of fine-grained permissions the user may perform. |
organization_roles | object | false | none | The role this user has in each organisation. |
ยป additionalProperties | string | false | none | None. |
organization_scopes | object | false | none | The scopes that are granted to this user for each organisation. |
ยป additionalProperties | [string] | false | none | None. |
pending_transfers | [string] | false | none | List of transfers pending acceptance on current user side. |
pubkeys | [string] | false | none | A list of this user's public keys. |
role | string | false | none | The role assigned to this user. |
token_response | object | false | none | None. |
ยป access_token | string | true | none | Access token. |
ยป has_password | boolean | true | none | Has a password set. |
ยป refresh_token | string | true | none | Refresh token, only required for 2FA (???). |
ยป requires_2fa | string | false | none | Whether has 2FA enabled or not. |
user | object | false | none | The current user's details. |
ยป alternate_id | string | false | none | None. |
ยป created_at | string(date-time) | true | none | None. |
ยป deactivated_at | string(date-time) | false | none | None. |
ยป email | string | false | none | None. |
ยป email_verified_at | string(date-time) | false | none | None. |
ยป first_name | string | false | none | None. |
ยป free_limit | integer(int32) | true | none | None. |
ยป id | string(uuid) | true | none | None. |
ยป last_name | string | false | none | None. |
ยป pubkeys | [string] | true | none | None. |
ยป remaining_free_emoji | integer(int32) | true | none | None. |
ยป role | string | true | none | None. |
ยป source | string | false | none | None. |
ยป two_factor_auth | [string] | false | none | None. |
ยป two_factor_last_prompted_at | string(date-time) | false | none | None. |
ยป two_factor_should_prompt | boolean | true | none | None. |
ยป updated_at | string(date-time) | true | none | None. |
#
Enumerated ValuesProperty | Value |
---|---|
additionalProperties | Admin |
additionalProperties | OrgController |
additionalProperties | OrgMember |
additionalProperties | OrgOwner |
additionalProperties | Bot |
additionalProperties | Super |
additionalProperties | User |
role | Admin |
role | OrgController |
role | OrgMember |
role | OrgOwner |
role | Bot |
role | Super |
role | User |
requires_2fa | GoogleAuthenticator |
requires_2fa | SMS |
role | Admin |
role | OrgController |
role | OrgMember |
role | OrgOwner |
role | Bot |
role | Super |
role | User |
#
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#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
currencies | [string] | true | none | None. |
logo | string | false | none | None. |
logo_small | string | false | none | None. |
logo_thumbnail | string | false | none | None. |
requires_email | boolean | false | none | None. |
return_link | string | true | none | None. |
#
Example{ "currencies": [ "string" ], "logo": "string", "logo_small": "string", "logo_thumbnail": "string", "requires_email": true, "return_link": "string"}
#
UpdateUserParameters#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
current_password | string | false | none | Optional: Current password, must be provided if one exists. |
string | false | none | Optional: Email. | |
first_name | string | false | none | Optional: First name. |
last_name | string | false | none | Optional: Last name. |
password | string | false | none | Optional: User password. |
#
Example{ "current_password": "string", "email": "string", "first_name": "string", "last_name": "string", "password": "string"}
#
UserInterest#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
created_at | string(date-time) | true | none | None. |
emoji_id | string | true | none | None. |
id | string(uuid) | true | none | None. |
updated_at | string(date-time) | true | none | None. |
user_id | string(uuid) | true | none | None. |
#
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#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
eth_address | string | true | none | None. |
user_id | string(uuid) | true | none | None. |
#
Example{ "eth_address": "string", "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"}
#
WalletSyncRequest#
PropertiesName | Type | Required | Restrictions | Description |
---|---|---|---|---|
signature | string | true | none | None. |
source | string | true | none | None. |
#
Enumerated ValuesProperty | Value |
---|---|
source | Mint |
source | Dashboard |
#
Example{ "signature": "string", "source": "Mint"}