This document describes the process of integrating partner systems with the FeelMe AI platform. It covers obtaining an access token, creating a user, and managing subscriptions via our API endpoints. All requests and responses must be in JSON format.

The integration flow consists of three main steps:
Additionally, a full set of CRUD (Create, Read, Update, Delete) operations is available for users and subscriptions. Deletion of a subscription is performed by updating the subscription’s end date to the current date. If a subscription has not started yet, it is possible to modify its start date.
The online API documentation is available at the following endpoints:
Swagger:
https://leadapi-stg.feelme.com/api/redochttps://leadapi-prd.feelme.com/api/redocOpenAPI:
https://leadapi-stg.feelme.com/api/docshttps://leadapi-prd.feelme.com/api/docsYou can use the following base URLs:
https://leadapi-stg.feelme.com/api/v1https://leadapi-prd.feelme.com/api/v1When using these endpoints in your requests, replace ~/api/v1/ with one of the base URLs above (e.g.,
https://leadapi-stg.feelme.com/api/v1/).
POST /partner/token/
Partners must first obtain an access token from their backend. This token is required in the header for all subsequent API requests.
Authorization: Basic Auth credentials. The format is Basic base64encoded(username:password).
For example:
Authorization: Basic <base64_encoding_of_partner_name:partner_secret>
{
"scope": "admin" | "user",
"website": "string"
}
user – restricted scope (manages only single subscriptions per request).admin – allows bulk operations (multiple subscriptions per request).curl Request (Staging)curl -X POST "~/partner/token/" \
-H "Authorization: Basic dGVzdF9wYXJ0bmVyOnBhc3N3b3JkMTIz" \
-H "Content-Type: application/json" \
-d '{
"scope": "admin",
"website": "exampleSite"
}'
{
"token": "eyJhbGciOiJIUzI1NiIsInR5..."
}
POST /partner/user/
After obtaining the token, partners can create a new user in the FeelMe AI system.
Bearer <access_token> (the token obtained in Step 1){
"email": "user@example.com",
"password": "string",
"agreed_to_policies": "agreed"
}
agreed_to_policies – the user must accept the portal’s Terms and Conditions. The link to the terms is:
https://portal.feelme.com/terms-and-conditions
curl Request (Production)curl -X POST "~/partner/user/" \
-H "Authorization: Bearer <access_token>" \
-H "Content-Type: application/json" \
-d '{
"email": "user@example.com",
"password": "superSecurePassword",
"agreed_to_policies": "agreed"
}'
{
"id": 12345,
"email": "user@example.com",
"password": "string",
"agreed_to_policies": "agreed"
}
POST /partner/subscriptions/
Create one or more subscriptions for a user. If the scope of the access token is admin, you can create up to 100 subscriptions in one request. If the scope is user, you can only create 1 subscription per request.
Bearer <access_token> (the token obtained in Step 1){
"subscriptions": [
{
"id": 0,
"user_email": "user@example.com",
"website": "string",
"starts_at": "2025-03-24T13:53:14.676Z",
"ends_at": "2025-03-24T13:53:14.676Z"
}
]
}
website is determined from the access token itself.curl Request (Staging)curl -X POST "~/partner/subscriptions/" \
-H "Authorization: Bearer <access_token>" \
-H "Content-Type: application/json" \
-d '{
"subscriptions": [
{
"id": 0,
"user_email": "user@example.com",
"website": "someSite",
"starts_at": "2025-03-24T13:53:14.676Z",
"ends_at": "2025-04-24T13:53:14.676Z"
}
]
}'
{
"subscriptions_created": [
{
"user_email": "user@example.com",
"starts_at": "2025-03-24T13:53:14.676Z",
"ends_at": "2025-04-24T13:53:14.676Z",
"status": "active"
}
]
}
A complete set of CRUD operations is supported:
~/partner/users/DELETE ~/partner/users/
~/partner/user/:idDELETE ~/partner/user/:id
~/partner/subscriptions/DELETE ~/partner/subscriptions/
~/partner/subscription/:id~/partner/subscription/:id~/partner/subscription/:idCommon HTTP status codes you may encounter:
400 Bad Request – Typically indicates invalid request parameters or missing required fields.401 Unauthorized – The request is missing or has an invalid Authorization header.403 Forbidden – The scope of your token may not allow the requested operation.404 Not Found – The requested resource does not exist.422 Unprocessable Entity – An error occurred while validating the request parameters.424 Failed Dependency – An error occurred on the third-party server side.The response body for errors usually contains an error field with a brief description, for example:
{
"error": "Invalid subscription data"
}
By following these steps and ensuring correct usage of tokens, scopes, and headers, partners can integrate smoothly with the FeelMe AI platform. For any questions or additional support, please contact our technical support team.