Introduction
Welcome to the Eumlet REST API Documentation. Eumlet empowers businesses to digitalize their banking operations, transcending global boundaries. Harnessing the power of data and artificial intelligence, our platform offers valuable insights into transactions and payment operations. We are committed to building a sustainable and accessible financial future for everyone.
This documentation provides all the necessary endpoints you'll need to make the most of our offerings.
Eumlet API Key Features
Before you dive into the nitty-gritty details of each endpoint, let's familiarize you with some core features:
Authentication: Utilizing OAuth2 for user authentication, Eumlet ensures robust protection of user data and privacy.
Rate Limits: To maintain high performance and accessibility, our API implements rate limiting. See our Rate Limits section for more details.
Endpoints: Our API is equipped with a diverse range of endpoints, meticulously designed to meet various banking operation needs—be it initiating transactions, retrieving insights, or managing user profiles.
Geolocation: The Eumlet API is designed to facilitate cross-border transactions and solutions, therefore, recognizing the diverse needs of diverse regions, our API has multiple sections for users from different regions. See our Geolocation section for country support and more details.
Support: Need assistance? Consult the Support section in this documentation to learn how to get in touch with our team.
Who is this API For?
This API is specifically designed for third-party platforms seeking to integrate Eumlet's capabilities into their products or services. For individual users, we recommend using the Eumlet Portal, which also utilizes this API.
Health
Should expect a 200 Response
curl "https://api.eumlet.com/api/v1/health" \
Ensures that the Eumlet API is up and running.
HTTP Request
GET https://api.eumlet.com/api/v1/health
Platform Authentication
To authorize, use this code:
# With shell, you can just pass the correct header with each request
curl "api_endpoint_here" \
-H "X-Platform-Token: jwt-access-token"
Make sure to replace
jwt-access-tokenwith your API key.
Data from third-party platforms integrating our API is typically stored on our databases. However, for platforms needing separate data storage, we offer a private authentication key to be used with all API calls. This segregates and manages the platform's data independently.
To set up these access keys, please email hello@eumlet.com with the subject Private Platform Key.
X-Platform-Header: jwt-access-code
Authentication
The Eumlet API uses OAuth2 redirect authentication method in order to allow users to authenticate. The authentication returns an auth_code that needs to be verified within our API to generate a JWT access token that can be used as an Authorization header.
Create Authentication URL
curl "https://api.eumlet.com/api/v1/auth" \
The above command returns an auth_url and a nonce.
{
"auth_url": "string",
"nonce": "string",
}
This endpoint creates a URL that the platform redirects the user to for authentication. The redirect_url provided needs to be secure HTTPS or redirection will fail!
It also generates a nonce that the platform must store to ensure that the user has authenticated with the proper URL. This will be needed at verification.
HTTP Request
GET https://api.eumlet.com/api/v1/auth
Query Parameters
| Parameter | Type | Description |
|---|---|---|
| redirect_url | string | The URL that user is redirected to after authentication is complete. |
Post-Authentication
After the user completes authentication in our platform, they are redirected back to the URL passed in redirect_url with 2 parameters included:
auth_code: the Authentication code that will be used to generate the access token.nonce: The nonce that needs to match the nonce provided initially when generating the URL.
Verify Authentication Code
curl "https://api.eumlet.com/api/v1/auth/verify" \
-X POST \
-H "Content-Type: application/json" \
-d '{"auth_code":"your_auth_code_value"}'
The above command returns the jwt access token for the user.
{
"jwt_token": "jwt_access_token"
}
This endpoint verifies a code recieved at authentication and generates securely a JWT access token for the user.
HTTP Request
POST https://api.example.com/api/v1/auth/verify
URL Parameters
| Parameter | Description |
|---|---|
| auth_code | The code received after user authentication. |
Verifying Authentication
curl -X 'GET' \
'https://api.eumlet.com/api/v1/login/' \
-H 'accept: application/json'
This expects a 200 Response Code.
To ensure that the user authentication is successful, this endpoint can be called to verify that it is successful.
HTTP Request
GET https://api.eumlet.com/api/v1/login/
RTBS-only Authentication
The Eumlet platform offers private access tokens to corporate clients looking to solely utilize our RTBS endpoints. Note that to use these access tokens, the client should follow some terms and conditions set as part of an agreement with the platform. For more information, please contact support.
Geolocation
The Eumlet API is designed to facilitate cross-border transactions and solutions, therefore, recognizing the diverse needs of diverse regions, our API has multiple sections for users from different regions.
Supported Countries
As of today, the countries that are supported by our API are:
- The UAE
- More coming soon...
Disclaimer on Country Support
Please note that while the Eumlet API strives to provide broad global coverage, the regulatory environment in certain countries is dynamic and can change unpredictably. As a result, for reasons beyond Eumlet's control, some countries that were previously supported might no longer be available in our API offerings.
We understand the importance of consistency and reliability for our users. Therefore, any such changes will be communicated as swiftly as possible. Nevertheless, developers are encouraged to regularly review our Supported Countries list and consult our Changelog for updates related to country availability.
Eumlet holds no responsibility for any disruptions or inconveniences caused due to such regulatory changes. We recommend developers to design their implementations with a fallback or alternative mechanism should a particular country's support be withdrawn.
Use Cases
At Eumlet, we understand the myriad ways in which APIs can empower businesses and foster innovation. The use cases listed here offer a snapshot of the potential applications of the Eumlet API. While these illustrate some core applications, remember that our API's versatility means the possibilities are virtually limitless!
UAE to UK Retainer Payments
One of the standout capabilities of the Eumlet API is facilitating cross-border payments, streamlining the complexities of international transactions. Let's delve into the intricate process of retainer payments from the UAE to the UK. Imagine this scenario:
A UAE consultancy firm in Dubai (UAE) that has hired a marketing agency from the UK on a retainer basis with a 10,000 USD payment required every month. If the retainer was to happen using traditional banking services there is multiple challenges that the partnership could face:
- Large Banking Fees: International transfers usually come with hefty fees which can add up quickly on monthly retainer payments.
- Regulatory Hurdles: Both the UAE and the UK have stringent banking regulations. Ensuring compliance on both ends is crucial.
- Transfer Delays: International transfers aren't always instantaneous, potentially leading to service disruptions or strained business relationships.
With Eumlet, all these problems are resolved instantly.
Step by Step Guide
Coming soon...
Users
curl "https://api.eumlet.com/api/v1/users/me" \
-H "Authentication: Bearer <jwt_access_token>" \
This section contains all the endpoints that provide user-specific functionalities. Please note that all endpoints in this section require a user access token, which must be included as an "Authentication Bearer" header.
Get All Users Profile
curl -X 'GET' \
'https://api.eumlet.com/api/v1/users/all' \
-H "Authentication: Bearer <jwt_access_token>" \
-H 'accept: application/json' \
The response will be a string object all the user details.
string
This endpoint enables you to retrieve all users from the database.
HTTP Request
GET https://api.eumlet.com/api/v1/users/all
Read the User's Profile
curl -X 'GET' \
'https://api.eumlet.com/api/v1/users/me/' \
-H "Authentication: Bearer <jwt_access_token>" \
-H 'accept: application/json' \
The response will be a JSON object containing all the user details.
{
"first_name": "string",
"last_name": "string",
"full_name": "string",
"nickname": "string",
"date_of_birth": "2023-08-24T22:37:50.973Z",
"address": "string",
"country_code": "string",
"email": "user@example.com",
"phone_number": "string",
"referral_email": "user@example.com",
"picture": "string",
"company_name": "string",
"company_address": "string",
"company_country_code": "string",
"company_registration_number": "string",
"company_email": "string",
"is_business": true,
"is_registered": false,
"is_verified": false,
"is_public": true,
"is_active": true,
"is_superuser": false,
"in_app_notifications": true,
"email_notifications": true,
"id": 0
}
This endpoint enables you to retrieve all the details of the user's profile.
HTTP Request
GET https://api.eumlet.com/api/v1/users/me
Update the User's Profile using PUT method
curl "https://api.eumlet.com/api/v1/users/me" \
-H "Authentication: Bearer <jwt_access_token>" \
-H "Content-Type: application/json" \
-X PUT
-d {"picture": "new_string"}
The response will be a JSON object containing all the updated details of the user's profile.
{
"first_name": "string",
"last_name": "string",
"full_name": "string",
"nickname": "string",
"date_of_birth": "2023-08-24T22:54:19.806Z",
"address": "string",
"country_code": "string",
"email": "user@example.com",
"phone_number": "string",
"referral_email": "user@example.com",
"picture": "string",
"company_name": "string",
"company_address": "string",
"company_country_code": "string",
"company_registration_number": "string",
"company_email": "string",
"is_business": true,
"is_registered": false,
"is_verified": false,
"is_public": true,
"is_active": true,
"is_superuser": false,
"in_app_notifications": true,
"email_notifications": true,
"id": 0
}
This endpoint allows you to update the user's profile with all the necessary data for the user details.
HTTP Request
POST https://api.eumlet.com/api/v1/users/me
Request Body
| Key | Value | Description |
|---|---|---|
| is_public | boolean | Default value is true. Indicates whether the user is public or not. |
| picture | string | URL for the user's profile picture. |
| in_app_notifications | boolean | Toggle for receiving in-app notifications from Eumlet. |
| email_notifications | boolean | Toggle for receiving email notifications from Eumlet. |
Update the User's Profile using POST method
curl -X 'POST' \
'https://api.eumlet.com/api/v1/users/me/' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"first_name": "string",
"last_name": "string",
"date_of_birth": "2023-08-25T14:11:38.416Z",
"address": "string",
"country_code": "string",
"phone_number": "string",
"referral_email": "string",
"is_business": true,
"company_name": "string",
"company_address": "string",
"company_country_code": "string",
"company_registration_number": "string",
"company_email": "string"
}'
The response will be a JSON containing all the updated details of the user's profile.
{
"first_name": "string",
"last_name": "string",
"full_name": "string",
"nickname": "string",
"date_of_birth": "2023-08-24T22:54:19.806Z",
"address": "string",
"country_code": "string",
"email": "user@example.com",
"phone_number": "string",
"referral_email": "user@example.com",
"picture": "string",
"company_name": "string",
"company_address": "string",
"company_country_code": "string",
"company_registration_number": "string",
"company_email": "string",
"is_business": true,
"is_registered": false,
"is_verified": false,
"is_public": true,
"is_active": true,
"is_superuser": false,
"in_app_notifications": true,
"email_notifications": true,
"id": 0
}
This endpoint allows to update the user's profile with any data necessary from the user details.
HTTP Request
POST https://api.eumlet.com/api/v1/users/me
Request Body
| Key | Value | Description |
|---|---|---|
| first_name | string | First Name of the User. |
| last_name | string | Last Name of the User. |
| date_of_birth | Date | Date of Birth of the User. |
| address | string | Address of the User. |
| country_code | string | Country Code of the User (Ex- +91 for India). |
| phone_number | string | Contact Number used by User to Login. |
| referral_email | string | If you have created Account with help of referral. |
| is_business | boolean | Company Registered is User or not. |
| company_name | string | Name of your Company. |
| company_address | string | Address of your Company. |
| company_country_code | string | Country Code of your Company. (Ex- +91 for India). |
| company_registration_number | string | Registration Number of your Company. |
| company_email | string | Email of your Company. |
Get User Default Information
curl -X 'GET' \
'https://api.eumlet.com/api/v1/users/me/defaults/' \
-H 'accept: application/json'
The response is a JSON with the user's default information.
{
"network_id": 0,
"cryptocurrency_id": 0
}
This endpoint allows to get the authenticated user's default informations from the Database.
HTTP Request
GET https://api.eumlet.com/api/v1/users/me/defaults
Set User Default Information
curl -X 'POST' \
'https://api.eumlet.com/api/v1/users/me/defaults/' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"network_id": 0,
"cryptocurrency_id": 0
}'
The response is a JSON with the new user's default informations.
{
"network_id": 0,
"cryptocurrency_id": 0
}
This endpoint allows to Sets the authenticated user's default information for deposits and payments.
HTTP Request
POST https://api.eumlet.com/api/v1/users/me/defaults
Request Body
| Key | Value | Description |
|---|---|---|
| network_id | integer | Network ID to work on. |
| cryptocurrency_id | integer | ID of Cryptocurrency using over a particular network. |
Search User by attribute
curl -X 'GET' \
'https://api.eumlet.com/api/v1/users/search/?string=NAME' \
-H 'accept: application/json'
The response is a JSON with the details of all users with matching attribute.
[
{
"id": 0,
"is_business": false,
"email": "user1@example.com",
"full_name": "string",
"eth_address": "string",
"terra_address": "string",
"nickname": "string",
"company_name": "string",
"picture": "string"
},
{
"id": 1,
"is_business": false,
"email": "user2@example.com",
"full_name": "string",
"eth_address": "string",
"terra_address": "string",
"nickname": "string",
"company_name": "string",
"picture": "string"
}
]
This endpoint allows to Search all the users with matching attributes.
HTTP Request
GET https://api.eumlet.com/api/v1/users/search
Search User by ID
curl -X 'GET' \
'https://api.eumlet.com/api/v1/users/{id}/' \
-H 'accept: application/json'
The response is a JSON with the details of unique users with matching ID.
{
"id": 0,
"is_business": false,
"email": "user@example.com",
"full_name": "string",
"eth_address": "string",
"terra_address": "string",
"nickname": "string",
"company_name": "string",
"picture": "string"
}
This endpoint allows to Search the unique user with matching ID in the Database.
HTTP Request
GET https://api.eumlet.com/api/v1/users/{id}/
Search User's Contacts by Email or Name
curl -X 'GET' \
'https://api.eumlet.com/api/v1/users/contacts/search/?string=NAME_OR_EMAIL' \
-H 'accept: application/json'
The response is a JSON with the details of users with matching email or name.
[
{
"id": 0,
"is_business": false,
"email": "user@example.com",
"full_name": "string",
"eth_address": "string",
"terra_address": "string",
"nickname": "string",
"company_name": "string",
"picture": "string"
}
]
This endpoint allows to Search the users with matching email or name in the Database.
HTTP Request
GET https://api.eumlet.com/api/v1/users/contacts/search/
Get User Details
curl -X 'GET' \
'https://api.eumlet.com/api/v1/users/contacts/me/' \
-H 'accept: application/json'
The response is a JSON with the contact of authenticated users.
[
{
"id": 0,
"is_business": false,
"email": "user@example.com",
"full_name": "string",
"eth_address": "string",
"terra_address": "string",
"nickname": "string",
"company_name": "string",
"picture": "string"
}
]
This endpoint allows to Get the contact of authenticated user.
HTTP Request
GET https://api.eumlet.com/api/v1/users/contacts/me/
Add contact to user list
curl -X 'GET' \
'https://api.eumlet.com/api/v1/users/contacts/add/?id={ID}' \
-H 'accept: application/json'
The response is a string with the searched contact if it exists.
"string"
This endpoint allows to Add User to Authenticated User's contact list.
HTTP Request
GET https://api.eumlet.com/api/v1/users/contacts/add/
Delete contact from user list
curl -X 'DELETE' \
'https://api.eumlet.com/api/v1/users/contacts/delete/?contact_id={ID}' \
-H 'accept: application/json'
The response is a string for the deleted contact from user list if it exists.
"string"
This endpoint allows to Delete User from Authenticated User's contact list.
HTTP Request
GET https://api.eumlet.com/api/v1/users/contacts/delete/
History
curl "https://api.eumlet.com/api/v1/history/" \
-H "Authentication: Bearer <jwt_access_token>" \
Eumlet offers a history of all transactions performed by a user on the Eumlet platform. To access these endpoints in this section, there is a need for the Authentication Bearer header.
Return User's History
curl -X 'GET' \
'https://api.eumlet.com/api/v1/history/?descending=false&page={PAGE_NO}&size={SIZE}' \
-H 'accept: application/json' \
-H "Authentication: Bearer <jwt_access_token>" \
The response will be a JSON object containing the user's transaction history, filtered according to the specified criteria.
{
"items": [
{
"id": 0,
"created_at": "2023-08-25T17:32:05.184Z",
"status": "pending",
"amount": 0,
"purpose": "string",
"sender": {
"id": 0,
"is_business": false,
"email": "user@example.com",
"full_name": "string",
"eth_address": "string",
"terra_address": "string",
"nickname": "string",
"company_name": "string",
"picture": "string"
},
"receiver": {
"id": 0,
"is_business": false,
"email": "user@example.com",
"full_name": "string",
"eth_address": "string",
"terra_address": "string",
"nickname": "string",
"company_name": "string",
"picture": "string"
},
"cryptocurrency": {
"decimals": 0,
"address": "string",
"name": "string",
"symbol": "string",
"terra_denom": "string",
"id": 0,
"network": {
"id": 0,
"chain_id": "string",
"name": "string",
"type": "string",
"node_url": "string"
}
}
}
],
"total": 0,
"page": 1,
"size": 1
}
This endpoint enables retrieval of the user's transaction history, applying a specific filter if one is provided.
HTTP Request
GET https://api.eumlet.com/api/v1/history/
Parameters Body
| Parameter | Value Type | Description |
|---|---|---|
| type | String | Specifies the transaction type: either "sending" or "receiving". |
| status | String | Transaction status: options include "pending," "failed," "in_progress," "paused," "cancelled," "completed," "undefined," "rejected," "disabled," "claimed," "claim_time," and "confirmed." |
| cryptocurrency_id | Integer | ID corresponding to the cryptocurrency network. |
| order | String | Type of sorting order. |
| descending | Boolean | Determines the sort order for the transaction history: ascending or descending. |
| from | Query | Start date for filtering transactions. |
| to | Query | End date for filtering transactions. |
| page | Integer | Page number for paginated results; minimum value is 1. |
| size | Integer | Number of transactions to display per page; maximum is 100, minimum is 1 |
Groups
curl "https://api.eumlet.com/api/v1/group/" \
-H "Authentication: Bearer <jwt_access_token>" \
This section will host all the endpoints that cater for users belong to specific group functionalities. Note that all endpoints in this section will require the user access token as an Authentication Bearer header.
Delete the User Profile from Group
curl -X 'DELETE' \
'https://api.eumlet.com/api/v1/group/users/' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"id": 0,
"users": [
{
"user_id": 0
}
]
}'
The response is a JSON with all the group object.
{
"id": 0,
"name": "string",
"description": "string",
"owner": {
"id": 0,
"is_business": false,
"email": "user@example.com",
"full_name": "string",
"eth_address": "string",
"terra_address": "string",
"nickname": "string",
"company_name": "string",
"picture": "string"
},
"users": [
{
"user_id": 0,
"rate": 0,
"position": "string",
"permissions": "string"
}
]
}
This endpoint allows to Delete users from a certain group in the database.
HTTP Request
DELETE https://api.eumlet.com/api/v1/group/users/
Search Group
curl -X 'GET' \
'https://api.eumlet.com/api/v1/group/search/?name={NAME}' \
-H 'accept: application/json'
The response is a JSON that returns a list of Group objects with the same name.
[
{
"id": 0,
"name": "string",
"description": "string",
"owner": {
"id": 0,
"is_business": false,
"email": "user@example.com",
"full_name": "string",
"eth_address": "string",
"terra_address": "string",
"nickname": "string",
"company_name": "string",
"picture": "string"
},
"users": [
{
"user_id": 0,
"rate": 0,
"position": "string",
"permissions": "string"
}
]
}
]
This endpoint allows you to search for groups in the database by their name.
HTTP Request
GET https://api.eumlet.com/api/v1/group/search/
Parameters Body
| Key | Value | Description |
|---|---|---|
| name | string | Name of groups to be searched. |
Search User in Group
curl -X 'GET' \
'https://api.eumlet.com/api/v1/group/{ID}/search/?string={NAME}' \
-H 'accept: application/json'
The response is a JSON containing details of the user in a particular group.
[
{
"group": {
"id": 0,
"name": "string",
"description": "string"
},
"user": {
"id": 0,
"is_business": false,
"email": "user@example.com",
"full_name": "string",
"eth_address": "string",
"terra_address": "string",
"nickname": "string",
"company_name": "string",
"picture": "string"
},
"rate": 0,
"position": "string",
"permissions": "string"
}
]
This endpoint allows you to find a user in a particular group.
HTTP Request
GET https://api.eumlet.com/api/v1/group/{ID}/search/
Parameters Body
| Key | Value | Description |
|---|---|---|
| ID | integer | ID of group. |
| NAME | string | Full Name of User to be searched. |
Get Groups Where User Is Owner
curl -X 'GET' \
'https://api.eumlet.com/api/v1/group/{ID}/' \
-H 'accept: application/json'
The response is a JSON containing the user's group details.
{
"id": 0,
"name": "string",
"created_at": "2023-08-25T18:12:44.630Z",
"description": "string",
"owner": {
"id": 0,
"is_business": false,
"email": "user@example.com",
"full_name": "string",
"eth_address": "string",
"terra_address": "string",
"nickname": "string",
"company_name": "string",
"picture": "string"
},
"users": [
{
"user_id": 0,
"user": {
"id": 0,
"is_business": false,
"email": "user@example.com",
"full_name": "string",
"eth_address": "string",
"terra_address": "string",
"nickname": "string",
"company_name": "string",
"picture": "string"
},
"rate": 0,
"position": "string",
"permissions": "string"
}
]
}
This endpoint allows you to retrieve the group that the user owns.
HTTP Request
GET https://api.eumlet.com/api/v1/group/{ID}/
Parameters Body
| Key | Value | Description |
|---|---|---|
| ID | integer | ID of group. |
Edit the Group Owned by the User
curl -X 'PUT' \
'https://api.eumlet.com/api/v1/group/{ID}/' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"name": "string",
"description": "string",
"users": [
{
"user_id": 0,
"rate": 0,
"position": "string",
"permissions": "string"
}
]
}'
The response is a JSON containing the edited group details.
{
"id": 0,
"name": "string",
"created_at": "2023-08-25T18:18:49.991Z",
"description": "string",
"owner": {
"id": 0,
"is_business": false,
"email": "user@example.com",
"full_name": "string",
"eth_address": "string",
"terra_address": "string",
"nickname": "string",
"company_name": "string",
"picture": "string"
},
"users": [
{
"user_id": 0,
"user": {
"id": 0,
"is_business": false,
"email": "user@example.com",
"full_name": "string",
"eth_address": "string",
"terra_address": "string",
"nickname": "string",
"company_name": "string",
"picture": "string"
},
"rate": 0,
"position": "string",
"permissions": "string"
}
]
}
This endpoint allows you to edit a group where the user is the owner. It returns an edited GroupResponse.
HTTP Request
PUT https://api.eumlet.com/api/v1/group/{ID}/
Parameter Body
| Key | Value | Description |
|---|---|---|
| ID | integer | ID to the user group. |
Request Body
| Key | Value | Description |
|---|---|---|
| name | string | Name of the user group. |
| description | string | Description of the user group. |
| user_id | integer | ID of the user. |
| rate | integer | Rate of the user group. |
| position | string | Position of the user group. |
| permissions | string | Permissions of the user group. |
Delete User Group
curl -X 'DELETE' \
'https://api.eumlet.com/api/v1/group/{ID}/' \
-H 'accept: application/json'
The response is a JSON containing the object of the deleted group.
{
"id": 0,
"name": "string",
"description": "string",
"owner": {
"id": 0,
"is_business": false,
"email": "user@example.com",
"full_name": "string",
"eth_address": "string",
"terra_address": "string",
"nickname": "string",
"company_name": "string",
"picture": "string"
},
"users": [
{
"user_id": 0,
"rate": 0,
"position": "string",
"permissions": "string"
}
]
}
This endpoint allows to delete a group where the user is the Owner.
HTTP Request
DELETE https://api.eumlet.com/api/v1/group/{ID}/
Parameter Body
| Key | Value | Description |
|---|---|---|
| ID | integer | ID of the user group. |
Update the User's Group
curl -X 'PATCH' \
'https://api.eumlet.com/api/v1/group/{ID}/' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"name": "string",
"description": "string",
"users": [
{
"user_id": 0,
"rate": 0,
"position": "string",
"permissions": "string"
}
]
}'
The response is a JSON with the updated details of the group.
{
"id": 0,
"name": "string",
"created_at": "2023-08-25T18:35:14.850Z",
"description": "string",
"owner": {
"id": 0,
"is_business": false,
"email": "user@example.com",
"full_name": "string",
"eth_address": "string",
"terra_address": "string",
"nickname": "string",
"company_name": "string",
"picture": "string"
},
"users": [
{
"user_id": 0,
"user": {
"id": 0,
"is_business": false,
"email": "user@example.com",
"full_name": "string",
"eth_address": "string",
"terra_address": "string",
"nickname": "string",
"company_name": "string",
"picture": "string"
},
"rate": 0,
"position": "string",
"permissions": "string"
}
]
}
This endpoint allows you to update a group where the user is the owner. It returns an updated GroupResponse.
HTTP Request
PATCH https://api.eumlet.com/api/v1/group/{ID}/
Parameter Body
| Key | Value | Description |
|---|---|---|
| ID | integer | ID of the user group. |
Request Body
| Key | Value | Description |
|---|---|---|
| name | string | Name of the user group. |
| description | string | Description of the user group. |
| user_id | integer | ID of the user. |
| rate | integer | Rate of the user group. |
| position | string | Position of the user group. |
| permissions | string | Permissions of the user group. |
Get the Group
curl -X 'GET' \
'https://api.eumlet.com/api/v1/group/?page={PAGE_NO}&size={SIZE}' \
-H 'accept: application/json'
The response is a JSON containing the details of the group, along with pagination.
{
"items": [
{
"id": 0,
"name": "string",
"created_at": "2023-08-25T18:40:29.896Z",
"description": "string",
"owner": {
"id": 0,
"is_business": false,
"email": "user@example.com",
"full_name": "string",
"eth_address": "string",
"terra_address": "string",
"nickname": "string",
"company_name": "string",
"picture": "string"
},
"users": [
{
"user_id": 0,
"user": {
"id": 0,
"is_business": false,
"email": "user@example.com",
"full_name": "string",
"eth_address": "string",
"terra_address": "string",
"nickname": "string",
"company_name": "string",
"picture": "string"
},
"rate": 0,
"position": "string",
"permissions": "string"
}
]
}
],
"total": 0,
"page": 1,
"size": 1
}
This endpoint allows you to retrieve all groups where the user is the owner, along with pagination.
HTTP Request
GET https://api.eumlet.com/api/v1/group/
Parameter Body
| Key | Value | Description |
|---|---|---|
| PAGE_NO | integer | Page no of the information. |
| SIZE | integer | content on a page. |
Create new Group
curl -X 'POST' \
'https://api.eumlet.com/api/v1/group/' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"name": "string",
"description": "string",
"users": [
{
"user_id": 0,
"rate": 0,
"position": "string",
"permissions": "string"
}
]
}'
The response is a JSON containing the contact information of authenticated users.
{
"id": 0,
"name": "string",
"created_at": "2023-08-25T18:43:30.014Z",
"description": "string",
"owner": {
"id": 0,
"is_business": false,
"email": "user@example.com",
"full_name": "string",
"eth_address": "string",
"terra_address": "string",
"nickname": "string",
"company_name": "string",
"picture": "string"
},
"users": [
{
"user_id": 0,
"user": {
"id": 0,
"is_business": false,
"email": "user@example.com",
"full_name": "string",
"eth_address": "string",
"terra_address": "string",
"nickname": "string",
"company_name": "string",
"picture": "string"
},
"rate": 0,
"position": "string",
"permissions": "string"
}
]
}
This endpoint allows you to create a new group with the user as the owner. It returns a new GroupResponse.
HTTP Request
POST https://api.eumlet.com/api/v1/group/
Request Body
| Key | Value | Description |
|---|---|---|
| name | string | Name of the user group. |
| description | string | Description of the user group. |
| user_id | integer | ID of the user. |
| rate | integer | Rate of the user group. |
| position | string | Position of the user group. |
| permissions | string | Permissions of the user group. |
Payment
curl "https://api.eumlet.com/api/v1/payment/" \
-H "Authentication: Bearer <jwt_access_token>" \
This section will host all the endpoints related to payment methods. Note that all endpoints in this section will require the user access token as an Authentication Bearer header.
Get the User's Streaming Payments
curl -X 'GET' \
'https://api.eumlet.com/api/v1/payment/streaming/?type={type}&status={status}&order={order}&descending={descending}&from={from}&to={to}&page={page}&size={size}' \
-H 'accept: application/json'
The response is a JSON containing all the streaming payments for the user with valid parameters.
{
"items": [
{
"id": 0,
"status": "pending",
"external_id": 0,
"amount": 0,
"total_amount": 0,
"withdrawn": 0,
"step": 0,
"started_at": "2023-09-05T09:32:52.737Z",
"ended_at": "2023-09-05T09:32:52.737Z",
"available": 0,
"purpose": "string",
"sender": {
"id": 0,
"is_business": false,
"email": "user@example.com",
"full_name": "string",
"eth_address": "string",
"terra_address": "string",
"nickname": "string",
"company_name": "string",
"picture": "string"
},
"receiver": {
"id": 0,
"is_business": false,
"email": "user@example.com",
"full_name": "string",
"eth_address": "string",
"terra_address": "string",
"nickname": "string",
"company_name": "string",
"picture": "string"
},
"cryptocurrency": {
"decimals": 0,
"address": "string",
"name": "string",
"symbol": "string",
"terra_denom": "string",
"id": 0,
"network": {
"id": 0,
"chain_id": "string",
"name": "string",
"type": "string",
"node_url": "string"
}
}
}
],
"total": 0,
"page": 1,
"size": 1
}
This endpoint allows you to retrieve all the streaming payments.
HTTP Request
GET https://api.eumlet.com/api/v1/payment/streaming/
Parameters Body
| Key | Value | Description |
|---|---|---|
| type | string | Type of method ie Sending or Receiving. |
| status | string | Select the status from bunch of options. |
| order | string | Order in which you want all the payments. |
| descending | boolean | by default boolean. |
| order | string | Order in which you want all the payments. |
| from | query | Starting index of payments. |
| to | query | Ending index of payments. |
| page | integer | by default: 1. |
| size | integer | by default content size on 1 page: 50. max-100 and min: 1 |
Get the User's Scheduled Payments
curl -X 'GET' \
'https://api.eumlet.com/api/v1/payment/scheduled/?type={type}&status={status}&order={order}&descending={descending}&from={from}&to={to}&page={page}&size={size}' \
-H 'accept: application/json'
The response is a JSON containing all the scheduled payments for the user with valid parameters.
{
"items": [
{
"id": 0,
"status": "pending",
"external_id": 0,
"unlocked_at": "2023-09-05T09:37:13.155Z",
"amount": 0,
"purpose": "string",
"sender": {
"id": 0,
"is_business": false,
"email": "user@example.com",
"full_name": "string",
"eth_address": "string",
"terra_address": "string",
"nickname": "string",
"company_name": "string",
"picture": "string"
},
"receiver": {
"id": 0,
"is_business": false,
"email": "user@example.com",
"full_name": "string",
"eth_address": "string",
"terra_address": "string",
"nickname": "string",
"company_name": "string",
"picture": "string"
},
"cryptocurrency": {
"decimals": 0,
"address": "string",
"name": "string",
"symbol": "string",
"terra_denom": "string",
"id": 0,
"network": {
"id": 0,
"chain_id": "string",
"name": "string",
"type": "string",
"node_url": "string"
}
}
}
],
"total": 0,
"page": 1,
"size": 1
}
This endpoint allows you to retrieve all the scheduled payments.
HTTP Request
GET https://api.eumlet.com/api/v1/payment/scheduled/
Parameters Body
| Key | Value | Description |
|---|---|---|
| type | string | Type of method, i.e., Sending or Receiving. |
| status | string | Select the status from a range of options. |
| order | string | Order in which you want the payments. |
| descending | boolean | Boolean, default: true. |
| from | query | Starting index of payments. |
| to | query | Ending index of payments. |
| page | integer | Default: 1. |
| size | integer | Default content size on one page: 50. Max: 100, Min: 1. |
Get the User's Instant Payments
curl -X 'GET' \
'https://api.eumlet.com/api/v1/payment/scheduled/?type={type}&status={status}&order={order}&descending={descending}&from={from}&to={to}&page={page}&size={size}' \
-H 'accept: application/json'
The response is a JSON that returns all the instant payments made by the user in the last 24 hours.
{
"items": [
{
"id": 0,
"status": "pending",
"created_at": "2023-09-05T09:39:57.947Z",
"amount": 0,
"purpose": "string",
"sender": {
"id": 0,
"is_business": false,
"email": "user@example.com",
"full_name": "string",
"eth_address": "string",
"terra_address": "string",
"nickname": "string",
"company_name": "string",
"picture": "string"
},
"receiver": {
"id": 0,
"is_business": false,
"email": "user@example.com",
"full_name": "string",
"eth_address": "string",
"terra_address": "string",
"nickname": "string",
"company_name": "string",
"picture": "string"
},
"cryptocurrency": {
"decimals": 0,
"address": "string",
"name": "string",
"symbol": "string",
"terra_denom": "string",
"id": 0,
"network": {
"id": 0,
"chain_id": "string",
"name": "string",
"type": "string",
"node_url": "string"
}
}
}
],
"total": 0,
"page": 1,
"size": 1
}
This endpoint allows you to retrieve all the instant payments made in the last 24 hours.
HTTP Request
GET https://api.eumlet.com/api/v1/payment/instant/
Parameters Body
| Key | Value | Description |
|---|---|---|
| page | integer | Default: 1. |
| size | integer | Default content size on one page: 50. Max: 100, Min: 1. |
New Payment
curl -X 'POST' \
'https://api.eumlet.com/api/v1/payment/' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"cryptocurrency_id": 0,
"receiver_addresses": [
"string"
],
"transaction_hash": "string",
"purpose": "string",
"type": "streaming"
}'
The response is a JSON containing the contact information of authenticated users.
"string"
This endpoint allows you to create a new payment. It returns a new string.
HTTP Request
POST https://api.eumlet.com/api/v1/payment/
Request Body
| Key | Value | Description |
|---|---|---|
| cryptocurrency_id | integer | ID for cryptocurrency being used. |
| receiver_addresses | string | Wallet Address of the Receiver. |
| transaction_hash | string | Hash of the Payment Done. |
| purpose | string | Description for the payment. |
| type | string | Streaming or Scheduled or Instant. |
Get User Payees
curl -X 'GET' \
'https://api.eumlet.com/api/v1/payment/payee/?page={page}&size={size}' \
-H 'accept: application/json'
The response is a JSON containing the payee's details.
{
"items": [
{
"id": 0,
"receiver": {
"id": 0,
"is_business": false,
"email": "user@example.com",
"full_name": "string",
"eth_address": "string",
"terra_address": "string",
"nickname": "string",
"company_name": "string",
"picture": "string"
},
"amount": 0,
"total_amount": 0,
"step": 0,
"started_at": "2023-09-05T10:01:54.367Z",
"ended_at": "2023-09-05T10:01:54.367Z",
"cryptocurrency": {
"decimals": 0,
"address": "string",
"name": "string",
"symbol": "string",
"terra_denom": "string",
"id": 0,
"network": {
"id": 0,
"chain_id": "string",
"name": "string",
"type": "string",
"node_url": "string"
}
}
}
],
"total": 0,
"page": 1,
"size": 1
}
This endpoint allows you to retrieve all the payee details and returns an edited response.
HTTP Request
GET https://api.eumlet.com/api/v1/payment/payee/
Parameter Body
| Key | Value | Description |
|---|---|---|
| page | integer | Default: 1. |
| size | integer | Default content size on one page: 50. Max: 100, Min: 1. |
Request Money
curl -X 'POST' \
'https://api.eumlet.com/api/v1/payment/request/' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"user_id": 0,
"amount": 0,
"cryptocurrency_id": 0,
"message": "string",
"invoice_link": "string"
}'
The response is a JSON containing a string.
"string"
This endpoint allows you to request money from someone.
HTTP Request
POST https://api.eumlet.com/api/v1/payment/request/
Request Body
| Key | Value | Description |
|---|---|---|
| user_id | integer | ID of the user. |
| amount | integer | Amount to be requested. |
| cryptocurrency_id | integer | ID of the Cryptocurrency. |
| message | string | Message if any. |
| invoice_link | string | Link to the invoice. |
Set Stream Pending Status
curl -X 'POST' \
'https://api.eumlet.com/api/v1/payment/streaming/set-pending/?id={id}' \
-H 'accept: application/json' \
-d ''
The response is a JSON containing a string.
"string"
This endpoint allows you to set the stream to a pending status.
HTTP Request
POST https://api.eumlet.com/api/v1/payment/streaming/set-pending/
Parameter Body
| Key | Value | Description |
|---|---|---|
| id | integer | ID of the Streaming Payment. |
Set Scheduled Pending Status
curl -X 'POST' \
'https://api.eumlet.com/api/v1/payment/scheduled/set-pending/?id={id}' \
-H 'accept: application/json' \
-d ''
The response is a JSON containing a string.
"string"
This endpoint allows you to set the scheduled status to pending.
HTTP Request
POST https://api.eumlet.com/api/v1/payment/scheduled/set-pending/
Parameter Body
| Key | Value | Description |
|---|---|---|
| id | integer | ID of the Streaming Payment. |
Create an Instant Payment
curl -X 'POST' \
'https://api.eumlet.com/api/v1/payment/create-payment-instant' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"amount": 0,
"receiver_address": [
"string"
],
"amounts": [
0
],
"network": "Polygon",
"token": "USDT"
}'
The response is a JSON containing transaction hash which will confirm payment on the repective network.
{
"transaction_hash": "string"
}
Makes a Instant payment for the user to all the recievers account from the array depending upon the Request Data entered.
HTTP Request
POST https://api.eumlet.com/api/v1/payment/create-payment-instant
Request Body
| Key | Value | Description |
|---|---|---|
| amount | integer | Amount to be send. |
| receiver_address | string[] | Array of String, each string is wallet address of the recievers account. |
| amounts | integer[] | Array of String, each string is equal amount to be send to respective reciever. |
| network | string | network over which amount is send. Eg Polygon, Avalanche, Terra. |
| token | string | currency symbol. Eg USDT, USDC |
Create a Streaming Payment
curl -X 'POST' \
'https://api.eumlet.com/api/v1/payment/create-payment-streaming' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"amount": 0,
"receiver_address": [
"string"
],
"amounts": [
0
],
"network": "Polygon",
"token": "USDT",
"streaming_start_time": 0,
"streaming_duration": 0,
"streaming_steps": 0
}'
The response is a JSON containing transaction hash which will confirm payment on the repective network.
{
"transaction_hash": "string"
}
Makes a Streaming payment for the user to all the recievers account from the array depending upon the Request Data intered. Usually this method of payment is used if you need to make payment on same date but at a particular time.
HTTP Request
POST https://api.eumlet.com/api/v1/payment/create-payment-streaming
Request Body
| Key | Value | Description |
|---|---|---|
| amount | integer | Amount to be send. |
| receiver_address | string[] | Array of String, each string is wallet address of the recievers account. |
| amounts | integer[] | Array of String, each string is equal amount to be send to respective reciever. |
| network | string | network over which amount is send. Eg Polygon, Avalanche, Terra. |
| token | string | currency symbol. Eg USDT, USDC |
| streaming_start_time | integer | time in seconds at which payment was created. |
| streaming_duration | integer | Time after which payment will be made. |
| streaming_steps | integer | Steps in the streaming payment. |
Create a Scheduled Payment
curl -X 'POST' \
'https://api.eumlet.com/api/v1/payment/create-payment-scheduled' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"amount": 0,
"receiver_address": [
"string"
],
"amounts": [
0
],
"network": "Polygon",
"token": "USDT",
"scheduled_timestamp": 0
}'
The response is a JSON containing transaction hash which will confirm payment on the repective network.
{
"transaction_hash": "string"
}
Makes a Scheduled payment for the user to all the recievers account from the array depending upon the Request Data intered. Usually this method is use to make payment if you need to transfer money after some days.
HTTP Request
POST https://api.eumlet.com/api/v1/payment/create-payment-scheduled
Request Body
| Key | Value | Description |
|---|---|---|
| amount | integer | Amount to be send. |
| receiver_address | string[] | Array of String, each string is wallet address of the recievers account. |
| amounts | integer[] | Array of String, each string is equal amount to be send to respective reciever. |
| network | string | network over which amount is send. Eg Polygon, Avalanche, Terra. |
| token | string | currency symbol. Eg USDT, USDC |
| scheduled_timestamp | integer | After how many seconds payment will be made. |
Withdraw Streaming Payment Balance
curl -X 'POST' \
'https://api.eumlet.com/api/v1/payment/streaming-withdraw' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"streamid": 0,
"network": "Polygon",
"token": "USDT"
}'
The response is a string containing transaction hash which will confirm payment on the repective network.
string
Withdraw the balance to your wallet that was earned through streaming payments.
HTTP Request
POST https://api.eumlet.com/api/v1/payment/streaming-withdraw
Request Body
| Key | Value | Description |
|---|---|---|
| streamid | integer | Stream ID for particular transcation. |
| network | string | network over which amount is send. Eg Polygon, Avalanche, Terra. |
| token | string | currency symbol. Eg USDT, USDC |
Claim Scheduled Payment
curl -X 'POST' \
'https://api.eumlet.com/api/v1/payment/schedule-claim' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"streamid": 0,
"network": "Polygon",
"token": "USDT"
}'
The response is a string containing transaction hash which will confirm payment on the repective network.
string
helps in claiming the balance to your wallet that was earned through scheduled payments.
HTTP Request
POST https://api.eumlet.com/api/v1/payment/streaming-withdraw
Request Body
| Key | Value | Description |
|---|---|---|
| streamid | integer | Stream ID for particular transcation. |
| network | string | network over which amount is send. Eg Polygon, Avalanche, Terra. |
| token | string | currency symbol. Eg USDT, USDC |
kyc
curl "https://api.eumlet.com/api/v1/kyc" \
-H "Authentication: Bearer <jwt_access_token>" \
This section will host all the endpoints related to KYC of the user. Note that all endpoints in this section will require the user access token as an Authentication Bearer header.
Create KYC Url
curl -X 'GET' \
'https://api.eumlet.com/api/v1/kyc/url?redirect_url={redirect_url}' \
-H 'accept: application/json'
The response is a JSON containing unique KYC url for the user containing session ID and a nonce.
{
"kyc_url": "string",
"nonce": "string"
}
This endpoint allows you to create unique url for user to complete his/her KYC.
HTTP Request
GET https://api.eumlet.com/api/v1/kyc/url
Parameters Body
| Key | Value | Description |
|---|---|---|
| redirect_url | string | Redirect URL after the kyc process has been completed. |
Create Zero Knowledge Proof for claim
curl -X 'POST' \
'https://api.eumlet.com/api/v1/kyc/create_proof/?expiry_minutes=30' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '[
{
"additionalProp1": "string",
}
]'
The response is a string containing proof id respect to particular claim.
string
This endpoint allows you to create a zero knowledge proof claim.
HTTP Request
POST https://api.eumlet.com/api/v1/kyc/create_proof
Request Body
| Key | Value | Description |
|---|---|---|
| additionalProp1 | string | Claim that user need to create. We can claim for more than 1 proof just add them to request body dictionary. |
Verify a Zero Knowledge Proof
curl -X 'POST' \
'https://api.eumlet.com/api/v1/kyc/verify_proof/?proof_id={proof_id}' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '[
{
"additionalProp1": "string",
}
]'
The response is a string containing boolean value depending upon tha claim made by the user.
string
This endpoint allows you to compare a zero knowledge proof claim made by the user with respect to a proof ID.
HTTP Request
POST https://api.eumlet.com/api/v1/kyc/verify_proof
Request Body
| Key | Value | Description |
|---|---|---|
| additionalProp1 | string | Claim that user need to create. We can claim for more than 1 proof just add them to request body dictionary. |
Parameter Body
| Key | Value | Description |
|---|---|---|
| proof_id | string | Proof ID that user need to compare with respect to request body claim dictionary. |
Networks
curl "https://api.eumlet.com/api/v1/network/" \
This section will host all the endpoints related to networks. Note that all endpoints in this section do not require the user access token as an Authentication Bearer header.
Get Networks
curl -X 'GET' \
'https://api.eumlet.com/api/v1/network/' \
-H 'accept: application/json'
The response is a JSON that returns all networks in the Eumlet database.
[
{
"type": "eth",
"id": 1,
"native_top_up_amount": 1,
"native_token_decimals": 18,
"utils_contract_address": "0x6Cff096d225E778dcDFe791Bd3EdFAd82C20bB3D",
"gas_limit": 1000000,
"max_filter_length": 1000,
"node_url": "https://polygon-mainnet.infura.io/v3/c734059fa88049f99aca1a08d5fc29e8",
"name": "Polygon",
"chain_id": "137",
"native_token": "MATIC",
"eumlet_contract_address": "0x7Be5c18C46293A8DA08670a06ba979eC31ab8bFc",
"latest_nonce": 211,
"confirmation_blocks": 0,
"speed_up_gas_price_multiplier": 1.5
},
{
"type": "eth",
"id": 2,
"native_top_up_amount": 0.1,
"native_token_decimals": 18,
"utils_contract_address": "0x6Cff096d225E778dcDFe791Bd3EdFAd82C20bB3D",
"gas_limit": 1000000,
"max_filter_length": 1000,
"node_url": "https://avalanche-mainnet.infura.io/v3/c734059fa88049f99aca1a08d5fc29e8",
"name": "Avalanche",
"chain_id": "43114",
"native_token": "AVAX",
"eumlet_contract_address": "0x7Be5c18C46293A8DA08670a06ba979eC31ab8bFc",
"latest_nonce": 25,
"confirmation_blocks": 0,
"speed_up_gas_price_multiplier": 1.5
},
{
"type": "terra",
"id": 3,
"native_top_up_amount": 0.1,
"native_token_decimals": 6,
"utils_contract_address": null,
"gas_limit": null,
"max_filter_length": null,
"node_url": "https://phoenix-lcd.terra.dev",
"name": "Terra",
"chain_id": "phoenix-1",
"native_token": "uluna",
"eumlet_contract_address": null,
"latest_nonce": null,
"confirmation_blocks": null,
"speed_up_gas_price_multiplier": 0
}
]
This endpoint allows you to retrieve a list of all networks in the Eumlet database.
HTTP Request
GET https://api.eumlet.com/api/v1/network/
Currency
curl "https://api.eumlet.com/api/v1/currency/" \
-H "Authentication: Bearer <jwt_access_token>" \
This section will host all the endpoints related to currencies used by Eumlet. Note that some of the endpoints in this section will require the user access token as an Authentication Bearer header.
Get Currencies
curl -X 'GET' \
'https://api.eumlet.com/api/v1/currency/' \
-H 'accept: application/json'
The response is a JSON containing all the group objects.
[
{
"name": "Pound Sterling",
"code": "GBP",
"id": 1
},
{
"name": "Euro",
"code": "EUR",
"id": 2
},
{
"name": "United States dollar",
"code": "USD",
"id": 3
},
{
"name": "United Arab Emirates dirham",
"code": "AED",
"id": 4
}
]
This endpoint allows you to list all the currencies available on the Eumlet Platform. The response is a list of DbCurrency objects.
HTTP Request
GET https://api.eumlet.com/api/v1/currency/
Get Balance History
curl -X 'GET' \
'https://api.eumlet.com/api/v1/balance/history/?date={date}&network_id={network_id}' \
-H 'accept: application/json' \
-H "Authentication: Bearer <jwt_access_token>" \
The response is a JSON that returns a list of Group objects.
[
{
"amount": 0,
"created_on": "2023-09-05"
}
]
This endpoint allows you to retrieve the user's balance from a certain timestamp. It also requires a JWT access token for authentication.
HTTP Request
GET https://api.eumlet.com/api/v1/balance/history/
Parameters Body
| Key | Value | Description |
|---|---|---|
| date | string | YYYY-MM-DD. Date from which the balance will be calculated. |
| network_id | integer | Network id, None for all networks. |
Proposal
curl "https://api.eumlet.com/api/v1/proposal/" \
-H "Authentication: Bearer <jwt_access_token>" \
This section will host all the endpoints related to proposals authored by the authenticated user. Note that all endpoints in this section will require the user access token as an Authentication Bearer header.
Return User's Proposals
curl -X 'GET' \
'https://api.eumlet.com/api/v1/proposal/?page={page}&size={size}' \
-H 'accept: application/json'
The response is a JSON containing a paginated list of proposals authored by the current user.
{
"items": [
{
"id": 0,
"status": "string",
"external_id": 0,
"total_amount": 0,
"type": "streaming",
"started_at": "2023-09-05T16:47:50.595Z",
"ended_at": "2023-09-05T16:47:50.595Z",
"receivers": [
{
"id": 0,
"is_business": false,
"email": "user@example.com",
"full_name": "string",
"eth_address": "string",
"terra_address": "string",
"nickname": "string",
"company_name": "string",
"picture": "string"
}
],
"sender": {
"id": 0,
"is_business": false,
"email": "user@example.com",
"full_name": "string",
"eth_address": "string",
"terra_address": "string",
"nickname": "string",
"company_name": "string",
"picture": "string"
},
"cryptocurrency": {
"decimals": 0,
"address": "string",
"name": "string",
"symbol": "string",
"terra_denom": "string",
"id": 0,
"network": {
"id": 0,
"chain_id": "string",
"name": "string",
"type": "string",
"node_url": "string"
}
}
}
],
"total": 0,
"page": 1,
"size": 1
}
This endpoint allows you to retrieve a paginated list of proposals authored by the current user.
HTTP Request
GET https://api.eumlet.com/api/v1/proposal/?page={page}&size={size}
Parameters Body
| params | Value | Description |
|---|---|---|
| page | integer | Page number. Minimum: 1. |
| size | integer | Number of transactions to display. Maximum: 100, Minimum: 1. |
Get the User's Authorizer
curl -X 'GET' \
'https://api.eumlet.com/api/v1/proposal/authorizer/' \
-H 'accept: application/json'
The response is a JSON that returns the authorizer of the current user, or "None" if it does not exist.
{
"id": 0,
"usd_limit": 0,
"position": "string",
"user": {
"id": 0,
"is_business": false,
"email": "user@example.com",
"full_name": "string",
"eth_address": "string",
"terra_address": "string",
"nickname": "string",
"company_name": "string",
"picture": "string"
},
"authorizer": {
"id": 0,
"is_business": false,
"email": "user@example.com",
"full_name": "string",
"eth_address": "string",
"terra_address": "string",
"nickname": "string",
"company_name": "string",
"picture": "string"
}
}
This endpoint allows you to retrieve the authorizer of the current user.
HTTP Request
GET https://api.eumlet.com/api/v1/proposal/authorizer/
Create New Authorizer
curl -X 'POST' \
'https://api.eumlet.com/api/v1/proposal/authorizer/' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"authorizer_id": 0,
"usd_limit": 0,
"position": "string"
}'
The response is a JSON that returns the newly created or edited authorizer.
{
"id": 0,
"usd_limit": 0,
"position": "string",
"user": {
"id": 0,
"is_business": false,
"email": "user@example.com",
"full_name": "string",
"eth_address": "string",
"terra_address": "string",
"nickname": "string",
"company_name": "string",
"picture": "string"
},
"authorizer": {
"id": 0,
"is_business": false,
"email": "user@example.com",
"full_name": "string",
"eth_address": "string",
"terra_address": "string",
"nickname": "string",
"company_name": "string",
"picture": "string"
}
}
This endpoint allows you to create a new authorizer for the current user or edit an existing one.
HTTP Request
POST https://api.eumlet.com/api/v1/proposal/authorizer/
Request Body
| Key | Value | Description |
|---|---|---|
| authorizer_id | integer | ID of the Authorizer. |
| usd_limit | integer | Limit of the USD. |
| position | string | Position of the User. |
Delete the User's Authorizer
curl -X 'DELETE' \
'https://api.eumlet.com/api/v1/proposal/authorizer/' \
-H 'accept: application/json'
The response is a JSON containing a string.
"string"
This endpoint allows you to delete the authorizer of the current user.
HTTP Request
DELETE https://api.eumlet.com/api/v1/proposal/authorizer/
Get Signature
curl -X 'GET' \
'https://api.eumlet.com/api/v1/proposal/signature/?id={id}' \
-H 'accept: application/json'
The response is a string representing the signature for the specified proposal and authorizer.
"string"
This endpoint allows you to generate a signature for the specified proposal ID and authorizer.
HTTP Request
GET https://api.eumlet.com/api/v1/proposal/signature/
Request Body
| Key | Value | Description |
|---|---|---|
| id | integer | ID of the proposal. |
Set Proposal Pending Status
curl -X 'POST' \
'https://api.eumlet.com/api/v1/proposal/set-pending/?id={id}' \
-H 'accept: application/json' \
-d ''
The response is a string.
"string"
This endpoint allows you to set the status of a proposal to "pending."
HTTP Request
POST https://api.eumlet.com/api/v1/proposal/set-pending/
Parameter Body
| Key | Value | Description |
|---|---|---|
| id | integer | The ID of the proposal to set to "pending". |
Payee
curl "https://api.eumlet.com/api/v1/payee/" \
-H "Authentication: Bearer <jwt_access_token>" \
This section will host all the endpoints related to the payee. Note that all endpoints in this section will require the user access token as an Authentication Bearer header.
Get User's Payees
curl -X 'GET' \
'https://api.eumlet.com/api/v1/payee/?page={page}&size={size}' \
-H 'accept: application/json'
The response is a JSON containing a paginated list of payees for the current user.
{
"items": [
{
"id": 0,
"user": {
"id": 0,
"is_business": false,
"email": "user@example.com",
"full_name": "string",
"eth_address": "string",
"terra_address": "string",
"nickname": "string",
"company_name": "string",
"picture": "string"
},
"created_at": "2023-09-05T17:16:07.987Z",
"full_name": "string",
"user_name": "string",
"email": "string",
"blockchain_address": "string",
"company": "string",
"position": "string",
"usd_rate": 0,
"rate_period": "string",
"group": {
"id": 0,
"name": "string",
"description": "string"
}
}
],
"total": 0,
"page": 1,
"size": 1
}
This endpoint allows you to retrieve a paginated list of payees for the current user.
HTTP Request
GET https://api.eumlet.com/api/v1/payee/
Parameters Body
| params | Value | Description |
|---|---|---|
| page | integer | Page number. Minimum: 1. |
| size | integer | Number of transactions to display. Maximum: 100, Minimum: 1. |
Create New Payee
curl -X 'POST' \
'https://api.eumlet.com/api/v1/payee/' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"user_id": 0,
"eth_address": "string",
"terra_address": "string",
"full_name": "string",
"user_name": "string",
"email": "string",
"company": "string",
"position": "string",
"usd_rate": 0,
"rate_period": "string",
"group_id": 0
}'
The response is a JSON that returns the created payee schema.
{
"id": 0,
"user": {
"id": 0,
"is_business": false,
"email": "user@example.com",
"full_name": "string",
"eth_address": "string",
"terra_address": "string",
"nickname": "string",
"company_name": "string",
"picture": "string"
},
"created_at": "2023-09-05T17:18:08.873Z",
"full_name": "string",
"user_name": "string",
"email": "string",
"blockchain_address": "string",
"company": "string",
"position": "string",
"usd_rate": 0,
"rate_period": "string",
"group": {
"id": 0,
"name": "string",
"description": "string"
}
}
This endpoint allows you to create a new payee for the current user.
HTTP Request
POST https://api.eumlet.com/api/v1/payee/
Request Body
| params | Value | Description |
|---|---|---|
| user_id | integer | User ID. |
| eth_address | string | Eth Address of user. |
| terra_address | string | Terra Address of user. |
| full_name | string | Full Name of User. |
| user_name | string | User name of User. |
| string | Email of the User. | |
| company | string | Company of the User. |
| position | string | Position of the User. |
| usd_rate | integer | Rate of the USD. |
| rate_period | string | Rate Period. |
| group_id | integer | Id of the Group to which user belong. |
Delete User's Payee
curl -X 'DELETE' \
'https://api.eumlet.com/api/v1/payee/?id={id}' \
-H 'accept: application/json'
The response is a string.
"string"
This endpoint allows you to delete a payee for the current user.
HTTP Request
DELETE https://api.eumlet.com/api/v1/payee/
Parameter Body
| Key | Value | Description |
|---|---|---|
| id | integer | id of the User. |
Update the User's Payee
curl -X 'PATCH' \
'https://api.eumlet.com/api/v1/payee/?id={id}' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"full_name": "string",
"user_name": "string",
"email": "string",
"blockchain_address": "string",
"company": "string",
"position": "string",
"usd_rate": 0,
"rate_period": "string",
"group_id": 0
}'
The response is a JSON containing the updated payee schema.
{
"id": 0,
"user": {
"id": 0,
"is_business": false,
"email": "user@example.com",
"full_name": "string",
"eth_address": "string",
"terra_address": "string",
"nickname": "string",
"company_name": "string",
"picture": "string"
},
"created_at": "2023-09-05T17:31:50.721Z",
"full_name": "string",
"user_name": "string",
"email": "string",
"blockchain_address": "string",
"company": "string",
"position": "string",
"usd_rate": 0,
"rate_period": "string",
"group": {
"id": 0,
"name": "string",
"description": "string"
}
}
This endpoint allows you to edit a payee for the current user.
HTTP Request
PATCH https://api.eumlet.com/api/v1/payee/
Parameter Body
| Key | Value | Description |
|---|---|---|
| id | integer | ID of the payee. |
Request Body
| params | Value | Description |
|---|---|---|
| full_name | string | Full Name of User. |
| user_name | string | User name of User. |
| string | Email of the User. | |
| blockchain_address | string | Blockchain Address of the Payee. |
| company | string | Company of the User. |
| position | string | Position of the User. |
| usd_rate | integer | Rate of the USD. |
| rate_period | string | Rate Period. |
| group_id | integer | Id of the Group to which user belong. |
Notification
curl "https://api.eumlet.com/api/v1/notification/" \
-H "Authentication: Bearer <jwt_access_token>" \
This section will host all the endpoints related to notifications. Please note that all endpoints in this section will require the user access token to be provided as an Authentication Bearer header.
Please note that these endpoints may require polling by the platform to fetch the latest notifications for a user. Please ensure that rate limits are respected and that if a HTTP 429 error is encountered to poll at a slower rate. For more information please check the Rate Limiting section.
Get User's Notifications
curl -X 'GET' \
'https://api.eumlet.com/api/v1/notification/?page={page}&size={size}' \
-H 'accept: application/json'
The response is a JSON containing a paginated list of notifications.
{
"items": [
{
"id": 0,
"created_at": "2023-09-05T17:54:33.531Z",
"name": "string",
"description": "string",
"type": "payments authorization",
"is_enabled": true,
"request": {
"amount": 0,
"user": {
"id": 0,
"is_business": false,
"email": "user@example.com",
"full_name": "string",
"eth_address": "string",
"terra_address": "string",
"nickname": "string",
"company_name": "string",
"picture": "string"
},
"requester": {
"id": 0,
"is_business": false,
"email": "user@example.com",
"full_name": "string",
"eth_address": "string",
"terra_address": "string",
"nickname": "string",
"company_name": "string",
"picture": "string"
},
"cryptocurrency": {
"decimals": 0,
"address": "string",
"name": "string",
"symbol": "string",
"terra_denom": "string",
"id": 0,
"network": {
"id": 0,
"chain_id": "string",
"name": "string",
"type": "string",
"node_url": "string"
}
},
"message": "string",
"invoice_link": "string"
}
}
],
"total": 0,
"page": 1,
"size": 1
}
This endpoint allows you to retrieve a paginated list of notifications for the authenticated user.
HTTP Request
GET https://api.eumlet.com/api/v1/notification/
Parameters Body
| params | Value | Description |
|---|---|---|
| page | integer | Page number. Minimum: 1. |
| size | integer | Number of transactions to display. Maximum: 100, Minimum: 1. |
Delete the User's Notifications
curl -X 'DELETE' \
'https://api.eumlet.com/api/v1/notification/' \
-H 'accept: application/json'
The response is a string.
"string"
This endpoint allows you to delete all notifications for the authenticated user.
HTTP Request
DELETE https://api.eumlet.com/api/v1/notification/
Disable User's Notification
curl -X 'POST' \
'https://api.eumlet.com/api/v1/notification/{id}/' \
-H 'accept: application/json' \
-d ''
The response is a string.
"string"
This endpoint allows you to disable a specific notification for the authenticated user.
HTTP Request
POST https://api.eumlet.com/api/v1/notification/
Request Body
| Key | Value | Description |
|---|---|---|
| id | integer | ID of the Notification. |
Delete the User's Notification
curl -X 'DELETE' \
'https://api.eumlet.com/api/v1/notification/{id}/' \
-H 'accept: application/json'
The response is a JSON that returns string.
"string"
This endpoint allows you to delete the notification of the current user.
HTTP Request
DELETE https://api.eumlet.com/api/v1/notification/
Cryptocurrency
curl "https://api.eumlet.com/api/v1/cryptocurrency/" \
-H "Authentication: Bearer <jwt_access_token>" \
This section will host all the endpoints related to cryptocurrency used by Eumlet. Please note that none of the endpoints in this section require the user access token as an Authentication Bearer header.
Get Cryptocurrencies
curl -X 'GET' \
'https://api.eumlet.com/api/v1/cryptocurrency/' \
-H 'accept: application/json'
The response is a JSON containing all the group objects.
[
{
"decimals": 0,
"address": "string",
"name": "string",
"symbol": "string",
"terra_denom": "string",
"id": 0,
"network": {
"id": 0,
"chain_id": "string",
"name": "string",
"type": "string",
"node_url": "string"
},
"usd_price": 0
}
]
This endpoint allows you to list all the cryptocurrencies available on the Eumlet Platform.
HTTP Request
GET https://api.eumlet.com/api/v1/cryptocurrency/
User History
curl "https://api.eumlet.com/api/v1/user_histories/csv/" \
-H "Authentication: Bearer <jwt_access_token>" \
This section will host all the endpoints related to user history. Please note that all the endpoints in this section require the user access token to be provided as an Authentication Bearer header.
Get User History CSV
curl -X 'GET' \
'https://api.eumlet.com/api/v1/user_histories/csv/' \
-H 'accept: */*'
The response is a string that returns the file's path.
200
This endpoint allows you to retrieve the user history in CSV file format.
HTTP Request
GET https://api.eumlet.com/api/v1/user_histories/csv/
Platform
curl "https://api.eumlet.com/api/v1/platforms/" \
-H "Authentication: Bearer <jwt_access_token>" \
This section will host all the endpoints related to access tokens. Please note that all the endpoints in this section will require the user access token to be provided as an Authentication Bearer header.
Retrieve Access Token
curl -X 'GET' \
'https://api.eumlet.com/api/v1/platforms/?name={name}&email={email}' \
-H 'accept: application/json'
The response is a JSON schema that returns the unique JWT token and the type of access token for the platform.
{
"jwt": "string",
"type": "string"
}
This endpoint allows super users to retrieve a platform access token for a specific name and email. It provides the JWT tokens without creating a new database for the platform.
HTTP Request
GET https://api.eumlet.com/api/v1/platforms/
Parameters Body
| Key | Value | Description |
|---|---|---|
| name | string | Name of the User. |
| string | Email of the User. |
Create New Platform
curl -X 'POST' \
'https://api.eumlet.com/api/v1/platforms/' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"name": "string",
"email": "string"
}'
The response is a JSON schema that returns the unique JWT token and the type of access token for the platform.
{
"jwt": "string",
"type": "string"
}
This endpoint allows super users to create a new platform access token and a separate database that can only be accessed with the platform's database.
HTTP Request
POST https://api.eumlet.com/api/v1/platforms/
Parameters Body
| Key | Value | Description |
|---|---|---|
| name | string | Name of the User. |
| string | Email of the User. |
UAE
curl "https://api.eumlet.com/api/v1/link/" \
This section focuses on all endpoints for the United Arab Emirates region that allow a user to connect their bank account to the Eumlet platform, add beneficiaries to the account as well as send Real-Time Bank Settlement payments (same region payments).
For the UAE region, Eumlet, due to regulations, only allows for users to connect their bank account to Eumlet to perform deposits, real-time payments, and create beneficiaries; unlike the EU region that allows to create a subsidiary account for each user.
Retail vs. Corporate Bank Accounts
In the UAE, there is a big difference between retail and corporate bank accounts. Retail bank accounts are offered to individual customers while corporate accounts are offered to companies and corporate entities. It is important in this section to distinguish between the two in order to expect a smooth workflow using this API. The platform integrating the API should be aware of what a user on the platform has as a bank account, or should ask the user to input the type of account.
Link
Connecting a UAE Bank Account
curl -X 'GET' \
'https://api.eumlet.com/api/v1/link/entity?redirect_url={redirect_url}&corporate={corporate}&end_user_id={end_user_id}' \
-H 'accept: application/json'
The response is a JSON.
{
"link_entity_url": "string",
"nonce": "string"
}
This endpoint creates a URL that a user needs to be redirected to in order to connect a UAE bank account to the Eumlet platform. Note that this is a one time process for each account connected for a user.
HTTP Request
GET https://api.eumlet.com/api/v1/link/entity/
Request Body
| Key | Value | Description |
|---|---|---|
| redirect_url | string | The redirect_url to redirect a user to after completion of the authentication process. Needs to be HTTPS encrypted. |
| corporate | boolean | true or false. |
| end_user_id | string | id of the end user |
Creating a Benificiary
curl -X 'GET' \
'https://api.eumlet.com/api/v1/link/beneficiary?redirect_url={redirect_url}&corporate={corporate}&end_user_id={end_user_id}&payment_destination_id={payment_destination_id}&payment_source_id={payment_source_id}' \
-H 'accept: application/json'
The response is a string.
{
"beneficiary_url": "string",
"nonce": "string"
}
This endpoint creates a URL that a user needs to redirect to in order to add a beneficiary to a connected bank account entity.
HTTP Request
GET https://api.eumlet.com/api/v1/link/beneficiary/
Request Body
| Key | Value | Description |
|---|---|---|
| redirect_url | string | The redirect_url to redirect a user to after completion of the authentication process. Needs to be HTTPS encrypted. |
| corporate | boolean | true or false. |
| end_user_id | string | id of the end user |
| payment_destination_id | string | Payment Destination Id. |
| payment_source_id | string | Payment Source Id. |
Making an RTBS Payment
curl -X 'GET' \
'https://api.eumlet.com/api/v1/link/pay?redirect_url={redirect_url}&payment_intent_id={payment_intent_id}&corporate={corporate}&end_user_id={end_user_id}' \
-H 'accept: application/json'
The response is a string.
{
"pay_url": "string",
"nonce": "string"
}
This endpoint Creates a LINK URL to allow users to make payment. User needs to be authenticated in order to generate a link. Needs to specify whether a retail or corporate account. We add a nonce to stop any exploits or replay attacks that needs to be validated.
HTTP Request
GET https://api.eumlet.com/api/v1/link/pay/
Request Body
| Key | Value | Description |
|---|---|---|
| redirect_url | string | The redirect_url to redirect a user to after completion of the authentication process. Needs to be HTTPS encrypted. |
| payment_intent_id | string | The unique identifier for the payment intent. |
| corporate | boolean | true or false. |
| end_user_id | string | id of the end user |
Authorize an RTBS Payment
curl -X 'GET' \
'https://api.eumlet.com/api/v1/link/authorize?redirect_url={redirect_url}&payment_intent_id={payment_intent_id}&end_user_id={end_user_id}' \
-H 'accept: application/json'
The response is a string.
{
"authorize_url": "string",
"nonce": "string"
}
This endpoint Creates a LINK URL to allow users to authorize a payment from a corporate account. User needs to be authenticated in order to generate a link. Needs to specify whether a retail or corporate account. We add a nonce to stop any exploits or replay attacks that needs to be validated.
To be able to perform the payment, the user needs to be an end_user to the entity creator.
A payment_intent can be generated from Creating a Payment section.
HTTP Request
POST https://api.eumlet.com/api/v1/link/authorize/
Request Body
| Key | Value | Description |
|---|---|---|
| redirect_url | string | The redirect_url to redirect a user to after completion of the authentication process. Needs to be HTTPS encrypted. |
| payment_intent_id | string | The unique identifier for the payment intent. |
| end_user_id | string | id of the end user |
Real Time Bank Settlement
curl "https://api.eumlet.com/api/v1/rtbs/" \
-H "Authentication: Bearer <jwt_access_token>" \
This section will host all the endpoints related to Real Time Bank Settlments in the UAE. Note all endpoints in this section require an Authentication Bearer header.
Creating a Destination
curl -X 'POST' \
'https://api.eumlet.com/api/v1/rtbs/destination' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"account_number": "string",
"swift_code": "string",
"country": "string",
"city": "string",
"address": "string",
"display_name": "string",
"name": "string",
"iban": "string",
"bank_identifier": "string",
"corporate": true
}'
The response is a The unique identifier of the destination created, used for initiating payments.
"string"
In order to send real-time payments in this region, there is a need to create an end destination which represents the bank account of the recipient for whom to send money.
HTTP Request
GET https://api.eumlet.com/api/v1/rtbs/payment/
Parameters Body
| Key | Value | Description |
|---|---|---|
| account_number | string | Account of the User. |
| swift_code | string | Swift Code of the User. |
| country | string | Country of the user. |
| city | string | City of the user. |
| address | string | address of the user. |
| display_name | string | display_name of the user. |
| name | string | name of the user. |
| iban | string | iban of the user. |
| bank_identifier | string | bank_identifier of the user. |
| corporate | boolean | corporate of the user. |
Initiate a New Payment
curl -X 'POST' \
'https://api.eumlet.com/api/v1/rtbs/initiate-payment' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"currency_amount": 0,
"currency_code": "string",
"corporate": true,
"payment_destination_id": "string",
"description": "string"
}'
The response is a JSON with all the group object.
{
"payment_id": "string"
}
This endpoint allows to Initiates a new Real Time Bank Settlment payment to a benificary of a certain user. This creates a payment intent that needs to be passed to the LINK Payment method in order for the payment to be completed.
HTTP Request
POST https://api.eumlet.com/api/v1/rtbs/initiate-payment/
Parameters Body
| Key | Value | Description |
|---|---|---|
| currency_amount | integer | Currency amount to send. |
| currency_code | string | Currency Code of amount. |
| corporate | boolean | Corporate if true. |
| payment_destination_id | boolean | Payment Destination Id. |
| description | string | Description of the amount. |
Querying a Payment Intent
curl -X 'GET' \
'https://api.eumlet.com/api/v1/rtbs/payment?payment_id={payment_id}&corporate={corporate}' \
-H 'accept: application/json'
The response is a JSON with all the group object.
{
"payment_intent_id": "string",
"customer_id": "string",
"amount": 0,
"currency": "string",
"description": "string",
"payments": [
{
"id": "string",
"payment_intent_id": "string",
"payment_source_id": "string",
"sender_details": {
"account_number": "string",
"iban": "string",
"name": "",
"description": "",
"bank_transaction_description": ""
},
"recipient_details": {
"account_number": "string",
"iban": "string",
"name": "",
"description": "",
"bank_transaction_description": ""
},
"amount": 0,
"currency": "string",
"description": "string",
"reference": "string",
"submission_timestamp": "2023-09-05T19:23:40.922Z",
"initiation_timestamp": "2023-09-05T19:23:40.922Z",
"status": "AWAITING_USER_INPUT",
"status_additional_details": "string",
"display_info": "string",
"bank_transaction_reference": "string"
}
],
"payment_destination": {
"id": "string",
"bank_identifier": "string",
"name": "string",
"iban": "string",
"display_name": "string",
"account_number": "string",
"swift_code": "string",
"status": "string",
"address": "string",
"country": "string",
"city": "string",
"default": true,
"owner_type": "string",
"ifsc": "string",
"sort_code": "string",
"routing_number": "string",
"transit_code": "string",
"branch_address": "string"
},
"created_at": "2023-09-05T19:23:40.922Z"
}
If a payment intent was created, this endpoint allows to view the details of the payment.
HTTP Request
GET https://api.eumlet.com/api/v1/rtbs/payment/
Parameters Body
| Key | Value | Description |
|---|---|---|
| payment_id | string | ID of the Payment Intent. |
| corporate | boolean | Boolean Value of Corporate ID. |
Errors
Eumlet uses conventional HTTP response codes to indicate the success or failure of an API request.
Codes in the 2xx range indicates success. Codes in the 4xx range indicates client side error.
Codes in the 5xx range indicates an server-side error in Eumlet's servers (report if possible).
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- Your request is invalid. |
| 401 | Unauthorized -- Your API key is wrong. |
| 403 | Forbidden -- The kitten requested is hidden for administrators only. |
| 404 | Not Found -- The specified kitten could not be found. |
| 405 | Method Not Allowed -- You tried to access a kitten with an invalid method. |
| 406 | Not Acceptable -- You requested a format that isn't json. |
| 410 | Gone -- The kitten requested has been removed from our servers. |
| 429 | Too Many Requests -- You're requesting too many kittens! Slow down! |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
| 503 | Service Unavailable -- We're temporarily offline for maintenance. Please try again later. |
Rate Limiting
In order to provide a fair usage policy and ensure high service availability, we enforce rate limits on our API requests. This helps protect against excessive requests, ensuring the Eumlet system remains available to all users.
Rate Limits
The current base rate limit for the API is set at 100 requests per second. If a platform requires higher limits, please contact support as we offer higher rates depending on necessity.
Best Practices
Handle
HTTP 429Responses: When you exceed the rate limit, the API will respond with an HTTP 429 "Too Many Requests" status code. Ensure your application gracefully handles this by implementing retries with exponential backoff.Caching: Ensure that the platform caches results to minimize repeated requests to the same endpoints.
Bulk Operations: Whenever possible, use endpoints that allow for bulk operations to reduce the total number of requests.
Penalties
Our system is continously monitored and hence continual violation of the rate limits may result in temporary suspension of an API key or IP from accessing our servers. We highly recommend implementing necessary checks and being respectful of the limits to ensure uninterrupted access.
If you believe that you have been wrongfully banned, you can always contact support.
Versioning
Ensuring a consistent and reliable experience for our users is of utmost experience to us. But, as our platform grows and evolves, there will come a need to release new versions of our API. Fortunately, our versioning approach is designed to prevent breaking changes from affecting any existing implementations and integrations, giving all platforms and developers ample time to transition.
Version Identifier
We use a version identifier in the URL, making it explicit and straightforward to specify which version of the API you're addressing.
For example:
- API V1:
https://api.eumlet.com/api/v1
Deprecation Policy
When a newer version is available:
Announcement: A new version release will be announced through different communication channels. The announcement will include migration guides and the differences between each version.
Deprecation Notice: Older versions of the API will be supported for a 12 month post the new version's release. After which, the older version will be considered deprecated, but will still be available for a subsequent period of 6 months.
End of Life: Once the deprecation period ends, the version will be retired and any requests to the retired version will return a
401 HTTPerror.
Backward Compatible Changes
There are instances when we can make backward-compatible changes without releasing a new version. Such changes include:
- Adding new API endpoints.
- Adding new optional request parameters to existing API endpoints.
- Adding new properties in the response objects.
Recommended Practices
Stay Updated: Keep an eye on our changelog and announcements. This way, you can update your implementation as needed without any rush.
Hardcode Sparingly: Avoid hardcoding API versions in multiple places within your application. Instead, use configuration files or environment variables so that you can change the version easily if needed.
Test First: Before migrating to a new version, test all interactions with our API in a staging or development environment.
UAE-finance
curl "https://api.eumlet.com/api/v1/uae" \
-H "Authentication: Bearer <jwt_access_token>" \
This section contains all the endpoints that provide finance information realted to UAE. Please note that some of the2 endpoints in this section require a user access token, which must be included as an "Authentication Bearer" header.
Get User's Pending Payments
curl -X 'GET' \
'http://localhost:8081/api/v1/uae/deposit/lean/' \
-H "Authentication: Bearer <jwt_access_token>" \
-H 'accept: application/json' \
The response will be a list of lean payment responses representing the retrieved pending payment data for the authenticated user.
[
{
"external_payment_id": "string",
"status": "AWAITING_USER_INPUT",
"end_user_id": "string"
}
]
This endpoint enables you to Retrieves the pending payments for the currently authenticated user.
HTTP Request
GET http://localhost:8081/api/v1/uae/deposit/lean/
Initiate Deposit
The response will be A lean deposit response representing the initialized deposit data for the authenticated user.
{
"deposit": {
"user": {
"first_name": "string",
"last_name": "string",
"full_name": "string",
"nickname": "string",
"date_of_birth": "2023-10-02T19:33:20.085Z",
"address": "string",
"country_code": "string",
"email": "user@example.com",
"phone_number": "string",
"referral_email": "user@example.com",
"picture": "string",
"company_name": "string",
"company_address": "string",
"company_country_code": "string",
"company_registration_number": "string",
"company_email": "string",
"is_business": true,
"is_registered": false,
"is_verified": false,
"is_public": true,
"is_active": true,
"is_superuser": false,
"in_app_notifications": true,
"email_notifications": true,
"id": 0
},
"currency": {
"name": "string",
"code": "string",
"id": 0
},
"cryptocurrency": {
"decimals": 0,
"address": "string",
"name": "string",
"symbol": "string",
"terra_denom": "string",
"id": 0,
"network": {
"id": 0,
"chain_id": "string",
"name": "string",
"type": "string",
"node_url": "string"
}
},
"currency_amount": 0,
"cryptocurrency_amount": 0,
"error": "string",
"status": "string"
},
"external_payment_id": "string",
"end_user_id": "string",
"status": "string"
}
This endpoint allows you to Initializes a deposit for the currently authenticated user.
HTTP Request
POST http://localhost:8081/api/v1/uae/deposit/lean/initiate
Request Body
| Key | Value | Description |
|---|---|---|
| currency_id | integer | Currency ID. |
| cryptocurrency_id | integer | Cryptocurrency ID. |
| beneficiary_id | integer | Beneficiary ID. |
| cryptocurrency_amount | integer | Cryptocurrency Amount. |
Estimate the Deposit
curl -X 'GET' \
'http://localhost:8081/api/v1/uae/deposit/estimate/?cryptocurrency_id={cryptocurrency_id}&amount={amount}' \
-H 'accept: application/json'
The response will be a JSON, the schema representing the estimated cryptocurrency deposit details.
{
"cryptocurrency_amount": 0,
"commission_fee": 0,
"cryptocurrency_price_in_usd": 0
}
This endpoint allows to retrieves an estimate of the cryptocurrency deposit amount, taking into account the deposit commission fee and the current USD price of the selected cryptocurrency.
HTTP Request
POST https://api.eumlet.com/api/v1//uae/deposit/estimate
Parameters Body
| Key | Value | Description |
|---|---|---|
| cryptocurrency_id | integer | Cryptocurrency ID. |
| amount | integer | Amount to be deposit. |
Get User's Deposit
curl -X 'GET' \
'http://localhost:8081/api/v1/uae/deposit/' \
-H 'accept: application/json'
The response is a JSON with the schema representing a list of the user's deposit records.
[
{
"user": {
"first_name": "string",
"last_name": "string",
"full_name": "string",
"nickname": "string",
"date_of_birth": "2023-10-03T09:26:24.290Z",
"address": "string",
"country_code": "string",
"email": "user@example.com",
"phone_number": "string",
"referral_email": "user@example.com",
"picture": "string",
"company_name": "string",
"company_address": "string",
"company_country_code": "string",
"company_registration_number": "string",
"company_email": "string",
"is_business": true,
"is_registered": false,
"is_verified": false,
"is_public": true,
"is_active": true,
"is_superuser": false,
"in_app_notifications": true,
"email_notifications": true,
"id": 0
},
"currency": {
"name": "string",
"code": "string",
"id": 0
},
"cryptocurrency": {
"decimals": 0,
"address": "string",
"name": "string",
"symbol": "string",
"terra_denom": "string",
"id": 0,
"network": {
"id": 0,
"chain_id": "string",
"name": "string",
"type": "string",
"node_url": "string"
}
},
"currency_amount": 0,
"cryptocurrency_amount": 0,
"error": "string",
"status": "string"
}
]
This endpoint allows to retrieves a list of the authenticated user's deposit records.
HTTP Request
GET http://localhost:8081/api/v1/uae/deposit
Initiate Withdrawal for User
curl -X 'POST' \
'http://localhost:8081/api/v1/uae/withdraw/initiate/' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"amount": {amount},
"cryptocurrency_id": {cryptocurrency_id},
"currency_id": {currency_id},
"tx_hash": "{tx_hash}"
}'
The response is a JSON with The initiated withdrawal.
{
"id": 0,
"created_at": "2023-10-03T09:30:52.572Z",
"user": {
"id": 0,
"is_business": false,
"email": "user@example.com",
"full_name": "string",
"eth_address": "string",
"terra_address": "string",
"nickname": "string",
"company_name": "string",
"picture": "string"
},
"currency": {
"name": "string",
"code": "string",
"id": 0
},
"cryptocurrency": {
"decimals": 0,
"address": "string",
"name": "string",
"symbol": "string",
"terra_denom": "string",
"id": 0,
"network": {
"id": 0,
"chain_id": "string",
"name": "string",
"type": "string",
"node_url": "string"
}
},
"transaction": {
"status": "string",
"tx_hashes": [
"string"
]
},
"currency_amount": 0,
"cryptocurrency_amount": 0,
"status": "initialized",
"error": "string"
}
This endpoint allows to initiate a withdrawal for the current user.
HTTP Request
POST http://localhost:8081/api/v1/uae/withdraw/initiate
Request Body
| Key | Value | Description |
|---|---|---|
| amount | integer | Amount to be send. |
| cryptocurrency_id | integer | ID of Cryptocurrency using over a particular network. |
| currency_id | integer | Currency ID. |
| tx_hash | string | Transaction hash. |
Estimate Withdrawal of User
curl -X 'GET' \
'http://localhost:8081/api/v1/uae/withdraw/estimate/?amount={amount}&cryptocurrency_id={cryptocurrency_id}¤cy_id={currency_id}' \
-H 'accept: application/json'
The response is a JSON with the estimated cost of the withdrawal.
{
"currency_amount": 0,
"commission_fee": 0,
"token_price": 0
}
This endpoint allows to estimate the cost of a withdrawal for the given amount of tokens.
HTTP Request
GET http://localhost:8081/api/v1/uae/withdraw/estimate
Parameters Body
| Key | Value | Description |
|---|---|---|
| currency_amount | integer | Currency amount to be estimated. |
| cryptocurrency_id | integer | ID of Cryptocurrency using over a particular network. |
| currency_id | integer | Currency ID. |
Get Withdrawal for User
curl -X 'GET' \
'http://localhost:8081/api/v1/uae/withdraw/?page={page}&size={size}' \
-H 'accept: application/json'
The response is a JSON with The withdrawals details.
{
"items": [
{
"withdrawal": {
"id": 0,
"created_at": "2023-10-03T09:48:24.205Z",
"user": {
"id": 0,
"is_business": false,
"email": "user@example.com",
"full_name": "string",
"eth_address": "string",
"terra_address": "string",
"nickname": "string",
"company_name": "string",
"picture": "string"
},
"currency": {
"name": "string",
"code": "string",
"id": 0
},
"cryptocurrency": {
"decimals": 0,
"address": "string",
"name": "string",
"symbol": "string",
"terra_denom": "string",
"id": 0,
"network": {
"id": 0,
"chain_id": "string",
"name": "string",
"type": "string",
"node_url": "string"
}
},
"transaction": {
"status": "string",
"tx_hashes": [
"string"
]
},
"currency_amount": 0,
"cryptocurrency_amount": 0,
"status": "initialized",
"error": "string"
},
"payment_id": "string",
"status": "AWAITING_USER_INPUT"
}
],
"total": 0,
"page": 1,
"size": 1
}
This endpoint allows to gets all withdrawals.
HTTP Request
GET http://localhost:8081/api/v1/uae/withdraw/
Parameters Body
| Key | Value | Description |
|---|---|---|
| page | integer | Page Number to be displayed. |
| size | integer | Size of the Page. |
Inititate payment for withdrawal
curl -X 'GET' \
'http://localhost:8081/api/v1/uae/withdraw/init/?destination_id={destination_id}&id={id}' \
-H 'accept: application/json'
The response is a JSON with The payment ID.
{
"id": "string"
}
This endpoint allows to initialize a payment for a withdrawal.
HTTP Request
GET http://localhost:8081/api/v1/uae/withdraw/init/
Parameters Body
| Key | Value | Description |
|---|---|---|
| destination_id | string | The ID of the payment destination. |
| ID | integer | The ID of the withdrawal. |
Decline Withdrawal Payment
curl -X 'POST' \
'http://localhost:8081/api/v1/uae/withdraw/decline/?id={id}' \
-H 'accept: application/json' \
-d ''
The response is a JSON with the ID of the declined withdrawal.
{
"id": "string"
}
This endpoint allows to decline a withdrawal.
HTTP Request
POST http://localhost:8081/api/v1/uae/withdraw/decline/
Parameters Body
| Key | Value | Description |
|---|---|---|
| ID | integer | The ID of the withdrawal. |
Processes a Webhook for plaid
curl -X 'POST' \
'http://localhost:8081/api/v1/uae/plaid/webhook/' \
-H 'accept: application/json' \
-d ''
The response is a string for the webhook.
"string"
This endpoint allows to Receives and processes a webhook from a payment provider.
HTTP Request
POST http://localhost:8081/api/v1/uae/plaid/webhook/
Processes a Webhook for lean
curl -X 'POST' \
'http://localhost:8081/api/v1/uae/lean/webhook/' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"payload": {},
"type": "{type}",
"message": "string",
"timestamp": "{timestamp}",
"event_id": "string"
}'
The response is a string for the webhook.
"string"
This endpoint allows to Receives and processes a webhook from a payment provider.
HTTP Request
POST http://localhost:8081/api/v1/uae/lean/webhook/
Parameters Body
| Key | Value | Description |
|---|---|---|
| payload | object | {}. |
| type | string | payment_source.created. |
| message | string | message for the user |
| timestamp | timestamp | current Time |
| event_id | string | ID of the event |
Get Customer ID
curl -X 'GET' \
'http://localhost:8081/api/v1/uae/lean/customer/' \
-H 'accept: application/json'
The response is a The customer object associated with the user.
{
"user_id": 0,
"customer_id": "string",
"end_user_id": "string"
}
This endpoint allows to retrieve the corporate customer associated with the authenticated user or creates a new one if it doesn't exist.
HTTP Request
GET http://localhost:8081/api/v1/uae/lean/customer/
Get User's Lean Payment Methods
curl -X 'GET' \
'http://localhost:8081/api/v1/uae/lean/payment-method/' \
-H 'accept: application/json'
The response is a list of payment method objects associated with the user.
[
{
"id": 0,
"beneficiary": {
"id": 0,
"beneficiary_id": "string",
"destination_id": "string",
"payment_source_id": "string",
"status": "ACTIVE",
"bank": {
"logo": "string",
"name": "string",
"bank_type": "string",
"identifier": "string"
}
},
"status": "ACTIVE"
}
]
This endpoint allows to retrieve a list of corporate payment methods associated with the authenticated user.
HTTP Request
GET http://localhost:8081/api/v1/uae/lean/payment-method/
DELETE User Payment Method
curl -X 'DELETE' \
'http://localhost:8081/api/v1/uae/lean/payment-method/?id={id}' \
-H 'accept: application/json'
The response is a string.
"string"
This endpoint allows to Deletes a corporate payment method associated with the authenticated user.
HTTP Request
DELETE http://localhost:8081/api/v1/uae/lean/payment-method/
Parameters Body
| Key | Value | Description |
|---|---|---|
| id | integer | The ID of the payment method to be deleted. |
Get Eumlet Destination
curl -X 'GET' \
'http://localhost:8081/api/v1/uae/lean/eumlet/destination/' \
-H 'accept: application/json'
The response is a The destination ID object.
{
"destination_id": "string"
}
This endpoint allows to Retrieves the Eumlet destination ID for the corporate Lean account.
HTTP Request
GET http://localhost:8081/api/v1/uae/lean/eumlet/destination/
Get Lean Customer ID
curl -X 'GET' \
'http://localhost:8081/api/v1/uae/lean/user/customer/?id={id}' \
-H 'accept: application/json'
The response is a response object containing the customer ID.
{
"customer_id": "string"
}
This endpoint allows to Retrieves the customer ID for a given user ID.
HTTP Request
GET http://localhost:8081/api/v1/uae/lean/user/customer/
Parameters Body
| Key | Value | Description |
|---|---|---|
| id | integer | The ID of the user for whom to retrieve the customer ID. |
Get End User
curl -X 'POST' \
'http://localhost:8081/api/v1/uae/lean/end-user/' \
-H 'accept: application/json' \
-d ''
The response is The response object containing the customer ID and end user ID.
{
"customer_id": "string",
"end_user_id": "string"
}
This endpoint allows to Retrieves the end user ID for the current authenticated user.
HTTP Request
POST http://localhost:8081/api/v1/uae/lean/end-user/
Get User Destination by Customer ID
curl -X 'GET' \
'http://localhost:8081/api/v1/uae/lean/user/destination/?customer_id={customer_id}' \
-H 'accept: application/json'
The response is a response object containing the destination ID and bank identifier.
{
"destination_id": "string",
"bank_identifier": "string"
}
This endpoint allows to Retrieves the destination for a given customer ID.
HTTP Request
GET http://localhost:8081/api/v1/uae/lean/user/destination/
Parameters Body
| Key | Value | Description |
|---|---|---|
| customer_id | string | The ID of the customer for whom to retrieve the destination. |
Get Payment Sources For User
curl -X 'GET' \
'http://localhost:8081/api/v1/uae/lean/payment-sources/' \
-H 'accept: application/json'
The response is a list of payment sources associated with the customer ID of the user.
[
{
"id": "string",
"customer_id": "string",
"app_id": "string",
"bank_identifier": "string",
"status": "string",
"accounts": [
{
"id": "string",
"account_id": "string",
"account_name": "",
"account_number": "",
"iban": "",
"balance": 0,
"currency": "",
"balance_last_updated": "2023-10-03T11:50:07.993Z"
}
],
"beneficiaries": [
{
"id": "string",
"payment_destination_id": "string",
"status": "string",
"beneficiary_cool_off_expiry": "2023-10-03T11:50:07.993Z",
"bank_identifier": "string"
}
],
"end_user_ids": [
"string"
]
}
]
This endpoint allows to Retrieves the payment sources for the current authenticated user.
HTTP Request
GET http://localhost:8081/api/v1/uae/lean/payment-sources/
Webhook
curl -X 'POST' \
'http://localhost:8081/api/v1/uae/lean-retail/webhook/' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"payload": {},
"type": "payment_source.created",
"message": "string",
"timestamp": "2023-10-03T11:55:13.764Z",
"event_id": "string"
}'
The response is a string.
"string"
This endpoint allows to Receives and processes a webhook from a payment provider.
HTTP Request
POST http://localhost:8081/api/v1/uae/lean-retail/webhook/
Request Body
| Key | Value | Description |
|---|---|---|
| payload | object | {}. |
| type | string | payment_source.created. |
| message | string | message for the user |
| timestamp | timestamp | current Time |
| event_id | string | ID of the event |
Get Customer ID
curl -X 'GET' \
'http://localhost:8081/api/v1/uae/lean-retail/customer/' \
-H 'accept: application/json'
The response is a customer object associated with the user.
{
"user_id": 0,
"customer_id": "string"
}
This endpoint allows to Retrieves the retail customer associated with the authenticated user or creates a new one if it doesn't exist.
HTTP Request
GET http://localhost:8081/api/v1/uae/lean-retail/customer/
Get Eumlet Destination
curl -X 'GET' \
'http://localhost:8081/api/v1/uae/lean-retail/eumlet/destination/' \
-H 'accept: application/json'
The response is a destination ID for the Eumlet payment method.
{
"destination_id": "string"
}
This endpoint allows to Returns the destination ID for the Eumlet payment method.
HTTP Request
GET http://localhost:8081/api/v1/uae/lean-retail/eumlet/destination/
Get User Lean Payment Methods
curl -X 'GET' \
'http://localhost:8081/api/v1/uae/lean-retail/payment-method/' \
-H 'accept: application/json'
The response is The destination ID for the Eumlet payment method.
[
{
"id": 0,
"beneficiary": {
"id": 0,
"beneficiary_id": "string",
"destination_id": "string",
"payment_source_id": "string",
"status": "ACTIVE",
"bank": {
"logo": "string",
"name": "string",
"bank_type": "string",
"identifier": "string"
}
},
"status": "ACTIVE"
}
]
This endpoint allows to Returns the destination ID for the Eumlet payment method.
HTTP Request
GET http://localhost:8081/api/v1/uae/lean-retail/payment-method/
Delete User Payment Methods
curl -X 'DELETE' \
'http://localhost:8081/api/v1/uae/lean-retail/payment-method/?id={id}' \
-H 'accept: application/json'
The response is a string.
"string"
This endpoint allows to Deletes a payment method associated with the authenticated user.
HTTP Request
DELETE http://localhost:8081/api/v1/uae/lean-retail/payment-method/
Parameters Body
| Key | Value | Description |
|---|---|---|
| id | integer | The ID of the payment method to be deleted. |
Get Lean Customer ID
curl -X 'GET' \
'http://localhost:8081/api/v1/uae/lean-retail/user/customer/?id={id}' \
-H 'accept: application/json'
The response is a customer ID associated with the given user.
{
"customer_id": "string"
}
This endpoint allows to Returns the customer ID associated with the given user.
HTTP Request
GET http://localhost:8081/api/v1/uae/lean-retail/user/customer/
Parameters Body
| Key | Value | Description |
|---|---|---|
| id | integer | The ID of the user to retrieve the customer ID for. |
Get User Destination By Customer ID
curl -X 'GET' \
'http://localhost:8081/api/v1/uae/lean-retail/user/destination/?customer_id={customer_id}' \
-H 'accept: application/json'
The response is a details of the user destination.
{
"destination_id": "string",
"bank_identifier": "string"
}
This endpoint allows to Retrieves the destination details for the given customer ID.
HTTP Request
GET http://localhost:8081/api/v1/uae/lean-retail/user/destination/
Parameters Body
| Key | Value | Description |
|---|---|---|
| customer_id | integer | The ID of the customer for which the destination details are to be retrieved. |
Get User Destination By Customer ID
curl -X 'GET' \
'http://localhost:8081/api/v1/uae/lean-retail/user-destination/' \
-H 'accept: application/json'
The response is a details of the user destination.
{
"destination_id": "string",
"bank_identifier": "string"
}
This endpoint allows to Retrieves the destination details of the connected user.
HTTP Request
GET http://localhost:8081/api/v1/uae/lean-retail/user-destination/
Get Payment Sources for User
curl -X 'GET' \
'http://localhost:8081/api/v1/uae/lean-retail/payment-sources/' \
-H 'accept: application/json'
The response is A list of payment sources for the user.
[
{
"id": "string",
"customer_id": "string",
"app_id": "string",
"bank_identifier": "string",
"status": "string",
"accounts": [
{
"id": "string",
"account_id": "string",
"account_name": "",
"account_number": "",
"iban": "",
"balance": 0,
"currency": "",
"balance_last_updated": "2023-10-03T12:37:37.434Z"
}
],
"beneficiaries": [
{
"id": "string",
"payment_destination_id": "string",
"status": "string",
"beneficiary_cool_off_expiry": "2023-10-03T12:37:37.434Z",
"bank_identifier": "string"
}
],
"end_user_ids": [
"string"
]
}
]
This endpoint allows to Retrieves the payment sources for the given user.
HTTP Request
GET http://localhost:8081/api/v1/uae/lean-retail/payment-sources/
Get User Payment Methods
curl -X 'GET' \
'http://localhost:8081/api/v1/uae/payment-method/' \
-H 'accept: application/json'
The response is a schema representing the retrieved payment method data for the authenticated user.
{
"id": 0,
"service": "string",
"name": "string",
"description": "string"
}
This endpoint allows to Retrieves the payment methods for the currently authenticated user.
HTTP Request
GET http://localhost:8081/api/v1/uae/payment-method/