Community is the social side of the site: posts, comments, ratings, groups and messages between users, when social mode is on.
Endpoints that need a token: the site owner creates it in their admin (Developers > API reference). AI assistants: how to ask the user for one.
111 endpoints in 6 parts: Comment, Group, Message, Partner, Post, Rating.
Likes or unlikes a comment and notifies its author. Calling it again takes the like back. Answers the comment's likes.
Needs the token of a signed-in user.
The ID of the comment.
The comment's liked by id.
The comment's action.
The comment's liked by.
Returns the Comment object.
curl -X PATCH 'http://hristovtintdetailng.com/comment-like/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{ "liked_by_id": "...", "action": "...", "liked_by": "..." }'{
"user": "6543210fedcba98765432100",
"connected_account_user": "6543210fedcba98765432100",
"commented_on": "6543210fedcba98765432100",
"comment": "example",
"likes": [
"6543210fedcba98765432101"
],
"replies": [
{
"comment": "example",
"user": "6543210fedcba98765432100",
"likes": [
"6543210fedcba98765432101"
],
"createdAt": "2026-11-04T12:00:00.000Z",
"isHidden": false,
"_id": "6543210fedcba98765432100"
}
],
"mentions": [
"6543210fedcba98765432101"
],
"isHidden": false,
"medias": [
{
"media": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}Every comment. Every comment on the site.
Needs the token of a signed-in user.
Returns a list of Comment objects.
curl -X GET 'http://hristovtintdetailng.com/comments?ionic=true' \ -H 'Authorization: Bearer <TOKEN>'
[
{
"user": "6543210fedcba98765432100",
"connected_account_user": "6543210fedcba98765432100",
"commented_on": "6543210fedcba98765432100",
"comment": "example",
"likes": [
"6543210fedcba98765432101"
],
"replies": [
{
"comment": "example",
"user": "6543210fedcba98765432100",
"likes": [
"6543210fedcba98765432101"
],
"createdAt": "2026-11-04T12:00:00.000Z",
"isHidden": false,
"_id": "6543210fedcba98765432100"
}
],
"mentions": [
"6543210fedcba98765432101"
],
"isHidden": false,
"medias": [
{
"media": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}
]Comments on a post, product, service or other record (commented_on) and notifies its owner and mentions. Answers 201 with no body. 403 "Comment limit exeded." when the user comments too often; 401 when posting for an account they may not act for. Counts as an interaction on a post, which feeds its ranking.
Needs the token of a signed-in user.
User.id.
Comment message.
Id of the record commented on (a post, product, service...).
User ids.
User.id.
Returns the Comment object.
curl -X POST 'http://hristovtintdetailng.com/comments?ionic=true' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{ "user": "...", "comment": "...", "commented_on": "...", "mentions": "...", "connected_account_user": "..." }'{
"user": "6543210fedcba98765432100",
"connected_account_user": "6543210fedcba98765432100",
"commented_on": "6543210fedcba98765432100",
"comment": "example",
"likes": [
"6543210fedcba98765432101"
],
"replies": [
{
"comment": "example",
"user": "6543210fedcba98765432100",
"likes": [
"6543210fedcba98765432101"
],
"createdAt": "2026-11-04T12:00:00.000Z",
"isHidden": false,
"_id": "6543210fedcba98765432100"
}
],
"mentions": [
"6543210fedcba98765432101"
],
"isHidden": false,
"medias": [
{
"media": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}Edits a comment (comment_id, comment) and notifies new mentions. Only the comment's author (401 otherwise). Answers the updated comment; only users newly mentioned are notified.
Needs the token of a signed-in user.
The comment's comment id.
Comment message.
User ids.
Returns the Comment object.
curl -X PATCH 'http://hristovtintdetailng.com/comments?ionic=true' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{ "comment_id": "...", "comment": "...", "mentions": "..." }'{
"user": "6543210fedcba98765432100",
"connected_account_user": "6543210fedcba98765432100",
"commented_on": "6543210fedcba98765432100",
"comment": "example",
"likes": [
"6543210fedcba98765432101"
],
"replies": [
{
"comment": "example",
"user": "6543210fedcba98765432100",
"likes": [
"6543210fedcba98765432101"
],
"createdAt": "2026-11-04T12:00:00.000Z",
"isHidden": false,
"_id": "6543210fedcba98765432100"
}
],
"mentions": [
"6543210fedcba98765432101"
],
"isHidden": false,
"medias": [
{
"media": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}Replies to a comment and notifies its author and mentions. Answers { reply }: the new reply. 403 when replying for an account the user may not act for.
Needs the token of a signed-in user.
The comments add reply's comment id.
The comments add reply's comment.
The comments add reply's user id.
The comments add reply's mentions.
curl -X PATCH 'http://hristovtintdetailng.com/comments-add-reply?ionic=true' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{ "comment_id": "...", "comment": "...", "user_id": "...", "mentions": "..." }'{
"user": "6543210fedcba98765432100",
"connected_account_user": "6543210fedcba98765432100",
"commented_on": "6543210fedcba98765432100",
"comment": "example",
"likes": [
"6543210fedcba98765432101"
],
"replies": [
{
"comment": "example",
"user": "6543210fedcba98765432100",
"likes": [
"6543210fedcba98765432101"
],
"createdAt": "2026-11-04T12:00:00.000Z",
"isHidden": false,
"_id": "6543210fedcba98765432100"
}
],
"mentions": [
"6543210fedcba98765432101"
],
"isHidden": false,
"medias": [
{
"media": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}Comments on a record. 404 when there are none.
Needs the token of a signed-in user.
The ID of the comments of.
curl -X GET 'http://hristovtintdetailng.com/comments-of/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"user": "6543210fedcba98765432100",
"connected_account_user": "6543210fedcba98765432100",
"commented_on": "6543210fedcba98765432100",
"comment": "example",
"likes": [
"6543210fedcba98765432101"
],
"replies": [
{
"comment": "example",
"user": "6543210fedcba98765432100",
"likes": [
"6543210fedcba98765432101"
],
"createdAt": "2026-11-04T12:00:00.000Z",
"isHidden": false,
"_id": "6543210fedcba98765432100"
}
],
"mentions": [
"6543210fedcba98765432101"
],
"isHidden": false,
"medias": [
{
"media": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}Comments on a record, a page at a time, without restricted users. Answers { comments, count }, newest first then most liked, skipping users the viewer blocked or who blocked them.
Needs the token of a signed-in user.
The ID of the comments on.
How many results to skip - for paging.
curl -X GET 'http://hristovtintdetailng.com/comments-on/{id}&{skip}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"user": "6543210fedcba98765432100",
"connected_account_user": "6543210fedcba98765432100",
"commented_on": "6543210fedcba98765432100",
"comment": "example",
"likes": [
"6543210fedcba98765432101"
],
"replies": [
{
"comment": "example",
"user": "6543210fedcba98765432100",
"likes": [
"6543210fedcba98765432101"
],
"createdAt": "2026-11-04T12:00:00.000Z",
"isHidden": false,
"_id": "6543210fedcba98765432100"
}
],
"mentions": [
"6543210fedcba98765432101"
],
"isHidden": false,
"medias": [
{
"media": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}Edits a reply to a comment and notifies new mentions. Only the reply's author (401 otherwise). Answers { reply }.
Needs the token of a signed-in user.
The comments reply's comment id.
The comments reply's index.
The comments reply's comment.
The comments reply's mentions.
curl -X PATCH 'http://hristovtintdetailng.com/comments-reply?ionic=true' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{ "comment_id": "...", "index": "...", "comment": "...", "mentions": "..." }'{
"user": "6543210fedcba98765432100",
"connected_account_user": "6543210fedcba98765432100",
"commented_on": "6543210fedcba98765432100",
"comment": "example",
"likes": [
"6543210fedcba98765432101"
],
"replies": [
{
"comment": "example",
"user": "6543210fedcba98765432100",
"likes": [
"6543210fedcba98765432101"
],
"createdAt": "2026-11-04T12:00:00.000Z",
"isHidden": false,
"_id": "6543210fedcba98765432100"
}
],
"mentions": [
"6543210fedcba98765432101"
],
"isHidden": false,
"medias": [
{
"media": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}Deletes a reply to a comment. index is the reply's position in the comment's replies. Only its author or the owner of what it is on (403 otherwise).
Needs the token of a signed-in user.
The ID of the comments reply.
The comments reply's index.
Returns an empty answer on success.
curl -X DELETE 'http://hristovtintdetailng.com/comments-reply/{id}/{index}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'One comment. 404 when there is no such comment.
Needs the token of a signed-in user.
The ID of the comment.
Returns the Comment object.
curl -X GET 'http://hristovtintdetailng.com/comments/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"user": "6543210fedcba98765432100",
"connected_account_user": "6543210fedcba98765432100",
"commented_on": "6543210fedcba98765432100",
"comment": "example",
"likes": [
"6543210fedcba98765432101"
],
"replies": [
{
"comment": "example",
"user": "6543210fedcba98765432100",
"likes": [
"6543210fedcba98765432101"
],
"createdAt": "2026-11-04T12:00:00.000Z",
"isHidden": false,
"_id": "6543210fedcba98765432100"
}
],
"mentions": [
"6543210fedcba98765432101"
],
"isHidden": false,
"medias": [
{
"media": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}Deletes a comment (its author, or the owner of what it is on). Answers the deleted comment; 403 for anyone else.
Needs the token of a signed-in user.
The ID of the comment.
Returns an empty answer on success.
curl -X DELETE 'http://hristovtintdetailng.com/comments/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'Hides a comment on a post, or one of its replies (reply: its position), for the post's author. Only the post's author can hide; for anyone else nothing changes. A hidden comment stays stored but others no longer see it. There is no way to show it again here.
Needs the token of a signed-in user.
The ID of the hide comment.
The hide comment's reply.
Returns the Comment object.
curl -X PATCH 'http://hristovtintdetailng.com/hide-comment/{id}&{reply}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"user": "6543210fedcba98765432100",
"connected_account_user": "6543210fedcba98765432100",
"commented_on": "6543210fedcba98765432100",
"comment": "example",
"likes": [
"6543210fedcba98765432101"
],
"replies": [
{
"comment": "example",
"user": "6543210fedcba98765432100",
"likes": [
"6543210fedcba98765432101"
],
"createdAt": "2026-11-04T12:00:00.000Z",
"isHidden": false,
"_id": "6543210fedcba98765432100"
}
],
"mentions": [
"6543210fedcba98765432101"
],
"isHidden": false,
"medias": [
{
"media": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}Likes or unlikes a reply and notifies its author. Calling it again takes the like back. Answers the reply's likes.
Needs the token of a signed-in user.
The ID of the reply.
The reply's reply id.
The reply's liked by id.
The reply's action.
The reply's liked by.
curl -X PATCH 'http://hristovtintdetailng.com/reply-like/{id}&{replyId}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{ "liked_by_id": "...", "action": "...", "liked_by": "..." }'{
"user": "6543210fedcba98765432100",
"connected_account_user": "6543210fedcba98765432100",
"commented_on": "6543210fedcba98765432100",
"comment": "example",
"likes": [
"6543210fedcba98765432101"
],
"replies": [
{
"comment": "example",
"user": "6543210fedcba98765432100",
"likes": [
"6543210fedcba98765432101"
],
"createdAt": "2026-11-04T12:00:00.000Z",
"isHidden": false,
"_id": "6543210fedcba98765432100"
}
],
"mentions": [
"6543210fedcba98765432101"
],
"isHidden": false,
"medias": [
{
"media": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}Comments the signed-in user wrote, with what they are on. Answers the comments grouped by what they are on: posts, products, services, blog posts. 403 for an account the user may not act for.
Needs the token of a signed-in user.
How many results to skip - for paging.
Only user comments with this on behalf of.
Returns a list of Comment objects.
curl -X GET 'http://hristovtintdetailng.com/user-comments/{skip}?ionic=true&on_behalf_of=...' \
-H 'Authorization: Bearer <TOKEN>'[
{
"user": "6543210fedcba98765432100",
"connected_account_user": "6543210fedcba98765432100",
"commented_on": "6543210fedcba98765432100",
"comment": "example",
"likes": [
"6543210fedcba98765432101"
],
"replies": [
{
"comment": "example",
"user": "6543210fedcba98765432100",
"likes": [
"6543210fedcba98765432101"
],
"createdAt": "2026-11-04T12:00:00.000Z",
"isHidden": false,
"_id": "6543210fedcba98765432100"
}
],
"mentions": [
"6543210fedcba98765432101"
],
"isHidden": false,
"medias": [
{
"media": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}
]Comments the signed-in user liked. Comments and replies together, with count.
Needs the token of a signed-in user.
How many results to skip - for paging.
Only user liked comments with this on behalf of.
Returns a list of Comment objects.
curl -X GET 'http://hristovtintdetailng.com/user-liked-comments/{skip}?ionic=true&on_behalf_of=...' \
-H 'Authorization: Bearer <TOKEN>'[
{
"user": "6543210fedcba98765432100",
"connected_account_user": "6543210fedcba98765432100",
"commented_on": "6543210fedcba98765432100",
"comment": "example",
"likes": [
"6543210fedcba98765432101"
],
"replies": [
{
"comment": "example",
"user": "6543210fedcba98765432100",
"likes": [
"6543210fedcba98765432101"
],
"createdAt": "2026-11-04T12:00:00.000Z",
"isHidden": false,
"_id": "6543210fedcba98765432100"
}
],
"mentions": [
"6543210fedcba98765432101"
],
"isHidden": false,
"medias": [
{
"media": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}
]Removes a user from a group (group, user). Only the group's owner.
Needs the token of a signed-in user.
The group remove user's group.
The group remove user's user.
curl -X PATCH 'http://hristovtintdetailng.com/group-remove-user?ionic=true' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{ "group": "...", "user": "..." }'{
"type": "example",
"avatar": "6543210fedcba98765432100",
"cover": "6543210fedcba98765432100",
"name": "Example",
"handle": "example",
"bio": "example",
"participants": [
"6543210fedcba98765432101"
],
"owner_id": "6543210fedcba98765432100",
"who_can_post": "all",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}Opens a group in the app (redirects to its app page). For links shared from the app: the website sends the visitor to the group in the app.
Works without a token; with a user token the answer is personal.
The ID of the group.
curl -X GET 'http://hristovtintdetailng.com/group/{id}?ionic=true'{
"zip_code": "example",
"city": "example",
"address": "example",
"contact": "example",
"email": "jane@example.com",
"google_app": "example",
"workhours": "example",
"logo": "6543210fedcba98765432100",
"site_name": "Example",
"domain": "example",
"stock_domain": "example",
"isMarket": false,
"forbidden_collections": [
{
"collection_id": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"isInit": false,
"template": "0000",
"lang": "en",
"favicon": "6543210fedcba98765432100",
"cacheEnabled": false,
"has_completed_startup_prompt": true,
"gmb_location": "example",
"ga_property": "example",
"site_generated_at": "2026-11-04T12:00:00.000Z",
"admin_first_opened_at": "2026-11-04T12:00:00.000Z",
"admin_last_opened_at": "2026-11-04T12:00:00.000Z",
"allowedComponents": {
"services": false,
"products": false,
"blogposts": false,
"programs": false
}
}Creates a group. 403 when the site does not let this user create groups. Answers 201 with the group.
Needs the token of a signed-in user.
Returns the Group object.
curl -X POST 'http://hristovtintdetailng.com/groups?ionic=true' \ -H 'Authorization: Bearer <TOKEN>'
{
"type": "example",
"avatar": "6543210fedcba98765432100",
"cover": "6543210fedcba98765432100",
"name": "Example",
"handle": "example",
"bio": "example",
"participants": [
"6543210fedcba98765432101"
],
"owner_id": "6543210fedcba98765432100",
"who_can_post": "all",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}One group with the user's membership. 402 when the group needs a subscription the user lacks; 404 when there is no such group.
Needs the token of a signed-in user.
The ID of the group.
Returns the Group object.
curl -X GET 'http://hristovtintdetailng.com/groups/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"type": "example",
"avatar": "6543210fedcba98765432100",
"cover": "6543210fedcba98765432100",
"name": "Example",
"handle": "example",
"bio": "example",
"participants": [
"6543210fedcba98765432101"
],
"owner_id": "6543210fedcba98765432100",
"who_can_post": "all",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}Updates a group. Fields outside the allowed list are silently ignored. Answers the updated record, or 404.
Needs the token of a signed-in user.
The ID of the group.
Returns the Group object.
curl -X PATCH 'http://hristovtintdetailng.com/groups/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"type": "example",
"avatar": "6543210fedcba98765432100",
"cover": "6543210fedcba98765432100",
"name": "Example",
"handle": "example",
"bio": "example",
"participants": [
"6543210fedcba98765432101"
],
"owner_id": "6543210fedcba98765432100",
"who_can_post": "all",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}Deletes a group. Only its owner (403 otherwise). Its posts are deleted with it.
Needs the token of a signed-in user.
The ID of the group.
Returns an empty answer on success.
curl -X DELETE 'http://hristovtintdetailng.com/groups/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'Groups, the most active first, a page at a time. Answers { groups, count }.
Public - no token needed.
How many results to skip - for paging.
How many results to return.
Returns a list of Group objects.
curl -X GET 'http://hristovtintdetailng.com/groups/{skip}/{limit}?ionic=true'[
{
"type": "example",
"avatar": "6543210fedcba98765432100",
"cover": "6543210fedcba98765432100",
"name": "Example",
"handle": "example",
"bio": "example",
"participants": [
"6543210fedcba98765432101"
],
"owner_id": "6543210fedcba98765432100",
"who_can_post": "all",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}
]Joins a group, or asks to join a private one (group). Answers 201 { group_join_request }: 'accepted' for a public group, 'pending' for a private one until its owner answers. 403 when a request is already pending.
Needs the token of a signed-in user.
The join group's group.
Returns the Group object.
curl -X POST 'http://hristovtintdetailng.com/join-group?ionic=true' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{ "group": "..." }'{
"type": "example",
"avatar": "6543210fedcba98765432100",
"cover": "6543210fedcba98765432100",
"name": "Example",
"handle": "example",
"bio": "example",
"participants": [
"6543210fedcba98765432101"
],
"owner_id": "6543210fedcba98765432100",
"who_can_post": "all",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}Groups the signed-in user is in, with their join requests. Answers { my_groups, joined_groups, canCreateGroups }.
Needs the token of a signed-in user.
Returns a list of Group objects.
curl -X GET 'http://hristovtintdetailng.com/my-groups?ionic=true' \ -H 'Authorization: Bearer <TOKEN>'
[
{
"type": "example",
"avatar": "6543210fedcba98765432100",
"cover": "6543210fedcba98765432100",
"name": "Example",
"handle": "example",
"bio": "example",
"participants": [
"6543210fedcba98765432101"
],
"owner_id": "6543210fedcba98765432100",
"who_can_post": "all",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}
]Groups whose name matches the words. Nine at a time.
Public - no token needed.
The group's args.
How many results to skip - for paging.
Returns a list of Group objects.
curl -X GET 'http://hristovtintdetailng.com/search-groups/{args}/{skip}?ionic=true'[
{
"type": "example",
"avatar": "6543210fedcba98765432100",
"cover": "6543210fedcba98765432100",
"name": "Example",
"handle": "example",
"bio": "example",
"participants": [
"6543210fedcba98765432101"
],
"owner_id": "6543210fedcba98765432100",
"who_can_post": "all",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}
]Accepts or refuses a request to join a group. Only the group's owner. Answers 201.
Needs the token of a signed-in user.
Group.id the user asks to join.
User.id.
Returns the GroupJoinRequest object.
curl -X PATCH 'http://hristovtintdetailng.com/update-join-request-status?ionic=true' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{ "group": "...", "user": "..." }'{
"group": "6543210fedcba98765432100",
"user": "6543210fedcba98765432100",
"status": "pending",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}Adds users to a group conversation (users) and notifies them. Answers 201.
Needs the token of a signed-in user.
The ID of the add user.
The add user's users.
curl -X PATCH 'http://hristovtintdetailng.com/add-user/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{ "users": "..." }'{
"sender_id": "6543210fedcba98765432100",
"receiver_id": "6543210fedcba98765432100",
"product_id": "6543210fedcba98765432100",
"service_id": "6543210fedcba98765432100",
"isOpened": false,
"blogpost_id": "6543210fedcba98765432100",
"isDirectMessage": false,
"message": [
{
"from": "6543210fedcba98765432100",
"text": "Text shown on the site.",
"createdAt": "example",
"sent": false,
"seen": false,
"seen_by": [
"6543210fedcba98765432101"
],
"postId": "6543210fedcba98765432100",
"userId": "6543210fedcba98765432100",
"medias": [],
"isSystem": false,
"groupId": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"isGroup": false,
"group_users": [
"6543210fedcba98765432101"
],
"current_group_users": [
"6543210fedcba98765432101"
],
"users_nicknames": [
{
"nickname": "Example",
"user": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"group_avatar": "6543210fedcba98765432100",
"group_name": "Example",
"delete_chat": [
{
"isDeleted": false,
"user": "6543210fedcba98765432100",
"createdAt": "2026-11-04T12:00:00.000Z",
"_id": "6543210fedcba98765432100"
}
],
"program_id": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}Opens or joins the conversation between the signed-in user and another user or group. Answers 201 with the conversation (its room for the live connection), creating it the first time. 403 when the ids sent do not match the signed-in user.
Needs the token of a signed-in user.
The connect to room's me.
The connect to room's chat support.
The connect to room's receiver id.
The connect to room's user.
The connect to room's room.
curl -X POST 'http://hristovtintdetailng.com/connect-to-room?ionic=true' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{ "me": "...", "chatSupport": "...", "receiver_id": "...", "user": "...", "room": "..." }'{
"on_behalf_of": "6543210fedcba98765432100",
"user_account": "6543210fedcba98765432100",
"status": "pending",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z",
"is_authorized_to": {
"create_posts": false,
"send_messages": false,
"answer_delete_comments": false,
"access_engagements": false,
"access_boosted_posts": false,
"access_analytics": false,
"alter_profile_settings": false
}
}Deletes a conversation for the signed-in user only. The other members keep the conversation and its messages.
Needs the token of a signed-in user.
The ID of the delete chat.
The delete chat's user id.
curl -X PATCH 'http://hristovtintdetailng.com/delete-chat/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{ "user_id": "..." }'{
"sender_id": "6543210fedcba98765432100",
"receiver_id": "6543210fedcba98765432100",
"product_id": "6543210fedcba98765432100",
"service_id": "6543210fedcba98765432100",
"isOpened": false,
"blogpost_id": "6543210fedcba98765432100",
"isDirectMessage": false,
"message": [
{
"from": "6543210fedcba98765432100",
"text": "Text shown on the site.",
"createdAt": "example",
"sent": false,
"seen": false,
"seen_by": [
"6543210fedcba98765432101"
],
"postId": "6543210fedcba98765432100",
"userId": "6543210fedcba98765432100",
"medias": [],
"isSystem": false,
"groupId": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"isGroup": false,
"group_users": [
"6543210fedcba98765432101"
],
"current_group_users": [
"6543210fedcba98765432101"
],
"users_nicknames": [
{
"nickname": "Example",
"user": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"group_avatar": "6543210fedcba98765432100",
"group_name": "Example",
"delete_chat": [
{
"isDeleted": false,
"user": "6543210fedcba98765432100",
"createdAt": "2026-11-04T12:00:00.000Z",
"_id": "6543210fedcba98765432100"
}
],
"program_id": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}The conversation with a product's seller, to ask about it. Answers { url } of the conversation in the app, or {} when there is none yet.
Needs the token of a signed-in user.
The chat's product id.
curl -X GET 'http://hristovtintdetailng.com/find-chat/{product_id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"sender_id": "6543210fedcba98765432100",
"receiver_id": "6543210fedcba98765432100",
"product_id": "6543210fedcba98765432100",
"service_id": "6543210fedcba98765432100",
"isOpened": false,
"blogpost_id": "6543210fedcba98765432100",
"isDirectMessage": false,
"message": [
{
"from": "6543210fedcba98765432100",
"text": "Text shown on the site.",
"createdAt": "example",
"sent": false,
"seen": false,
"seen_by": [
"6543210fedcba98765432101"
],
"postId": "6543210fedcba98765432100",
"userId": "6543210fedcba98765432100",
"medias": [],
"isSystem": false,
"groupId": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"isGroup": false,
"group_users": [
"6543210fedcba98765432101"
],
"current_group_users": [
"6543210fedcba98765432101"
],
"users_nicknames": [
{
"nickname": "Example",
"user": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"group_avatar": "6543210fedcba98765432100",
"group_name": "Example",
"delete_chat": [
{
"isDeleted": false,
"user": "6543210fedcba98765432100",
"createdAt": "2026-11-04T12:00:00.000Z",
"_id": "6543210fedcba98765432100"
}
],
"program_id": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}Leaves a group conversation. Earlier messages stay in the group. Answers 201.
Needs the token of a signed-in user.
The ID of the leave group.
curl -X PATCH 'http://hristovtintdetailng.com/leave-group/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"sender_id": "6543210fedcba98765432100",
"receiver_id": "6543210fedcba98765432100",
"product_id": "6543210fedcba98765432100",
"service_id": "6543210fedcba98765432100",
"isOpened": false,
"blogpost_id": "6543210fedcba98765432100",
"isDirectMessage": false,
"message": [
{
"from": "6543210fedcba98765432100",
"text": "Text shown on the site.",
"createdAt": "example",
"sent": false,
"seen": false,
"seen_by": [
"6543210fedcba98765432101"
],
"postId": "6543210fedcba98765432100",
"userId": "6543210fedcba98765432100",
"medias": [],
"isSystem": false,
"groupId": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"isGroup": false,
"group_users": [
"6543210fedcba98765432101"
],
"current_group_users": [
"6543210fedcba98765432101"
],
"users_nicknames": [
{
"nickname": "Example",
"user": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"group_avatar": "6543210fedcba98765432100",
"group_name": "Example",
"delete_chat": [
{
"isDeleted": false,
"user": "6543210fedcba98765432100",
"createdAt": "2026-11-04T12:00:00.000Z",
"_id": "6543210fedcba98765432100"
}
],
"program_id": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}A conversation's live events stream. 403 when the user is not in the conversation.
Needs the token of a signed-in user.
The ID of the message event.
curl -X GET 'http://hristovtintdetailng.com/message-event/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"sender_id": "6543210fedcba98765432100",
"receiver_id": "6543210fedcba98765432100",
"product_id": "6543210fedcba98765432100",
"service_id": "6543210fedcba98765432100",
"isOpened": false,
"blogpost_id": "6543210fedcba98765432100",
"isDirectMessage": false,
"message": [
{
"from": "6543210fedcba98765432100",
"text": "Text shown on the site.",
"createdAt": "example",
"sent": false,
"seen": false,
"seen_by": [
"6543210fedcba98765432101"
],
"postId": "6543210fedcba98765432100",
"userId": "6543210fedcba98765432100",
"medias": [],
"isSystem": false,
"groupId": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"isGroup": false,
"group_users": [
"6543210fedcba98765432101"
],
"current_group_users": [
"6543210fedcba98765432101"
],
"users_nicknames": [
{
"nickname": "Example",
"user": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"group_avatar": "6543210fedcba98765432100",
"group_name": "Example",
"delete_chat": [
{
"isDeleted": false,
"user": "6543210fedcba98765432100",
"createdAt": "2026-11-04T12:00:00.000Z",
"_id": "6543210fedcba98765432100"
}
],
"program_id": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}Marks a conversation as read by the signed-in user. Answers { room }.
Needs the token of a signed-in user.
The ID of the message seen.
The message seen's user.
curl -X PATCH 'http://hristovtintdetailng.com/message-seen?ionic=true' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{ "id": "...", "user": "..." }'{
"sender_id": "6543210fedcba98765432100",
"receiver_id": "6543210fedcba98765432100",
"product_id": "6543210fedcba98765432100",
"service_id": "6543210fedcba98765432100",
"isOpened": false,
"blogpost_id": "6543210fedcba98765432100",
"isDirectMessage": false,
"message": [
{
"from": "6543210fedcba98765432100",
"text": "Text shown on the site.",
"createdAt": "example",
"sent": false,
"seen": false,
"seen_by": [
"6543210fedcba98765432101"
],
"postId": "6543210fedcba98765432100",
"userId": "6543210fedcba98765432100",
"medias": [],
"isSystem": false,
"groupId": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"isGroup": false,
"group_users": [
"6543210fedcba98765432101"
],
"current_group_users": [
"6543210fedcba98765432101"
],
"users_nicknames": [
{
"nickname": "Example",
"user": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"group_avatar": "6543210fedcba98765432100",
"group_name": "Example",
"delete_chat": [
{
"isDeleted": false,
"user": "6543210fedcba98765432100",
"createdAt": "2026-11-04T12:00:00.000Z",
"_id": "6543210fedcba98765432100"
}
],
"program_id": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}The signed-in user's conversations. The most recently active first.
Needs the token of a signed-in user.
Returns a list of Message objects.
curl -X GET 'http://hristovtintdetailng.com/messages?ionic=true' \ -H 'Authorization: Bearer <TOKEN>'
[
{
"sender_id": "6543210fedcba98765432100",
"receiver_id": "6543210fedcba98765432100",
"product_id": "6543210fedcba98765432100",
"service_id": "6543210fedcba98765432100",
"isOpened": false,
"blogpost_id": "6543210fedcba98765432100",
"isDirectMessage": false,
"message": [
{
"from": "6543210fedcba98765432100",
"text": "Text shown on the site.",
"createdAt": "example",
"sent": false,
"seen": false,
"seen_by": [
"6543210fedcba98765432101"
],
"postId": "6543210fedcba98765432100",
"userId": "6543210fedcba98765432100",
"medias": [],
"isSystem": false,
"groupId": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"isGroup": false,
"group_users": [
"6543210fedcba98765432101"
],
"current_group_users": [
"6543210fedcba98765432101"
],
"users_nicknames": [
{
"nickname": "Example",
"user": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"group_avatar": "6543210fedcba98765432100",
"group_name": "Example",
"delete_chat": [
{
"isDeleted": false,
"user": "6543210fedcba98765432100",
"createdAt": "2026-11-04T12:00:00.000Z",
"_id": "6543210fedcba98765432100"
}
],
"program_id": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}
]Creates a conversation. 403 "Message lenght limit exceeded!" for a message over the length limit. Answers 201 with the message.
Needs the token of a signed-in user.
Message.
Product.id of product, that the message is about.
User.id of receiver.
Service.id.
BlogPost.id.
Program.id.
Between two users, not in a group.
The message's post id.
Keeps the messages after user leaves the group.
A group conversation.
Returns the Message object.
curl -X POST 'http://hristovtintdetailng.com/messages?ionic=true' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{ "message": "...", "product_id": "...", "receiver_id": "...", "service_id": "...", "blogpost_id": "..." }'{
"sender_id": "6543210fedcba98765432100",
"receiver_id": "6543210fedcba98765432100",
"product_id": "6543210fedcba98765432100",
"service_id": "6543210fedcba98765432100",
"isOpened": false,
"blogpost_id": "6543210fedcba98765432100",
"isDirectMessage": false,
"message": [
{
"from": "6543210fedcba98765432100",
"text": "Text shown on the site.",
"createdAt": "example",
"sent": false,
"seen": false,
"seen_by": [
"6543210fedcba98765432101"
],
"postId": "6543210fedcba98765432100",
"userId": "6543210fedcba98765432100",
"medias": [],
"isSystem": false,
"groupId": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"isGroup": false,
"group_users": [
"6543210fedcba98765432101"
],
"current_group_users": [
"6543210fedcba98765432101"
],
"users_nicknames": [
{
"nickname": "Example",
"user": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"group_avatar": "6543210fedcba98765432100",
"group_name": "Example",
"delete_chat": [
{
"isDeleted": false,
"user": "6543210fedcba98765432100",
"createdAt": "2026-11-04T12:00:00.000Z",
"_id": "6543210fedcba98765432100"
}
],
"program_id": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}Pictures and files shared in a conversation, a page at a time. Answers { limitedPosts, limitedMedia, count }: shared posts and files.
Needs the token of a signed-in user.
The ID of the messages media.
How many results to skip - for paging.
How many results to return.
curl -X GET 'http://hristovtintdetailng.com/messages-medias/{id}&{skip}&{limit}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"sender_id": "6543210fedcba98765432100",
"receiver_id": "6543210fedcba98765432100",
"product_id": "6543210fedcba98765432100",
"service_id": "6543210fedcba98765432100",
"isOpened": false,
"blogpost_id": "6543210fedcba98765432100",
"isDirectMessage": false,
"message": [
{
"from": "6543210fedcba98765432100",
"text": "Text shown on the site.",
"createdAt": "example",
"sent": false,
"seen": false,
"seen_by": [
"6543210fedcba98765432101"
],
"postId": "6543210fedcba98765432100",
"userId": "6543210fedcba98765432100",
"medias": [],
"isSystem": false,
"groupId": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"isGroup": false,
"group_users": [
"6543210fedcba98765432101"
],
"current_group_users": [
"6543210fedcba98765432101"
],
"users_nicknames": [
{
"nickname": "Example",
"user": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"group_avatar": "6543210fedcba98765432100",
"group_name": "Example",
"delete_chat": [
{
"isDeleted": false,
"user": "6543210fedcba98765432100",
"createdAt": "2026-11-04T12:00:00.000Z",
"_id": "6543210fedcba98765432100"
}
],
"program_id": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}Updates a conversation. Answers the updated conversation, or 404. Fields outside the allowed list are ignored.
Needs the token of a signed-in user.
The ID of the message.
Returns the Message object.
curl -X PATCH 'http://hristovtintdetailng.com/messages/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"sender_id": "6543210fedcba98765432100",
"receiver_id": "6543210fedcba98765432100",
"product_id": "6543210fedcba98765432100",
"service_id": "6543210fedcba98765432100",
"isOpened": false,
"blogpost_id": "6543210fedcba98765432100",
"isDirectMessage": false,
"message": [
{
"from": "6543210fedcba98765432100",
"text": "Text shown on the site.",
"createdAt": "example",
"sent": false,
"seen": false,
"seen_by": [
"6543210fedcba98765432101"
],
"postId": "6543210fedcba98765432100",
"userId": "6543210fedcba98765432100",
"medias": [],
"isSystem": false,
"groupId": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"isGroup": false,
"group_users": [
"6543210fedcba98765432101"
],
"current_group_users": [
"6543210fedcba98765432101"
],
"users_nicknames": [
{
"nickname": "Example",
"user": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"group_avatar": "6543210fedcba98765432100",
"group_name": "Example",
"delete_chat": [
{
"isDeleted": false,
"user": "6543210fedcba98765432100",
"createdAt": "2026-11-04T12:00:00.000Z",
"_id": "6543210fedcba98765432100"
}
],
"program_id": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}Deletes a conversation. Deletes the whole conversation for everyone, with no check of who asks beyond being signed in. Answers it, or 404.
Needs the token of a signed-in user.
The ID of the message.
Returns an empty answer on success.
curl -X DELETE 'http://hristovtintdetailng.com/messages/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'Messages of a conversation, a page at a time. Counted from the newest message. 404 when there is no such conversation.
Needs the token of a signed-in user.
The ID of the message.
How many results to skip - for paging.
How many results to return.
Returns the Message object.
curl -X GET 'http://hristovtintdetailng.com/messages/{id}&{skip}&{limit}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"sender_id": "6543210fedcba98765432100",
"receiver_id": "6543210fedcba98765432100",
"product_id": "6543210fedcba98765432100",
"service_id": "6543210fedcba98765432100",
"isOpened": false,
"blogpost_id": "6543210fedcba98765432100",
"isDirectMessage": false,
"message": [
{
"from": "6543210fedcba98765432100",
"text": "Text shown on the site.",
"createdAt": "example",
"sent": false,
"seen": false,
"seen_by": [
"6543210fedcba98765432101"
],
"postId": "6543210fedcba98765432100",
"userId": "6543210fedcba98765432100",
"medias": [],
"isSystem": false,
"groupId": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"isGroup": false,
"group_users": [
"6543210fedcba98765432101"
],
"current_group_users": [
"6543210fedcba98765432101"
],
"users_nicknames": [
{
"nickname": "Example",
"user": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"group_avatar": "6543210fedcba98765432100",
"group_name": "Example",
"delete_chat": [
{
"isDeleted": false,
"user": "6543210fedcba98765432100",
"createdAt": "2026-11-04T12:00:00.000Z",
"_id": "6543210fedcba98765432100"
}
],
"program_id": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}One in-app notification, with its group. With who sent it and the post it is about.
Public - no token needed.
The ID of the received in app message.
curl -X GET 'http://hristovtintdetailng.com/received-in-app-message/{id}?ionic=true'{
"type": "example",
"title": "Example",
"body": "Text shown on the site.",
"owner_id": "6543210fedcba98765432100",
"from": "6543210fedcba98765432100",
"post": "6543210fedcba98765432100",
"group": "6543210fedcba98765432100",
"sendToAll": false,
"comment": "6543210fedcba98765432100",
"is_received": false,
"is_seen": false,
"url": "example-item",
"image": "example",
"service": "6543210fedcba98765432100",
"product": "6543210fedcba98765432100",
"blogpost": "6543210fedcba98765432100",
"program": "6543210fedcba98765432100",
"booking": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}Sends an in-app notification to users. Answers 201 { room, notification_id }. 500 "Notification already send." when the same notification was already sent.
Needs the token of a signed-in user.
The in app message's type.
The in app message's comment owner.
The ID of the in app message to change.
The in app message's action doer.
The in app message's group.
The in app message's owner id.
The in app message's from.
The in app message's message.
The in app message's mentioned.
The in app message's post.
curl -X POST 'http://hristovtintdetailng.com/send-in-app-message?ionic=true' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{ "type": "...", "comment_owner": "...", "item_id": "...", "action_doer": "...", "group": "..." }'{
"type": "example",
"title": "Example",
"body": "Text shown on the site.",
"owner_id": "6543210fedcba98765432100",
"from": "6543210fedcba98765432100",
"post": "6543210fedcba98765432100",
"group": "6543210fedcba98765432100",
"sendToAll": false,
"comment": "6543210fedcba98765432100",
"is_received": false,
"is_seen": false,
"url": "example-item",
"image": "example",
"service": "6543210fedcba98765432100",
"product": "6543210fedcba98765432100",
"blogpost": "6543210fedcba98765432100",
"program": "6543210fedcba98765432100",
"booking": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}Sends a message in a conversation and notifies its members. Answers 201 with the sent message. Every other member gets a push notification. 403 when the sender may not write there.
Needs the token of a signed-in user.
The message's from.
The message's text.
The message's chat support.
User.id of receiver.
The message's to.
The message's room.
Between two users, not in a group.
The message's post id.
The message's user id.
The message's group id.
The message's medias.
Returns the Message object.
curl -X POST 'http://hristovtintdetailng.com/send-message?ionic=true' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{ "from": "...", "text": "...", "chatSupport": "...", "receiver_id": "...", "to": "..." }'{
"sender_id": "6543210fedcba98765432100",
"receiver_id": "6543210fedcba98765432100",
"product_id": "6543210fedcba98765432100",
"service_id": "6543210fedcba98765432100",
"isOpened": false,
"blogpost_id": "6543210fedcba98765432100",
"isDirectMessage": false,
"message": [
{
"from": "6543210fedcba98765432100",
"text": "Text shown on the site.",
"createdAt": "example",
"sent": false,
"seen": false,
"seen_by": [
"6543210fedcba98765432101"
],
"postId": "6543210fedcba98765432100",
"userId": "6543210fedcba98765432100",
"medias": [],
"isSystem": false,
"groupId": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"isGroup": false,
"group_users": [
"6543210fedcba98765432101"
],
"current_group_users": [
"6543210fedcba98765432101"
],
"users_nicknames": [
{
"nickname": "Example",
"user": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"group_avatar": "6543210fedcba98765432100",
"group_name": "Example",
"delete_chat": [
{
"isDeleted": false,
"user": "6543210fedcba98765432100",
"createdAt": "2026-11-04T12:00:00.000Z",
"_id": "6543210fedcba98765432100"
}
],
"program_id": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}Deletes one of the signed-in user's messages. msg is the message's id inside the conversation.
Needs the token of a signed-in user.
The ID of the sent message.
The sent message's msg.
Returns an empty answer on success.
curl -X DELETE 'http://hristovtintdetailng.com/sent-message/{id}&{msg}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'Adds the signed-in user to a group conversation. Answers { room }. 403 when the user was not invited.
Needs the token of a signed-in user.
The user added's room.
The user added's users.
curl -X PATCH 'http://hristovtintdetailng.com/user-added?ionic=true' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{ "room": "...", "users": "..." }'{
"sender_id": "6543210fedcba98765432100",
"receiver_id": "6543210fedcba98765432100",
"product_id": "6543210fedcba98765432100",
"service_id": "6543210fedcba98765432100",
"isOpened": false,
"blogpost_id": "6543210fedcba98765432100",
"isDirectMessage": false,
"message": [
{
"from": "6543210fedcba98765432100",
"text": "Text shown on the site.",
"createdAt": "example",
"sent": false,
"seen": false,
"seen_by": [
"6543210fedcba98765432101"
],
"postId": "6543210fedcba98765432100",
"userId": "6543210fedcba98765432100",
"medias": [],
"isSystem": false,
"groupId": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"isGroup": false,
"group_users": [
"6543210fedcba98765432101"
],
"current_group_users": [
"6543210fedcba98765432101"
],
"users_nicknames": [
{
"nickname": "Example",
"user": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"group_avatar": "6543210fedcba98765432100",
"group_name": "Example",
"delete_chat": [
{
"isDeleted": false,
"user": "6543210fedcba98765432100",
"createdAt": "2026-11-04T12:00:00.000Z",
"_id": "6543210fedcba98765432100"
}
],
"program_id": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}Get partners, optionally searched, filtered, sorted and paged. Renders the locations page; JSON with ?ionic. Search, category filters, sorting and paging come from the query.
Works without a token; with a user token the answer is personal.
curl -X GET 'http://hristovtintdetailng.com/partners?ionic=true'
Creates a location or partner. Answers 201 with the location.
Needs a site admin token.
Returns the Partner object.
curl -X POST 'http://hristovtintdetailng.com/partners?ionic=true' \ -H 'Authorization: Bearer <TOKEN>'
{
"name": "Example",
"venue": "example",
"venue_types": [
{
"collection_id": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"city": "example",
"country": "example",
"address": "example",
"contact": "example",
"additional_information": "example",
"phone": "+359 888 123 456",
"email": "jane@example.com",
"website": "example",
"hours": "example",
"latitude": 1,
"longitude": 1,
"formatted_address": "example",
"geo_status": "pending",
"custom_1": "example",
"custom_2": "example",
"custom_3": "example",
"medias": [
{
"media": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}One location or partner. With its venue types. 404 when there is no such location.
Public - no token needed.
The ID of the partner.
Returns the Partner object.
curl -X GET 'http://hristovtintdetailng.com/partners/{id}?ionic=true'{
"name": "Example",
"venue": "example",
"venue_types": [
{
"collection_id": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"city": "example",
"country": "example",
"address": "example",
"contact": "example",
"additional_information": "example",
"phone": "+359 888 123 456",
"email": "jane@example.com",
"website": "example",
"hours": "example",
"latitude": 1,
"longitude": 1,
"formatted_address": "example",
"geo_status": "pending",
"custom_1": "example",
"custom_2": "example",
"custom_3": "example",
"medias": [
{
"media": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}Updates a location or partner. Answers the location, or 404.
Needs a site admin token.
The ID of the partner.
Street address.
City.
Not required - records created before the split still carry the country inside city, and forcing it would reject every update to them.
Returns the Partner object.
curl -X PATCH 'http://hristovtintdetailng.com/partners/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{ "address": "...", "city": "...", "country": "..." }'{
"name": "Example",
"venue": "example",
"venue_types": [
{
"collection_id": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"city": "example",
"country": "example",
"address": "example",
"contact": "example",
"additional_information": "example",
"phone": "+359 888 123 456",
"email": "jane@example.com",
"website": "example",
"hours": "example",
"latitude": 1,
"longitude": 1,
"formatted_address": "example",
"geo_status": "pending",
"custom_1": "example",
"custom_2": "example",
"custom_3": "example",
"medias": [
{
"media": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}Deletes a location or partner. Answers the deleted location, or 404.
Needs a site admin token.
The ID of the partner.
Returns an empty answer on success.
curl -X DELETE 'http://hristovtintdetailng.com/partners/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'The average cost per action of ads with a given targeting (?interests, ?languages, ?keywords...). Answers { cost_per_click, cost_per_mile } from earlier ads with a similar targeting, to estimate a boost.
Needs the token of a signed-in user.
Only avg cost per actions with this interests.
Only avg cost per actions with this app categories.
Only avg cost per actions with this languages.
Only avg cost per actions with this keywords.
Only avg cost per actions with this user economics.
Only avg cost per actions with this user education.
Only avg cost per actions with this marital status.
Only avg cost per actions with this ages.
Only avg cost per actions with this sexes.
curl -X GET 'http://hristovtintdetailng.com/avg-cost-per-action?ionic=true&interests=...&app_categories=...&languages=...' \ -H 'Authorization: Bearer <TOKEN>'
{
"posted_by": "6543210fedcba98765432100",
"repost_of": "6543210fedcba98765432100",
"connected_account_posted_by": "6543210fedcba98765432100",
"text": "Text shown on the site.",
"title": "Example",
"likes": [
"6543210fedcba98765432101"
],
"shares": [
{
"from": "6543210fedcba98765432100",
"to": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"views": [
"6543210fedcba98765432101"
],
"comments": [
"6543210fedcba98765432101"
],
"medias": [
{
"media": "6543210fedcba98765432100",
"vimeo_uri": "example",
"vimeo_picture": "example",
"vimeo_url": "example-item",
"youtube_url": "example-item",
"youtube_picture": "example",
"gcs_url": "example-item",
"gcs_480_30_url": "example-item",
"gcs_720_30_url": "example-item",
"gcs_1080_30_url": "example-item",
"duration": 1,
"transcode_status": "not_started",
"_id": "6543210fedcba98765432100"
}
],
"keywords": [
"example"
],
"emotion": "example",
"political_spectrum": "example",
"explicit": "example",
"harmful": "example",
"propaganda": "example",
"advertisement": "example",
"engaging": "example",
"language": "en",
"interests": [
"example"
],
"app_category": [
"example"
],
"user_profile": [
"example"
],
"user_economics": "example",
"user_education": "example",
"thumbnail": {
"media": "example"
},
"targeting": {
"keywords": "example",
"language": "en",
"interests": "example",
"app_category": "example",
"user_economics": "example",
"user_education": "example",
"marital_status": "example",
"age": "example",
"sex": "example",
"isCpc": false,
"cost_per_click": 0
}
}The short video feed by the user's interests, with ads. Answers { posts, length, location_ads_skip, ads_skip }. Cached per user for 5 minutes.
Needs the token of a signed-in user.
The bite's posts.
The bite's popular.
The bite's ads.
The bite's location ads.
curl -X GET 'http://hristovtintdetailng.com/bites/{posts}&{popular}&{ads}&{location_ads}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"posted_by": "6543210fedcba98765432100",
"repost_of": "6543210fedcba98765432100",
"connected_account_posted_by": "6543210fedcba98765432100",
"text": "Text shown on the site.",
"title": "Example",
"likes": [
"6543210fedcba98765432101"
],
"shares": [
{
"from": "6543210fedcba98765432100",
"to": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"views": [
"6543210fedcba98765432101"
],
"comments": [
"6543210fedcba98765432101"
],
"medias": [
{
"media": "6543210fedcba98765432100",
"vimeo_uri": "example",
"vimeo_picture": "example",
"vimeo_url": "example-item",
"youtube_url": "example-item",
"youtube_picture": "example",
"gcs_url": "example-item",
"gcs_480_30_url": "example-item",
"gcs_720_30_url": "example-item",
"gcs_1080_30_url": "example-item",
"duration": 1,
"transcode_status": "not_started",
"_id": "6543210fedcba98765432100"
}
],
"keywords": [
"example"
],
"emotion": "example",
"political_spectrum": "example",
"explicit": "example",
"harmful": "example",
"propaganda": "example",
"advertisement": "example",
"engaging": "example",
"language": "en",
"interests": [
"example"
],
"app_category": [
"example"
],
"user_profile": [
"example"
],
"user_economics": "example",
"user_education": "example",
"thumbnail": {
"media": "example"
},
"targeting": {
"keywords": "example",
"language": "en",
"interests": "example",
"app_category": "example",
"user_economics": "example",
"user_education": "example",
"marital_status": "example",
"age": "example",
"sex": "example",
"isCpc": false,
"cost_per_click": 0
}
}Boosts a post as an ad with its targeting, or edits a boost (?edit). The boost is paid from the user's wallet: 400 "Insufficient funds." when it does not cover the budget. Answers the post.
Needs the token of a signed-in user.
The ID of the boost user post.
Only boost user posts with this on behalf of.
Only boost user posts with this edit.
From Google Segments.
The boost user post's app categories.
The boost user post's languages.
Words it is found by.
Low, middle, high.
Low, middle, high.
Single, married.
The boost user post's ages.
The boost user post's sexes.
The boost user post's cost per click.
The boost user post's cost per mile.
The boost user post's created on.
The boost user post's duration.
The boost user post's days left.
The boost user post's daily budget.
The boost user post's outer link.
The boost user post's targeting.
A paid ad.
Returns the Post object.
curl -X PATCH 'http://hristovtintdetailng.com/boost-user-post/{id}?ionic=true&on_behalf_of=...&edit=...' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{ "interests": "...", "app_categories": "...", "languages": "...", "keywords": "...", "user_economics": "..." }'{
"posted_by": "6543210fedcba98765432100",
"repost_of": "6543210fedcba98765432100",
"connected_account_posted_by": "6543210fedcba98765432100",
"text": "Text shown on the site.",
"title": "Example",
"likes": [
"6543210fedcba98765432101"
],
"shares": [
{
"from": "6543210fedcba98765432100",
"to": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"views": [
"6543210fedcba98765432101"
],
"comments": [
"6543210fedcba98765432101"
],
"medias": [
{
"media": "6543210fedcba98765432100",
"vimeo_uri": "example",
"vimeo_picture": "example",
"vimeo_url": "example-item",
"youtube_url": "example-item",
"youtube_picture": "example",
"gcs_url": "example-item",
"gcs_480_30_url": "example-item",
"gcs_720_30_url": "example-item",
"gcs_1080_30_url": "example-item",
"duration": 1,
"transcode_status": "not_started",
"_id": "6543210fedcba98765432100"
}
],
"keywords": [
"example"
],
"emotion": "example",
"political_spectrum": "example",
"explicit": "example",
"harmful": "example",
"propaganda": "example",
"advertisement": "example",
"engaging": "example",
"language": "en",
"interests": [
"example"
],
"app_category": [
"example"
],
"user_profile": [
"example"
],
"user_economics": "example",
"user_education": "example",
"thumbnail": {
"media": "example"
},
"targeting": {
"keywords": "example",
"language": "en",
"interests": "example",
"app_category": "example",
"user_economics": "example",
"user_education": "example",
"marital_status": "example",
"age": "example",
"sex": "example",
"isCpc": false,
"cost_per_click": 0
}
}The user's boosted posts with their pixel results, or those of an account they manage (?on_behalf_of). Newest boost first. 403 for an account the user may not act for.
Needs the token of a signed-in user.
Only boosted posts with this on behalf of.
Returns a list of Post objects.
curl -X GET 'http://hristovtintdetailng.com/boosted-posts?ionic=true&on_behalf_of=...' \ -H 'Authorization: Bearer <TOKEN>'
[
{
"posted_by": "6543210fedcba98765432100",
"repost_of": "6543210fedcba98765432100",
"connected_account_posted_by": "6543210fedcba98765432100",
"text": "Text shown on the site.",
"title": "Example",
"likes": [
"6543210fedcba98765432101"
],
"shares": [
{
"from": "6543210fedcba98765432100",
"to": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"views": [
"6543210fedcba98765432101"
],
"comments": [
"6543210fedcba98765432101"
],
"medias": [
{
"media": "6543210fedcba98765432100",
"vimeo_uri": "example",
"vimeo_picture": "example",
"vimeo_url": "example-item",
"youtube_url": "example-item",
"youtube_picture": "example",
"gcs_url": "example-item",
"gcs_480_30_url": "example-item",
"gcs_720_30_url": "example-item",
"gcs_1080_30_url": "example-item",
"duration": 1,
"transcode_status": "not_started",
"_id": "6543210fedcba98765432100"
}
],
"keywords": [
"example"
],
"emotion": "example",
"political_spectrum": "example",
"explicit": "example",
"harmful": "example",
"propaganda": "example",
"advertisement": "example",
"engaging": "example",
"language": "en",
"interests": [
"example"
],
"app_category": [
"example"
],
"user_profile": [
"example"
],
"user_economics": "example",
"user_education": "example",
"thumbnail": {
"media": "example"
},
"targeting": {
"keywords": "example",
"language": "en",
"interests": "example",
"app_category": "example",
"user_economics": "example",
"user_education": "example",
"marital_status": "example",
"age": "example",
"sex": "example",
"isCpc": false,
"cost_per_click": 0
}
}
]Stops a post's boost. Answers { returnCredits }: the unspent budget returned to the wallet.
Needs the token of a signed-in user.
The ID of the boost user post.
Only boost user posts with this on behalf of.
Returns the Post object.
curl -X PATCH 'http://hristovtintdetailng.com/cancel-boost-user-post/{id}?ionic=true&on_behalf_of=...' \
-H 'Authorization: Bearer <TOKEN>'{
"posted_by": "6543210fedcba98765432100",
"repost_of": "6543210fedcba98765432100",
"connected_account_posted_by": "6543210fedcba98765432100",
"text": "Text shown on the site.",
"title": "Example",
"likes": [
"6543210fedcba98765432101"
],
"shares": [
{
"from": "6543210fedcba98765432100",
"to": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"views": [
"6543210fedcba98765432101"
],
"comments": [
"6543210fedcba98765432101"
],
"medias": [
{
"media": "6543210fedcba98765432100",
"vimeo_uri": "example",
"vimeo_picture": "example",
"vimeo_url": "example-item",
"youtube_url": "example-item",
"youtube_picture": "example",
"gcs_url": "example-item",
"gcs_480_30_url": "example-item",
"gcs_720_30_url": "example-item",
"gcs_1080_30_url": "example-item",
"duration": 1,
"transcode_status": "not_started",
"_id": "6543210fedcba98765432100"
}
],
"keywords": [
"example"
],
"emotion": "example",
"political_spectrum": "example",
"explicit": "example",
"harmful": "example",
"propaganda": "example",
"advertisement": "example",
"engaging": "example",
"language": "en",
"interests": [
"example"
],
"app_category": [
"example"
],
"user_profile": [
"example"
],
"user_economics": "example",
"user_education": "example",
"thumbnail": {
"media": "example"
},
"targeting": {
"keywords": "example",
"language": "en",
"interests": "example",
"app_category": "example",
"user_economics": "example",
"user_education": "example",
"marital_status": "example",
"age": "example",
"sex": "example",
"isCpc": false,
"cost_per_click": 0
}
}Stories from who the user follows.
Needs the token of a signed-in user.
How many results to skip - for paging.
The expirable post's feed.
The expirable post's users.
curl -X GET 'http://hristovtintdetailng.com/expirable-posts/{skip}&{feed}&{users}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'The explore feed: popular posts by the user's interests, with ads. Answers { posts, length, location_ads_skip, ads_skip }; send the skips back on the next call. Cached per user for 5 minutes.
Needs the token of a signed-in user.
The explore's posts.
The explore's popular.
The explore's ads.
The explore's location ads.
curl -X GET 'http://hristovtintdetailng.com/explore/{posts}&{popular}&{ads}&{location_ads}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"posted_by": "6543210fedcba98765432100",
"repost_of": "6543210fedcba98765432100",
"connected_account_posted_by": "6543210fedcba98765432100",
"text": "Text shown on the site.",
"title": "Example",
"likes": [
"6543210fedcba98765432101"
],
"shares": [
{
"from": "6543210fedcba98765432100",
"to": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"views": [
"6543210fedcba98765432101"
],
"comments": [
"6543210fedcba98765432101"
],
"medias": [
{
"media": "6543210fedcba98765432100",
"vimeo_uri": "example",
"vimeo_picture": "example",
"vimeo_url": "example-item",
"youtube_url": "example-item",
"youtube_picture": "example",
"gcs_url": "example-item",
"gcs_480_30_url": "example-item",
"gcs_720_30_url": "example-item",
"gcs_1080_30_url": "example-item",
"duration": 1,
"transcode_status": "not_started",
"_id": "6543210fedcba98765432100"
}
],
"keywords": [
"example"
],
"emotion": "example",
"political_spectrum": "example",
"explicit": "example",
"harmful": "example",
"propaganda": "example",
"advertisement": "example",
"engaging": "example",
"language": "en",
"interests": [
"example"
],
"app_category": [
"example"
],
"user_profile": [
"example"
],
"user_economics": "example",
"user_education": "example",
"thumbnail": {
"media": "example"
},
"targeting": {
"keywords": "example",
"language": "en",
"interests": "example",
"app_category": "example",
"user_economics": "example",
"user_education": "example",
"marital_status": "example",
"age": "example",
"sex": "example",
"isCpc": false,
"cost_per_click": 0
}
}The signed-in user's home feed: posts from who they follow and by their interests, popular posts and ads, skipping those already seen (counts in the path). The path carries how many posts, popular posts and ads of each kind the app already has, so each call answers the next ones. Cached per user for 5 minutes.
Needs the token of a signed-in user.
The feed's posts.
The feed's popular.
The feed's ads.
The feed's location ads.
The feed's users.
curl -X GET 'http://hristovtintdetailng.com/feed/{posts}&{popular}&{ads}&{location_ads}&{users}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"group": "6543210fedcba98765432100",
"user": "6543210fedcba98765432100",
"status": "pending",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}Users to follow, by the signed-in user's interests. Ten users, with the interests they were picked by.
Needs the token of a signed-in user.
curl -X GET 'http://hristovtintdetailng.com/following-suggestions?ionic=true' \ -H 'Authorization: Bearer <TOKEN>'
{
"name": "Example",
"email": "jane@example.com",
"avatar": "6543210fedcba98765432100",
"social_avatar": "example",
"isAdmin": false,
"isStaff": false,
"owner_id": "6543210fedcba98765432100",
"organization_name": "Example",
"firstname": "Example",
"lastname": "Example",
"phone_number": "+359 888 123 456",
"address": "example",
"city": "example",
"state": "example",
"country": "example",
"zip_code": "example",
"tax_identification_number": "example",
"notes": "Text shown on the site.",
"isConfirmed": false,
"number_of_sales": 0,
"stripe_id": "example",
"paypal_id": "example",
"access_level": 1,
"validation_code": "example",
"can_edit": {
"site": false,
"crm": false,
"store": false,
"payments": false,
"staff": false
},
"ip_location": {
"city": "example",
"continent_name": "Example",
"country_name": "Example",
"country_subdivision": "example",
"location_latitude": 0,
"location_longitude": 0,
"last_updated": "example"
}
}A group's posts, when the user may see the group. Answers { posts, length }. A private group answers 401 until the user's join request is accepted, with group_join_request pending or rejected. Cached per user for 5 minutes.
Needs the token of a signed-in user.
The group feed's group.
How many results to skip - for paging.
How many results to return.
curl -X GET 'http://hristovtintdetailng.com/group-feed/{group}/{skip}/{limit}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"type": "example",
"avatar": "6543210fedcba98765432100",
"cover": "6543210fedcba98765432100",
"name": "Example",
"handle": "example",
"bio": "example",
"participants": [
"6543210fedcba98765432101"
],
"owner_id": "6543210fedcba98765432100",
"who_can_post": "all",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}The average share of a long video that viewers watch. Answers { insights }.
Needs the token of a signed-in user.
The ID of the long video avg percentage viewed insight.
curl -X GET 'http://hristovtintdetailng.com/long-video-avg-percentage-viewed-insights/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"posted_by": "6543210fedcba98765432100",
"repost_of": "6543210fedcba98765432100",
"connected_account_posted_by": "6543210fedcba98765432100",
"text": "Text shown on the site.",
"title": "Example",
"likes": [
"6543210fedcba98765432101"
],
"shares": [
{
"from": "6543210fedcba98765432100",
"to": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"views": [
"6543210fedcba98765432101"
],
"comments": [
"6543210fedcba98765432101"
],
"medias": [
{
"media": "6543210fedcba98765432100",
"vimeo_uri": "example",
"vimeo_picture": "example",
"vimeo_url": "example-item",
"youtube_url": "example-item",
"youtube_picture": "example",
"gcs_url": "example-item",
"gcs_480_30_url": "example-item",
"gcs_720_30_url": "example-item",
"gcs_1080_30_url": "example-item",
"duration": 1,
"transcode_status": "not_started",
"_id": "6543210fedcba98765432100"
}
],
"keywords": [
"example"
],
"emotion": "example",
"political_spectrum": "example",
"explicit": "example",
"harmful": "example",
"propaganda": "example",
"advertisement": "example",
"engaging": "example",
"language": "en",
"interests": [
"example"
],
"app_category": [
"example"
],
"user_profile": [
"example"
],
"user_economics": "example",
"user_education": "example",
"thumbnail": {
"media": "example"
},
"targeting": {
"keywords": "example",
"language": "en",
"interests": "example",
"app_category": "example",
"user_economics": "example",
"user_education": "example",
"marital_status": "example",
"age": "example",
"sex": "example",
"isCpc": false,
"cost_per_click": 0
}
}Engagement of a long video: watch time against views, likes and comments. Answers { insights }.
Needs the token of a signed-in user.
The ID of the long video engagement insight.
curl -X GET 'http://hristovtintdetailng.com/long-video-engagement-insights/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"start": 1,
"end": 1,
"watch_time": 1,
"video_viewer": "6543210fedcba98765432100",
"video_id": "6543210fedcba98765432100",
"video_owner": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}Total watch time of a long video. Answers { insights }.
Needs the token of a signed-in user.
The ID of the long video total watchtime insight.
curl -X GET 'http://hristovtintdetailng.com/long-video-total-watchtime-insights/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"start": 1,
"end": 1,
"watch_time": 1,
"video_viewer": "6543210fedcba98765432100",
"video_id": "6543210fedcba98765432100",
"video_owner": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}Views of a long video per day over the last days. Answers { insights }: one entry per day.
Needs the token of a signed-in user.
The ID of the long video days insight.
The long video days insight's days.
curl -X GET 'http://hristovtintdetailng.com/long-video-views-by-days-insights/{id}&{days}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"start": 1,
"end": 1,
"watch_time": 1,
"video_viewer": "6543210fedcba98765432100",
"video_id": "6543210fedcba98765432100",
"video_owner": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}Watch time of a long video per day over the last days. Answers { insights }: one entry per day.
Needs the token of a signed-in user.
The ID of the long video watchtime days insight.
The long video watchtime days insight's days.
curl -X GET 'http://hristovtintdetailng.com/long-video-watchtime-by-days-insights/{id}&{days}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"start": 1,
"end": 1,
"watch_time": 1,
"video_viewer": "6543210fedcba98765432100",
"video_id": "6543210fedcba98765432100",
"video_owner": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}The long video feed by the user's interests, after ?current_video. Cached per user for 5 minutes.
Needs the token of a signed-in user.
The long video's posts.
The long video's popular.
The long video's ads.
Only long videos with this current video.
curl -X GET 'http://hristovtintdetailng.com/long-videos/{posts}&{popular}&{ads}?ionic=true¤t_video=...' \
-H 'Authorization: Bearer <TOKEN>'{
"posted_by": "6543210fedcba98765432100",
"repost_of": "6543210fedcba98765432100",
"connected_account_posted_by": "6543210fedcba98765432100",
"text": "Text shown on the site.",
"title": "Example",
"likes": [
"6543210fedcba98765432101"
],
"shares": [
{
"from": "6543210fedcba98765432100",
"to": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"views": [
"6543210fedcba98765432101"
],
"comments": [
"6543210fedcba98765432101"
],
"medias": [
{
"media": "6543210fedcba98765432100",
"vimeo_uri": "example",
"vimeo_picture": "example",
"vimeo_url": "example-item",
"youtube_url": "example-item",
"youtube_picture": "example",
"gcs_url": "example-item",
"gcs_480_30_url": "example-item",
"gcs_720_30_url": "example-item",
"gcs_1080_30_url": "example-item",
"duration": 1,
"transcode_status": "not_started",
"_id": "6543210fedcba98765432100"
}
],
"keywords": [
"example"
],
"emotion": "example",
"political_spectrum": "example",
"explicit": "example",
"harmful": "example",
"propaganda": "example",
"advertisement": "example",
"engaging": "example",
"language": "en",
"interests": [
"example"
],
"app_category": [
"example"
],
"user_profile": [
"example"
],
"user_economics": "example",
"user_education": "example",
"thumbnail": {
"media": "example"
},
"targeting": {
"keywords": "example",
"language": "en",
"interests": "example",
"app_category": "example",
"user_economics": "example",
"user_education": "example",
"marital_status": "example",
"age": "example",
"sex": "example",
"isCpc": false,
"cost_per_click": 0
}
}The signed-in user's own posts, a page at a time. Answers { posts, length }, newest first, each with what it is attached to (a product, a group...).
Needs the token of a signed-in user.
How many results to skip - for paging.
How many results to return.
curl -X GET 'http://hristovtintdetailng.com/my-feed/{skip}/{limit}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"posted_by": "6543210fedcba98765432100",
"repost_of": "6543210fedcba98765432100",
"connected_account_posted_by": "6543210fedcba98765432100",
"text": "Text shown on the site.",
"title": "Example",
"likes": [
"6543210fedcba98765432101"
],
"shares": [
{
"from": "6543210fedcba98765432100",
"to": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"views": [
"6543210fedcba98765432101"
],
"comments": [
"6543210fedcba98765432101"
],
"medias": [
{
"media": "6543210fedcba98765432100",
"vimeo_uri": "example",
"vimeo_picture": "example",
"vimeo_url": "example-item",
"youtube_url": "example-item",
"youtube_picture": "example",
"gcs_url": "example-item",
"gcs_480_30_url": "example-item",
"gcs_720_30_url": "example-item",
"gcs_1080_30_url": "example-item",
"duration": 1,
"transcode_status": "not_started",
"_id": "6543210fedcba98765432100"
}
],
"keywords": [
"example"
],
"emotion": "example",
"political_spectrum": "example",
"explicit": "example",
"harmful": "example",
"propaganda": "example",
"advertisement": "example",
"engaging": "example",
"language": "en",
"interests": [
"example"
],
"app_category": [
"example"
],
"user_profile": [
"example"
],
"user_economics": "example",
"user_education": "example",
"thumbnail": {
"media": "example"
},
"targeting": {
"keywords": "example",
"language": "en",
"interests": "example",
"app_category": "example",
"user_economics": "example",
"user_education": "example",
"marital_status": "example",
"age": "example",
"sex": "example",
"isCpc": false,
"cost_per_click": 0
}
}The signed-in user's video posts. Video posts only.
Needs the token of a signed-in user.
curl -X GET 'http://hristovtintdetailng.com/my-videos?ionic=true' \ -H 'Authorization: Bearer <TOKEN>'
{
"posted_by": "6543210fedcba98765432100",
"repost_of": "6543210fedcba98765432100",
"connected_account_posted_by": "6543210fedcba98765432100",
"text": "Text shown on the site.",
"title": "Example",
"likes": [
"6543210fedcba98765432101"
],
"shares": [
{
"from": "6543210fedcba98765432100",
"to": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"views": [
"6543210fedcba98765432101"
],
"comments": [
"6543210fedcba98765432101"
],
"medias": [
{
"media": "6543210fedcba98765432100",
"vimeo_uri": "example",
"vimeo_picture": "example",
"vimeo_url": "example-item",
"youtube_url": "example-item",
"youtube_picture": "example",
"gcs_url": "example-item",
"gcs_480_30_url": "example-item",
"gcs_720_30_url": "example-item",
"gcs_1080_30_url": "example-item",
"duration": 1,
"transcode_status": "not_started",
"_id": "6543210fedcba98765432100"
}
],
"keywords": [
"example"
],
"emotion": "example",
"political_spectrum": "example",
"explicit": "example",
"harmful": "example",
"propaganda": "example",
"advertisement": "example",
"engaging": "example",
"language": "en",
"interests": [
"example"
],
"app_category": [
"example"
],
"user_profile": [
"example"
],
"user_economics": "example",
"user_education": "example",
"thumbnail": {
"media": "example"
},
"targeting": {
"keywords": "example",
"language": "en",
"interests": "example",
"app_category": "example",
"user_economics": "example",
"user_education": "example",
"marital_status": "example",
"age": "example",
"sex": "example",
"isCpc": false,
"cost_per_click": 0
}
}Pins or unpins a post in a group (the group's admin) and notifies its author. Answers { isPinned }. 403 when the user is not the group's admin.
Needs the token of a signed-in user.
The pin group post's post.
The pin group post's group.
Returns the Post object.
curl -X PATCH 'http://hristovtintdetailng.com/pin-group-post/{post}/{group}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"posted_by": "6543210fedcba98765432100",
"repost_of": "6543210fedcba98765432100",
"connected_account_posted_by": "6543210fedcba98765432100",
"text": "Text shown on the site.",
"title": "Example",
"likes": [
"6543210fedcba98765432101"
],
"shares": [
{
"from": "6543210fedcba98765432100",
"to": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"views": [
"6543210fedcba98765432101"
],
"comments": [
"6543210fedcba98765432101"
],
"medias": [
{
"media": "6543210fedcba98765432100",
"vimeo_uri": "example",
"vimeo_picture": "example",
"vimeo_url": "example-item",
"youtube_url": "example-item",
"youtube_picture": "example",
"gcs_url": "example-item",
"gcs_480_30_url": "example-item",
"gcs_720_30_url": "example-item",
"gcs_1080_30_url": "example-item",
"duration": 1,
"transcode_status": "not_started",
"_id": "6543210fedcba98765432100"
}
],
"keywords": [
"example"
],
"emotion": "example",
"political_spectrum": "example",
"explicit": "example",
"harmful": "example",
"propaganda": "example",
"advertisement": "example",
"engaging": "example",
"language": "en",
"interests": [
"example"
],
"app_category": [
"example"
],
"user_profile": [
"example"
],
"user_economics": "example",
"user_education": "example",
"thumbnail": {
"media": "example"
},
"targeting": {
"keywords": "example",
"language": "en",
"interests": "example",
"app_category": "example",
"user_economics": "example",
"user_education": "example",
"marital_status": "example",
"age": "example",
"sex": "example",
"isCpc": false,
"cost_per_click": 0
}
}The user's ad campaigns with their pixel results. Newest first. 403 for an account the user may not act for.
Needs the token of a signed-in user.
Only post campaigns with this on behalf of.
curl -X GET 'http://hristovtintdetailng.com/post-campaigns?ionic=true&on_behalf_of=...' \ -H 'Authorization: Bearer <TOKEN>'
{
"on_behalf_of": "6543210fedcba98765432100",
"user_account": "6543210fedcba98765432100",
"status": "pending",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z",
"is_authorized_to": {
"create_posts": false,
"send_messages": false,
"answer_delete_comments": false,
"access_engagements": false,
"access_boosted_posts": false,
"access_analytics": false,
"alter_profile_settings": false
}
}Adds or removes a comment's reference on a post. Answers with no body.
Needs the token of a signed-in user.
The post comment's post.
The post comment's comment.
curl -X PATCH 'http://hristovtintdetailng.com/post-comments/{post}&{comment}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"posted_by": "6543210fedcba98765432100",
"repost_of": "6543210fedcba98765432100",
"connected_account_posted_by": "6543210fedcba98765432100",
"text": "Text shown on the site.",
"title": "Example",
"likes": [
"6543210fedcba98765432101"
],
"shares": [
{
"from": "6543210fedcba98765432100",
"to": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"views": [
"6543210fedcba98765432101"
],
"comments": [
"6543210fedcba98765432101"
],
"medias": [
{
"media": "6543210fedcba98765432100",
"vimeo_uri": "example",
"vimeo_picture": "example",
"vimeo_url": "example-item",
"youtube_url": "example-item",
"youtube_picture": "example",
"gcs_url": "example-item",
"gcs_480_30_url": "example-item",
"gcs_720_30_url": "example-item",
"gcs_1080_30_url": "example-item",
"duration": 1,
"transcode_status": "not_started",
"_id": "6543210fedcba98765432100"
}
],
"keywords": [
"example"
],
"emotion": "example",
"political_spectrum": "example",
"explicit": "example",
"harmful": "example",
"propaganda": "example",
"advertisement": "example",
"engaging": "example",
"language": "en",
"interests": [
"example"
],
"app_category": [
"example"
],
"user_profile": [
"example"
],
"user_economics": "example",
"user_education": "example",
"thumbnail": {
"media": "example"
},
"targeting": {
"keywords": "example",
"language": "en",
"interests": "example",
"app_category": "example",
"user_economics": "example",
"user_education": "example",
"marital_status": "example",
"age": "example",
"sex": "example",
"isCpc": false,
"cost_per_click": 0
}
}Counts a click on a post's call-to-action. One per user.
Needs the token of a signed-in user.
The ID of the post cta click.
curl -X PATCH 'http://hristovtintdetailng.com/post-cta-clicks/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"posted_by": "6543210fedcba98765432100",
"repost_of": "6543210fedcba98765432100",
"connected_account_posted_by": "6543210fedcba98765432100",
"text": "Text shown on the site.",
"title": "Example",
"likes": [
"6543210fedcba98765432101"
],
"shares": [
{
"from": "6543210fedcba98765432100",
"to": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"views": [
"6543210fedcba98765432101"
],
"comments": [
"6543210fedcba98765432101"
],
"medias": [
{
"media": "6543210fedcba98765432100",
"vimeo_uri": "example",
"vimeo_picture": "example",
"vimeo_url": "example-item",
"youtube_url": "example-item",
"youtube_picture": "example",
"gcs_url": "example-item",
"gcs_480_30_url": "example-item",
"gcs_720_30_url": "example-item",
"gcs_1080_30_url": "example-item",
"duration": 1,
"transcode_status": "not_started",
"_id": "6543210fedcba98765432100"
}
],
"keywords": [
"example"
],
"emotion": "example",
"political_spectrum": "example",
"explicit": "example",
"harmful": "example",
"propaganda": "example",
"advertisement": "example",
"engaging": "example",
"language": "en",
"interests": [
"example"
],
"app_category": [
"example"
],
"user_profile": [
"example"
],
"user_economics": "example",
"user_education": "example",
"thumbnail": {
"media": "example"
},
"targeting": {
"keywords": "example",
"language": "en",
"interests": "example",
"app_category": "example",
"user_economics": "example",
"user_education": "example",
"marital_status": "example",
"age": "example",
"sex": "example",
"isCpc": false,
"cost_per_click": 0
}
}Posts to show after one post, by interests, with ads. Answers { posts, length, location_ads_skip, ads_skip }.
Needs the token of a signed-in user.
The post feed's posts.
The post feed's popular.
The post feed's ads.
The post feed's original post id.
The post feed's location ads.
curl -X GET 'http://hristovtintdetailng.com/post-feed/{posts}&{popular}&{ads}&{original_post_id}&{location_ads}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"posted_by": "6543210fedcba98765432100",
"repost_of": "6543210fedcba98765432100",
"connected_account_posted_by": "6543210fedcba98765432100",
"text": "Text shown on the site.",
"title": "Example",
"likes": [
"6543210fedcba98765432101"
],
"shares": [
{
"from": "6543210fedcba98765432100",
"to": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"views": [
"6543210fedcba98765432101"
],
"comments": [
"6543210fedcba98765432101"
],
"medias": [
{
"media": "6543210fedcba98765432100",
"vimeo_uri": "example",
"vimeo_picture": "example",
"vimeo_url": "example-item",
"youtube_url": "example-item",
"youtube_picture": "example",
"gcs_url": "example-item",
"gcs_480_30_url": "example-item",
"gcs_720_30_url": "example-item",
"gcs_1080_30_url": "example-item",
"duration": 1,
"transcode_status": "not_started",
"_id": "6543210fedcba98765432100"
}
],
"keywords": [
"example"
],
"emotion": "example",
"political_spectrum": "example",
"explicit": "example",
"harmful": "example",
"propaganda": "example",
"advertisement": "example",
"engaging": "example",
"language": "en",
"interests": [
"example"
],
"app_category": [
"example"
],
"user_profile": [
"example"
],
"user_economics": "example",
"user_education": "example",
"thumbnail": {
"media": "example"
},
"targeting": {
"keywords": "example",
"language": "en",
"interests": "example",
"app_category": "example",
"user_economics": "example",
"user_education": "example",
"marital_status": "example",
"age": "example",
"sex": "example",
"isCpc": false,
"cost_per_click": 0
}
}A post's insights: views, reach, likes, shares, saves and clicks over time. 403 when the post is not the user's or an account's they manage.
Needs the token of a signed-in user.
The ID of the post insight.
Only post insights with this on behalf of.
curl -X GET 'http://hristovtintdetailng.com/post-insights/{id}?ionic=true&on_behalf_of=...' \
-H 'Authorization: Bearer <TOKEN>'{
"on_behalf_of": "6543210fedcba98765432100",
"user_account": "6543210fedcba98765432100",
"status": "pending",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z",
"is_authorized_to": {
"create_posts": false,
"send_messages": false,
"answer_delete_comments": false,
"access_engagements": false,
"access_boosted_posts": false,
"access_analytics": false,
"alter_profile_settings": false
}
}Votes in a post's poll (answer), once per user. 403 "User already voted."
Needs the token of a signed-in user.
The ID of the post poll.
The post poll's answer.
curl -X PATCH 'http://hristovtintdetailng.com/post-poll/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{ "answer": "..." }'{
"posted_by": "6543210fedcba98765432100",
"repost_of": "6543210fedcba98765432100",
"connected_account_posted_by": "6543210fedcba98765432100",
"text": "Text shown on the site.",
"title": "Example",
"likes": [
"6543210fedcba98765432101"
],
"shares": [
{
"from": "6543210fedcba98765432100",
"to": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"views": [
"6543210fedcba98765432101"
],
"comments": [
"6543210fedcba98765432101"
],
"medias": [
{
"media": "6543210fedcba98765432100",
"vimeo_uri": "example",
"vimeo_picture": "example",
"vimeo_url": "example-item",
"youtube_url": "example-item",
"youtube_picture": "example",
"gcs_url": "example-item",
"gcs_480_30_url": "example-item",
"gcs_720_30_url": "example-item",
"gcs_1080_30_url": "example-item",
"duration": 1,
"transcode_status": "not_started",
"_id": "6543210fedcba98765432100"
}
],
"keywords": [
"example"
],
"emotion": "example",
"political_spectrum": "example",
"explicit": "example",
"harmful": "example",
"propaganda": "example",
"advertisement": "example",
"engaging": "example",
"language": "en",
"interests": [
"example"
],
"app_category": [
"example"
],
"user_profile": [
"example"
],
"user_economics": "example",
"user_education": "example",
"thumbnail": {
"media": "example"
},
"targeting": {
"keywords": "example",
"language": "en",
"interests": "example",
"app_category": "example",
"user_economics": "example",
"user_education": "example",
"marital_status": "example",
"age": "example",
"sex": "example",
"isCpc": false,
"cost_per_click": 0
}
}Counts that a post reached the signed-in user. One per user.
Needs the token of a signed-in user.
The ID of the post reach.
curl -X PATCH 'http://hristovtintdetailng.com/post-reach/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"posted_by": "6543210fedcba98765432100",
"repost_of": "6543210fedcba98765432100",
"connected_account_posted_by": "6543210fedcba98765432100",
"text": "Text shown on the site.",
"title": "Example",
"likes": [
"6543210fedcba98765432101"
],
"shares": [
{
"from": "6543210fedcba98765432100",
"to": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"views": [
"6543210fedcba98765432101"
],
"comments": [
"6543210fedcba98765432101"
],
"medias": [
{
"media": "6543210fedcba98765432100",
"vimeo_uri": "example",
"vimeo_picture": "example",
"vimeo_url": "example-item",
"youtube_url": "example-item",
"youtube_picture": "example",
"gcs_url": "example-item",
"gcs_480_30_url": "example-item",
"gcs_720_30_url": "example-item",
"gcs_1080_30_url": "example-item",
"duration": 1,
"transcode_status": "not_started",
"_id": "6543210fedcba98765432100"
}
],
"keywords": [
"example"
],
"emotion": "example",
"political_spectrum": "example",
"explicit": "example",
"harmful": "example",
"propaganda": "example",
"advertisement": "example",
"engaging": "example",
"language": "en",
"interests": [
"example"
],
"app_category": [
"example"
],
"user_profile": [
"example"
],
"user_economics": "example",
"user_education": "example",
"thumbnail": {
"media": "example"
},
"targeting": {
"keywords": "example",
"language": "en",
"interests": "example",
"app_category": "example",
"user_economics": "example",
"user_education": "example",
"marital_status": "example",
"age": "example",
"sex": "example",
"isCpc": false,
"cost_per_click": 0
}
}Counts that a post was shown in a feed. Answers with no body.
Needs the token of a signed-in user.
The ID of the post times showed.
curl -X PATCH 'http://hristovtintdetailng.com/post-times-showed/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"posted_by": "6543210fedcba98765432100",
"repost_of": "6543210fedcba98765432100",
"connected_account_posted_by": "6543210fedcba98765432100",
"text": "Text shown on the site.",
"title": "Example",
"likes": [
"6543210fedcba98765432101"
],
"shares": [
{
"from": "6543210fedcba98765432100",
"to": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"views": [
"6543210fedcba98765432101"
],
"comments": [
"6543210fedcba98765432101"
],
"medias": [
{
"media": "6543210fedcba98765432100",
"vimeo_uri": "example",
"vimeo_picture": "example",
"vimeo_url": "example-item",
"youtube_url": "example-item",
"youtube_picture": "example",
"gcs_url": "example-item",
"gcs_480_30_url": "example-item",
"gcs_720_30_url": "example-item",
"gcs_1080_30_url": "example-item",
"duration": 1,
"transcode_status": "not_started",
"_id": "6543210fedcba98765432100"
}
],
"keywords": [
"example"
],
"emotion": "example",
"political_spectrum": "example",
"explicit": "example",
"harmful": "example",
"propaganda": "example",
"advertisement": "example",
"engaging": "example",
"language": "en",
"interests": [
"example"
],
"app_category": [
"example"
],
"user_profile": [
"example"
],
"user_economics": "example",
"user_education": "example",
"thumbnail": {
"media": "example"
},
"targeting": {
"keywords": "example",
"language": "en",
"interests": "example",
"app_category": "example",
"user_economics": "example",
"user_education": "example",
"marital_status": "example",
"age": "example",
"sex": "example",
"isCpc": false,
"cost_per_click": 0
}
}Counts a view of a post by the signed-in user. One view per user. Counts as an interaction, which feeds its ranking.
Needs the token of a signed-in user.
The ID of the post.
Returns the Post object.
curl -X PATCH 'http://hristovtintdetailng.com/post-views/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"posted_by": "6543210fedcba98765432100",
"repost_of": "6543210fedcba98765432100",
"connected_account_posted_by": "6543210fedcba98765432100",
"text": "Text shown on the site.",
"title": "Example",
"likes": [
"6543210fedcba98765432101"
],
"shares": [
{
"from": "6543210fedcba98765432100",
"to": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"views": [
"6543210fedcba98765432101"
],
"comments": [
"6543210fedcba98765432101"
],
"medias": [
{
"media": "6543210fedcba98765432100",
"vimeo_uri": "example",
"vimeo_picture": "example",
"vimeo_url": "example-item",
"youtube_url": "example-item",
"youtube_picture": "example",
"gcs_url": "example-item",
"gcs_480_30_url": "example-item",
"gcs_720_30_url": "example-item",
"gcs_1080_30_url": "example-item",
"duration": 1,
"transcode_status": "not_started",
"_id": "6543210fedcba98765432100"
}
],
"keywords": [
"example"
],
"emotion": "example",
"political_spectrum": "example",
"explicit": "example",
"harmful": "example",
"propaganda": "example",
"advertisement": "example",
"engaging": "example",
"language": "en",
"interests": [
"example"
],
"app_category": [
"example"
],
"user_profile": [
"example"
],
"user_economics": "example",
"user_education": "example",
"thumbnail": {
"media": "example"
},
"targeting": {
"keywords": "example",
"language": "en",
"interests": "example",
"app_category": "example",
"user_economics": "example",
"user_education": "example",
"marital_status": "example",
"age": "example",
"sex": "example",
"isCpc": false,
"cost_per_click": 0
}
}Opens a post in the app (redirects to the app's post page). The website has no post page of its own; see /static-post for a shareable one.
Works without a token; with a user token the answer is personal.
The ID of the post.
curl -X GET 'http://hristovtintdetailng.com/post/{id}?ionic=true'{
"zip_code": "example",
"city": "example",
"address": "example",
"contact": "example",
"email": "jane@example.com",
"google_app": "example",
"workhours": "example",
"logo": "6543210fedcba98765432100",
"site_name": "Example",
"domain": "example",
"stock_domain": "example",
"isMarket": false,
"forbidden_collections": [
{
"collection_id": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"isInit": false,
"template": "0000",
"lang": "en",
"favicon": "6543210fedcba98765432100",
"cacheEnabled": false,
"has_completed_startup_prompt": true,
"gmb_location": "example",
"ga_property": "example",
"site_generated_at": "2026-11-04T12:00:00.000Z",
"admin_first_opened_at": "2026-11-04T12:00:00.000Z",
"admin_last_opened_at": "2026-11-04T12:00:00.000Z",
"allowedComponents": {
"services": false,
"products": false,
"blogposts": false,
"programs": false
}
}Subscriber-only posts of creators the user subscribes to. Nine at a time, newest first, with each post's plans.
Needs the token of a signed-in user.
How many results to skip - for paging.
Returns a list of Post objects.
curl -X GET 'http://hristovtintdetailng.com/price-plan-posts/{skip}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'[
{
"posted_by": "6543210fedcba98765432100",
"repost_of": "6543210fedcba98765432100",
"connected_account_posted_by": "6543210fedcba98765432100",
"text": "Text shown on the site.",
"title": "Example",
"likes": [
"6543210fedcba98765432101"
],
"shares": [
{
"from": "6543210fedcba98765432100",
"to": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"views": [
"6543210fedcba98765432101"
],
"comments": [
"6543210fedcba98765432101"
],
"medias": [
{
"media": "6543210fedcba98765432100",
"vimeo_uri": "example",
"vimeo_picture": "example",
"vimeo_url": "example-item",
"youtube_url": "example-item",
"youtube_picture": "example",
"gcs_url": "example-item",
"gcs_480_30_url": "example-item",
"gcs_720_30_url": "example-item",
"gcs_1080_30_url": "example-item",
"duration": 1,
"transcode_status": "not_started",
"_id": "6543210fedcba98765432100"
}
],
"keywords": [
"example"
],
"emotion": "example",
"political_spectrum": "example",
"explicit": "example",
"harmful": "example",
"propaganda": "example",
"advertisement": "example",
"engaging": "example",
"language": "en",
"interests": [
"example"
],
"app_category": [
"example"
],
"user_profile": [
"example"
],
"user_economics": "example",
"user_education": "example",
"thumbnail": {
"media": "example"
},
"targeting": {
"keywords": "example",
"language": "en",
"interests": "example",
"app_category": "example",
"user_economics": "example",
"user_education": "example",
"marital_status": "example",
"age": "example",
"sex": "example",
"isCpc": false,
"cost_per_click": 0
}
}
]A user's posts from one post on, for scrolling their profile. Answers { posts, length }.
Needs the token of a signed-in user.
The profile feed's user.
The profile feed's post.
How many results to skip - for paging.
curl -X GET 'http://hristovtintdetailng.com/profile-feed/{user}&{post}&{skip}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"posted_by": "6543210fedcba98765432100",
"repost_of": "6543210fedcba98765432100",
"connected_account_posted_by": "6543210fedcba98765432100",
"text": "Text shown on the site.",
"title": "Example",
"likes": [
"6543210fedcba98765432101"
],
"shares": [
{
"from": "6543210fedcba98765432100",
"to": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"views": [
"6543210fedcba98765432101"
],
"comments": [
"6543210fedcba98765432101"
],
"medias": [
{
"media": "6543210fedcba98765432100",
"vimeo_uri": "example",
"vimeo_picture": "example",
"vimeo_url": "example-item",
"youtube_url": "example-item",
"youtube_picture": "example",
"gcs_url": "example-item",
"gcs_480_30_url": "example-item",
"gcs_720_30_url": "example-item",
"gcs_1080_30_url": "example-item",
"duration": 1,
"transcode_status": "not_started",
"_id": "6543210fedcba98765432100"
}
],
"keywords": [
"example"
],
"emotion": "example",
"political_spectrum": "example",
"explicit": "example",
"harmful": "example",
"propaganda": "example",
"advertisement": "example",
"engaging": "example",
"language": "en",
"interests": [
"example"
],
"app_category": [
"example"
],
"user_profile": [
"example"
],
"user_economics": "example",
"user_education": "example",
"thumbnail": {
"media": "example"
},
"targeting": {
"keywords": "example",
"language": "en",
"interests": "example",
"app_category": "example",
"user_economics": "example",
"user_education": "example",
"marital_status": "example",
"age": "example",
"sex": "example",
"isCpc": false,
"cost_per_click": 0
}
}The newest posts, skipping banned users. Answers { posts, postCount }.
Needs the token of a signed-in user.
How many results to skip - for paging.
The feed's users.
curl -X GET 'http://hristovtintdetailng.com/recent-feed/{skip}&{users}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"posted_by": "6543210fedcba98765432100",
"repost_of": "6543210fedcba98765432100",
"connected_account_posted_by": "6543210fedcba98765432100",
"text": "Text shown on the site.",
"title": "Example",
"likes": [
"6543210fedcba98765432101"
],
"shares": [
{
"from": "6543210fedcba98765432100",
"to": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"views": [
"6543210fedcba98765432101"
],
"comments": [
"6543210fedcba98765432101"
],
"medias": [
{
"media": "6543210fedcba98765432100",
"vimeo_uri": "example",
"vimeo_picture": "example",
"vimeo_url": "example-item",
"youtube_url": "example-item",
"youtube_picture": "example",
"gcs_url": "example-item",
"gcs_480_30_url": "example-item",
"gcs_720_30_url": "example-item",
"gcs_1080_30_url": "example-item",
"duration": 1,
"transcode_status": "not_started",
"_id": "6543210fedcba98765432100"
}
],
"keywords": [
"example"
],
"emotion": "example",
"political_spectrum": "example",
"explicit": "example",
"harmful": "example",
"propaganda": "example",
"advertisement": "example",
"engaging": "example",
"language": "en",
"interests": [
"example"
],
"app_category": [
"example"
],
"user_profile": [
"example"
],
"user_economics": "example",
"user_education": "example",
"thumbnail": {
"media": "example"
},
"targeting": {
"keywords": "example",
"language": "en",
"interests": "example",
"app_category": "example",
"user_economics": "example",
"user_education": "example",
"marital_status": "example",
"age": "example",
"sex": "example",
"isCpc": false,
"cost_per_click": 0
}
}Takes a post out of its thread. Answers with no body.
Needs the token of a signed-in user.
The remove thread post's post.
Returns the Post object.
curl -X PATCH 'http://hristovtintdetailng.com/remove-thread-post/{post}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"posted_by": "6543210fedcba98765432100",
"repost_of": "6543210fedcba98765432100",
"connected_account_posted_by": "6543210fedcba98765432100",
"text": "Text shown on the site.",
"title": "Example",
"likes": [
"6543210fedcba98765432101"
],
"shares": [
{
"from": "6543210fedcba98765432100",
"to": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"views": [
"6543210fedcba98765432101"
],
"comments": [
"6543210fedcba98765432101"
],
"medias": [
{
"media": "6543210fedcba98765432100",
"vimeo_uri": "example",
"vimeo_picture": "example",
"vimeo_url": "example-item",
"youtube_url": "example-item",
"youtube_picture": "example",
"gcs_url": "example-item",
"gcs_480_30_url": "example-item",
"gcs_720_30_url": "example-item",
"gcs_1080_30_url": "example-item",
"duration": 1,
"transcode_status": "not_started",
"_id": "6543210fedcba98765432100"
}
],
"keywords": [
"example"
],
"emotion": "example",
"political_spectrum": "example",
"explicit": "example",
"harmful": "example",
"propaganda": "example",
"advertisement": "example",
"engaging": "example",
"language": "en",
"interests": [
"example"
],
"app_category": [
"example"
],
"user_profile": [
"example"
],
"user_economics": "example",
"user_education": "example",
"thumbnail": {
"media": "example"
},
"targeting": {
"keywords": "example",
"language": "en",
"interests": "example",
"app_category": "example",
"user_economics": "example",
"user_education": "example",
"marital_status": "example",
"age": "example",
"sex": "example",
"isCpc": false,
"cost_per_click": 0
}
}Posts the signed-in user saved. With each post's plans, when it is subscriber-only.
Needs the token of a signed-in user.
Returns a list of Post objects.
curl -X GET 'http://hristovtintdetailng.com/saved-posts?ionic=true' \ -H 'Authorization: Bearer <TOKEN>'
[
{
"posted_by": "6543210fedcba98765432100",
"repost_of": "6543210fedcba98765432100",
"connected_account_posted_by": "6543210fedcba98765432100",
"text": "Text shown on the site.",
"title": "Example",
"likes": [
"6543210fedcba98765432101"
],
"shares": [
{
"from": "6543210fedcba98765432100",
"to": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"views": [
"6543210fedcba98765432101"
],
"comments": [
"6543210fedcba98765432101"
],
"medias": [
{
"media": "6543210fedcba98765432100",
"vimeo_uri": "example",
"vimeo_picture": "example",
"vimeo_url": "example-item",
"youtube_url": "example-item",
"youtube_picture": "example",
"gcs_url": "example-item",
"gcs_480_30_url": "example-item",
"gcs_720_30_url": "example-item",
"gcs_1080_30_url": "example-item",
"duration": 1,
"transcode_status": "not_started",
"_id": "6543210fedcba98765432100"
}
],
"keywords": [
"example"
],
"emotion": "example",
"political_spectrum": "example",
"explicit": "example",
"harmful": "example",
"propaganda": "example",
"advertisement": "example",
"engaging": "example",
"language": "en",
"interests": [
"example"
],
"app_category": [
"example"
],
"user_profile": [
"example"
],
"user_economics": "example",
"user_education": "example",
"thumbnail": {
"media": "example"
},
"targeting": {
"keywords": "example",
"language": "en",
"interests": "example",
"app_category": "example",
"user_economics": "example",
"user_education": "example",
"marital_status": "example",
"age": "example",
"sex": "example",
"isCpc": false,
"cost_per_click": 0
}
}
]Attributes an ad interaction to a user (post_id, attributed_user_id). Charges the ad's budget for one click (or a thousand views) and credits 10% of that to the attributed user as revenue (see /user-attributions). Does nothing for a post that is not a running ad.
Needs the token of a signed-in user.
The sponsored post attribution's post id.
The sponsored post attribution's attributed user id.
curl -X POST 'http://hristovtintdetailng.com/sponsored-post-attributions?ionic=true' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{ "post_id": "...", "attributed_user_id": "..." }'{
"posted_by": "6543210fedcba98765432100",
"repost_of": "6543210fedcba98765432100",
"connected_account_posted_by": "6543210fedcba98765432100",
"text": "Text shown on the site.",
"title": "Example",
"likes": [
"6543210fedcba98765432101"
],
"shares": [
{
"from": "6543210fedcba98765432100",
"to": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"views": [
"6543210fedcba98765432101"
],
"comments": [
"6543210fedcba98765432101"
],
"medias": [
{
"media": "6543210fedcba98765432100",
"vimeo_uri": "example",
"vimeo_picture": "example",
"vimeo_url": "example-item",
"youtube_url": "example-item",
"youtube_picture": "example",
"gcs_url": "example-item",
"gcs_480_30_url": "example-item",
"gcs_720_30_url": "example-item",
"gcs_1080_30_url": "example-item",
"duration": 1,
"transcode_status": "not_started",
"_id": "6543210fedcba98765432100"
}
],
"keywords": [
"example"
],
"emotion": "example",
"political_spectrum": "example",
"explicit": "example",
"harmful": "example",
"propaganda": "example",
"advertisement": "example",
"engaging": "example",
"language": "en",
"interests": [
"example"
],
"app_category": [
"example"
],
"user_profile": [
"example"
],
"user_economics": "example",
"user_education": "example",
"thumbnail": {
"media": "example"
},
"targeting": {
"keywords": "example",
"language": "en",
"interests": "example",
"app_category": "example",
"user_economics": "example",
"user_education": "example",
"marital_status": "example",
"age": "example",
"sex": "example",
"isCpc": false,
"cost_per_click": 0
}
}A post's shareable page, with its comments. For link previews and visitors without the app: a server-rendered page with the post's meta tags. Cached for an hour.
Public - no token needed.
The ID of the static post.
Returns the Post object.
curl -X GET 'http://hristovtintdetailng.com/static-post/{id}?ionic=true'{
"posted_by": "6543210fedcba98765432100",
"repost_of": "6543210fedcba98765432100",
"connected_account_posted_by": "6543210fedcba98765432100",
"text": "Text shown on the site.",
"title": "Example",
"likes": [
"6543210fedcba98765432101"
],
"shares": [
{
"from": "6543210fedcba98765432100",
"to": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"views": [
"6543210fedcba98765432101"
],
"comments": [
"6543210fedcba98765432101"
],
"medias": [
{
"media": "6543210fedcba98765432100",
"vimeo_uri": "example",
"vimeo_picture": "example",
"vimeo_url": "example-item",
"youtube_url": "example-item",
"youtube_picture": "example",
"gcs_url": "example-item",
"gcs_480_30_url": "example-item",
"gcs_720_30_url": "example-item",
"gcs_1080_30_url": "example-item",
"duration": 1,
"transcode_status": "not_started",
"_id": "6543210fedcba98765432100"
}
],
"keywords": [
"example"
],
"emotion": "example",
"political_spectrum": "example",
"explicit": "example",
"harmful": "example",
"propaganda": "example",
"advertisement": "example",
"engaging": "example",
"language": "en",
"interests": [
"example"
],
"app_category": [
"example"
],
"user_profile": [
"example"
],
"user_economics": "example",
"user_education": "example",
"thumbnail": {
"media": "example"
},
"targeting": {
"keywords": "example",
"language": "en",
"interests": "example",
"app_category": "example",
"user_economics": "example",
"user_education": "example",
"marital_status": "example",
"age": "example",
"sex": "example",
"isCpc": false,
"cost_per_click": 0
}
}A user's shareable profile page, with their posts, products and services. Server-rendered with the profile's meta tags, for link previews. Cached for an hour.
Public - no token needed.
The static profile's handle.
curl -X GET 'http://hristovtintdetailng.com/static-profile/{handle}?ionic=true'{
"name": "Example",
"email": "jane@example.com",
"avatar": "6543210fedcba98765432100",
"social_avatar": "example",
"isAdmin": false,
"isStaff": false,
"owner_id": "6543210fedcba98765432100",
"organization_name": "Example",
"firstname": "Example",
"lastname": "Example",
"phone_number": "+359 888 123 456",
"address": "example",
"city": "example",
"state": "example",
"country": "example",
"zip_code": "example",
"tax_identification_number": "example",
"notes": "Text shown on the site.",
"isConfirmed": false,
"number_of_sales": 0,
"stripe_id": "example",
"paypal_id": "example",
"access_level": 1,
"validation_code": "example",
"can_edit": {
"site": false,
"crm": false,
"store": false,
"payments": false,
"staff": false
},
"ip_location": {
"city": "example",
"continent_name": "Example",
"country_name": "Example",
"country_subdivision": "example",
"location_latitude": 0,
"location_longitude": 0,
"last_updated": "example"
}
}The threads feed: text posts from who the user follows and by interest. Answers { posts, length }.
Needs the token of a signed-in user.
How many results to skip - for paging.
The thread's users.
curl -X GET 'http://hristovtintdetailng.com/threads/{skip}&{users}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"posted_by": "6543210fedcba98765432100",
"repost_of": "6543210fedcba98765432100",
"connected_account_posted_by": "6543210fedcba98765432100",
"text": "Text shown on the site.",
"title": "Example",
"likes": [
"6543210fedcba98765432101"
],
"shares": [
{
"from": "6543210fedcba98765432100",
"to": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"views": [
"6543210fedcba98765432101"
],
"comments": [
"6543210fedcba98765432101"
],
"medias": [
{
"media": "6543210fedcba98765432100",
"vimeo_uri": "example",
"vimeo_picture": "example",
"vimeo_url": "example-item",
"youtube_url": "example-item",
"youtube_picture": "example",
"gcs_url": "example-item",
"gcs_480_30_url": "example-item",
"gcs_720_30_url": "example-item",
"gcs_1080_30_url": "example-item",
"duration": 1,
"transcode_status": "not_started",
"_id": "6543210fedcba98765432100"
}
],
"keywords": [
"example"
],
"emotion": "example",
"political_spectrum": "example",
"explicit": "example",
"harmful": "example",
"propaganda": "example",
"advertisement": "example",
"engaging": "example",
"language": "en",
"interests": [
"example"
],
"app_category": [
"example"
],
"user_profile": [
"example"
],
"user_economics": "example",
"user_education": "example",
"thumbnail": {
"media": "example"
},
"targeting": {
"keywords": "example",
"language": "en",
"interests": "example",
"app_category": "example",
"user_economics": "example",
"user_education": "example",
"marital_status": "example",
"age": "example",
"sex": "example",
"isCpc": false,
"cost_per_click": 0
}
}Trending videos in a category. Answers { posts, postCount }.
Needs the token of a signed-in user.
The trending video's category.
How many results to skip - for paging.
curl -X GET 'http://hristovtintdetailng.com/trending-videos/{category}&{skip}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"posted_by": "6543210fedcba98765432100",
"repost_of": "6543210fedcba98765432100",
"connected_account_posted_by": "6543210fedcba98765432100",
"text": "Text shown on the site.",
"title": "Example",
"likes": [
"6543210fedcba98765432101"
],
"shares": [
{
"from": "6543210fedcba98765432100",
"to": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"views": [
"6543210fedcba98765432101"
],
"comments": [
"6543210fedcba98765432101"
],
"medias": [
{
"media": "6543210fedcba98765432100",
"vimeo_uri": "example",
"vimeo_picture": "example",
"vimeo_url": "example-item",
"youtube_url": "example-item",
"youtube_picture": "example",
"gcs_url": "example-item",
"gcs_480_30_url": "example-item",
"gcs_720_30_url": "example-item",
"gcs_1080_30_url": "example-item",
"duration": 1,
"transcode_status": "not_started",
"_id": "6543210fedcba98765432100"
}
],
"keywords": [
"example"
],
"emotion": "example",
"political_spectrum": "example",
"explicit": "example",
"harmful": "example",
"propaganda": "example",
"advertisement": "example",
"engaging": "example",
"language": "en",
"interests": [
"example"
],
"app_category": [
"example"
],
"user_profile": [
"example"
],
"user_economics": "example",
"user_education": "example",
"thumbnail": {
"media": "example"
},
"targeting": {
"keywords": "example",
"language": "en",
"interests": "example",
"app_category": "example",
"user_economics": "example",
"user_education": "example",
"marital_status": "example",
"age": "example",
"sex": "example",
"isCpc": false,
"cost_per_click": 0
}
}Adds a repost to a post's reposts. Answers with no body.
Needs the token of a signed-in user.
The repost's post.
The repost's repost.
Returns the Post object.
curl -X PATCH 'http://hristovtintdetailng.com/update-repost/{post}&{repost}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"posted_by": "6543210fedcba98765432100",
"repost_of": "6543210fedcba98765432100",
"connected_account_posted_by": "6543210fedcba98765432100",
"text": "Text shown on the site.",
"title": "Example",
"likes": [
"6543210fedcba98765432101"
],
"shares": [
{
"from": "6543210fedcba98765432100",
"to": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"views": [
"6543210fedcba98765432101"
],
"comments": [
"6543210fedcba98765432101"
],
"medias": [
{
"media": "6543210fedcba98765432100",
"vimeo_uri": "example",
"vimeo_picture": "example",
"vimeo_url": "example-item",
"youtube_url": "example-item",
"youtube_picture": "example",
"gcs_url": "example-item",
"gcs_480_30_url": "example-item",
"gcs_720_30_url": "example-item",
"gcs_1080_30_url": "example-item",
"duration": 1,
"transcode_status": "not_started",
"_id": "6543210fedcba98765432100"
}
],
"keywords": [
"example"
],
"emotion": "example",
"political_spectrum": "example",
"explicit": "example",
"harmful": "example",
"propaganda": "example",
"advertisement": "example",
"engaging": "example",
"language": "en",
"interests": [
"example"
],
"app_category": [
"example"
],
"user_profile": [
"example"
],
"user_economics": "example",
"user_education": "example",
"thumbnail": {
"media": "example"
},
"targeting": {
"keywords": "example",
"language": "en",
"interests": "example",
"app_category": "example",
"user_economics": "example",
"user_education": "example",
"marital_status": "example",
"age": "example",
"sex": "example",
"isCpc": false,
"cost_per_click": 0
}
}A user's subscriber-only posts, when the visitor subscribes to them. Answers { posts, length }, newest first, with the plans that open them.
Works without a token; with a user token the answer is personal.
The user exclusive feed's user.
How many results to skip - for paging.
How many results to return.
curl -X GET 'http://hristovtintdetailng.com/user-exclusive-feed/{user}/{skip}/{limit}?ionic=true'{
"stripe_subscription_id": "example",
"user_id": "6543210fedcba98765432100",
"status": 0,
"payment_intent_id": "example",
"price_plan": "6543210fedcba98765432100",
"rating_mail_sent": false,
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}A user's current stories, with what they are attached to. Newest first.
Needs the token of a signed-in user.
The user expirable post's user.
Returns a list of Post objects.
curl -X GET 'http://hristovtintdetailng.com/user-expirable-posts/{user}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'[
{
"posted_by": "6543210fedcba98765432100",
"repost_of": "6543210fedcba98765432100",
"connected_account_posted_by": "6543210fedcba98765432100",
"text": "Text shown on the site.",
"title": "Example",
"likes": [
"6543210fedcba98765432101"
],
"shares": [
{
"from": "6543210fedcba98765432100",
"to": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"views": [
"6543210fedcba98765432101"
],
"comments": [
"6543210fedcba98765432101"
],
"medias": [
{
"media": "6543210fedcba98765432100",
"vimeo_uri": "example",
"vimeo_picture": "example",
"vimeo_url": "example-item",
"youtube_url": "example-item",
"youtube_picture": "example",
"gcs_url": "example-item",
"gcs_480_30_url": "example-item",
"gcs_720_30_url": "example-item",
"gcs_1080_30_url": "example-item",
"duration": 1,
"transcode_status": "not_started",
"_id": "6543210fedcba98765432100"
}
],
"keywords": [
"example"
],
"emotion": "example",
"political_spectrum": "example",
"explicit": "example",
"harmful": "example",
"propaganda": "example",
"advertisement": "example",
"engaging": "example",
"language": "en",
"interests": [
"example"
],
"app_category": [
"example"
],
"user_profile": [
"example"
],
"user_economics": "example",
"user_education": "example",
"thumbnail": {
"media": "example"
},
"targeting": {
"keywords": "example",
"language": "en",
"interests": "example",
"app_category": "example",
"user_economics": "example",
"user_education": "example",
"marital_status": "example",
"age": "example",
"sex": "example",
"isCpc": false,
"cost_per_click": 0
}
}
]A user's posts that everyone may see, a page at a time. Answers { posts, length }, newest first. Subscriber-only posts are left out: see /user-exclusive-feed.
Works without a token; with a user token the answer is personal.
The user feed's user.
How many results to skip - for paging.
How many results to return.
curl -X GET 'http://hristovtintdetailng.com/user-feed/{user}/{skip}/{limit}?ionic=true'{
"posted_by": "6543210fedcba98765432100",
"repost_of": "6543210fedcba98765432100",
"connected_account_posted_by": "6543210fedcba98765432100",
"text": "Text shown on the site.",
"title": "Example",
"likes": [
"6543210fedcba98765432101"
],
"shares": [
{
"from": "6543210fedcba98765432100",
"to": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"views": [
"6543210fedcba98765432101"
],
"comments": [
"6543210fedcba98765432101"
],
"medias": [
{
"media": "6543210fedcba98765432100",
"vimeo_uri": "example",
"vimeo_picture": "example",
"vimeo_url": "example-item",
"youtube_url": "example-item",
"youtube_picture": "example",
"gcs_url": "example-item",
"gcs_480_30_url": "example-item",
"gcs_720_30_url": "example-item",
"gcs_1080_30_url": "example-item",
"duration": 1,
"transcode_status": "not_started",
"_id": "6543210fedcba98765432100"
}
],
"keywords": [
"example"
],
"emotion": "example",
"political_spectrum": "example",
"explicit": "example",
"harmful": "example",
"propaganda": "example",
"advertisement": "example",
"engaging": "example",
"language": "en",
"interests": [
"example"
],
"app_category": [
"example"
],
"user_profile": [
"example"
],
"user_economics": "example",
"user_education": "example",
"thumbnail": {
"media": "example"
},
"targeting": {
"keywords": "example",
"language": "en",
"interests": "example",
"app_category": "example",
"user_economics": "example",
"user_education": "example",
"marital_status": "example",
"age": "example",
"sex": "example",
"isCpc": false,
"cost_per_click": 0
}
}Posts from the user's groups and public groups. Answers { posts, length }, newest first.
Needs the token of a signed-in user.
The user group feed's posts.
The user group feed's public groups.
The user group feed's users.
curl -X GET 'http://hristovtintdetailng.com/user-group-feed/{posts}&{public_groups}&{users}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"type": "example",
"avatar": "6543210fedcba98765432100",
"cover": "6543210fedcba98765432100",
"name": "Example",
"handle": "example",
"bio": "example",
"participants": [
"6543210fedcba98765432101"
],
"owner_id": "6543210fedcba98765432100",
"who_can_post": "all",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}Posts the signed-in user liked, a page at a time. Answers { posts, postCount }. 403 for an account the user may not act for.
Needs the token of a signed-in user.
How many results to skip - for paging.
Only user liked posts with this on behalf of.
Returns a list of Post objects.
curl -X GET 'http://hristovtintdetailng.com/user-liked-posts/{skip}?ionic=true&on_behalf_of=...' \
-H 'Authorization: Bearer <TOKEN>'[
{
"posted_by": "6543210fedcba98765432100",
"repost_of": "6543210fedcba98765432100",
"connected_account_posted_by": "6543210fedcba98765432100",
"text": "Text shown on the site.",
"title": "Example",
"likes": [
"6543210fedcba98765432101"
],
"shares": [
{
"from": "6543210fedcba98765432100",
"to": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"views": [
"6543210fedcba98765432101"
],
"comments": [
"6543210fedcba98765432101"
],
"medias": [
{
"media": "6543210fedcba98765432100",
"vimeo_uri": "example",
"vimeo_picture": "example",
"vimeo_url": "example-item",
"youtube_url": "example-item",
"youtube_picture": "example",
"gcs_url": "example-item",
"gcs_480_30_url": "example-item",
"gcs_720_30_url": "example-item",
"gcs_1080_30_url": "example-item",
"duration": 1,
"transcode_status": "not_started",
"_id": "6543210fedcba98765432100"
}
],
"keywords": [
"example"
],
"emotion": "example",
"political_spectrum": "example",
"explicit": "example",
"harmful": "example",
"propaganda": "example",
"advertisement": "example",
"engaging": "example",
"language": "en",
"interests": [
"example"
],
"app_category": [
"example"
],
"user_profile": [
"example"
],
"user_economics": "example",
"user_education": "example",
"thumbnail": {
"media": "example"
},
"targeting": {
"keywords": "example",
"language": "en",
"interests": "example",
"app_category": "example",
"user_economics": "example",
"user_education": "example",
"marital_status": "example",
"age": "example",
"sex": "example",
"isCpc": false,
"cost_per_click": 0
}
}
]Ads to show in a long video, by the viewer's interests and location. Ads by interest first, then by location.
Works without a token; with a user token the answer is personal.
The ID of the user long video ad.
curl -X GET 'http://hristovtintdetailng.com/user-long-video-ads/{id}?ionic=true'{
"posted_by": "6543210fedcba98765432100",
"repost_of": "6543210fedcba98765432100",
"connected_account_posted_by": "6543210fedcba98765432100",
"text": "Text shown on the site.",
"title": "Example",
"likes": [
"6543210fedcba98765432101"
],
"shares": [
{
"from": "6543210fedcba98765432100",
"to": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"views": [
"6543210fedcba98765432101"
],
"comments": [
"6543210fedcba98765432101"
],
"medias": [
{
"media": "6543210fedcba98765432100",
"vimeo_uri": "example",
"vimeo_picture": "example",
"vimeo_url": "example-item",
"youtube_url": "example-item",
"youtube_picture": "example",
"gcs_url": "example-item",
"gcs_480_30_url": "example-item",
"gcs_720_30_url": "example-item",
"gcs_1080_30_url": "example-item",
"duration": 1,
"transcode_status": "not_started",
"_id": "6543210fedcba98765432100"
}
],
"keywords": [
"example"
],
"emotion": "example",
"political_spectrum": "example",
"explicit": "example",
"harmful": "example",
"propaganda": "example",
"advertisement": "example",
"engaging": "example",
"language": "en",
"interests": [
"example"
],
"app_category": [
"example"
],
"user_profile": [
"example"
],
"user_economics": "example",
"user_education": "example",
"thumbnail": {
"media": "example"
},
"targeting": {
"keywords": "example",
"language": "en",
"interests": "example",
"app_category": "example",
"user_economics": "example",
"user_education": "example",
"marital_status": "example",
"age": "example",
"sex": "example",
"isCpc": false,
"cost_per_click": 0
}
}Publishes a post by the signed-in user (text, title, medias, poll, group), checks its pictures for explicit content and queues its videos for transcoding. 403 when the text or title is too long, 404 when the group does not exist. Pictures are checked for explicit content and given an AI caption; videos are queued for transcoding and the post fills in when they are ready.
Needs the token of a signed-in user.
The post's text.
The post's title.
Group.id.
The user post's selected account id.
Pictures and videos of the post.
Only for subscribers.
User ids.
The user post's transcode.
The user post's link.
Returns the Post object.
curl -X POST 'http://hristovtintdetailng.com/user-post?ionic=true' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{ "text": "...", "title": "...", "posted_in": "...", "selected_account_id": "...", "medias": "..." }'{
"posted_by": "6543210fedcba98765432100",
"repost_of": "6543210fedcba98765432100",
"connected_account_posted_by": "6543210fedcba98765432100",
"text": "Text shown on the site.",
"title": "Example",
"likes": [
"6543210fedcba98765432101"
],
"shares": [
{
"from": "6543210fedcba98765432100",
"to": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"views": [
"6543210fedcba98765432101"
],
"comments": [
"6543210fedcba98765432101"
],
"medias": [
{
"media": "6543210fedcba98765432100",
"vimeo_uri": "example",
"vimeo_picture": "example",
"vimeo_url": "example-item",
"youtube_url": "example-item",
"youtube_picture": "example",
"gcs_url": "example-item",
"gcs_480_30_url": "example-item",
"gcs_720_30_url": "example-item",
"gcs_1080_30_url": "example-item",
"duration": 1,
"transcode_status": "not_started",
"_id": "6543210fedcba98765432100"
}
],
"keywords": [
"example"
],
"emotion": "example",
"political_spectrum": "example",
"explicit": "example",
"harmful": "example",
"propaganda": "example",
"advertisement": "example",
"engaging": "example",
"language": "en",
"interests": [
"example"
],
"app_category": [
"example"
],
"user_profile": [
"example"
],
"user_economics": "example",
"user_education": "example",
"thumbnail": {
"media": "example"
},
"targeting": {
"keywords": "example",
"language": "en",
"interests": "example",
"app_category": "example",
"user_economics": "example",
"user_education": "example",
"marital_status": "example",
"age": "example",
"sex": "example",
"isCpc": false,
"cost_per_click": 0
}
}Likes, dislikes or takes back a reaction on a post, and notifies its author. Sending the same reaction again takes it back. Answers the post. Counts as an interaction, which feeds its ranking.
Needs the token of a signed-in user.
The ID of the user post.
User ids.
User ids.
Returns the Post object.
curl -X PATCH 'http://hristovtintdetailng.com/user-post-like/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{ "likes": "...", "dislikes": "..." }'{
"posted_by": "6543210fedcba98765432100",
"repost_of": "6543210fedcba98765432100",
"connected_account_posted_by": "6543210fedcba98765432100",
"text": "Text shown on the site.",
"title": "Example",
"likes": [
"6543210fedcba98765432101"
],
"shares": [
{
"from": "6543210fedcba98765432100",
"to": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"views": [
"6543210fedcba98765432101"
],
"comments": [
"6543210fedcba98765432101"
],
"medias": [
{
"media": "6543210fedcba98765432100",
"vimeo_uri": "example",
"vimeo_picture": "example",
"vimeo_url": "example-item",
"youtube_url": "example-item",
"youtube_picture": "example",
"gcs_url": "example-item",
"gcs_480_30_url": "example-item",
"gcs_720_30_url": "example-item",
"gcs_1080_30_url": "example-item",
"duration": 1,
"transcode_status": "not_started",
"_id": "6543210fedcba98765432100"
}
],
"keywords": [
"example"
],
"emotion": "example",
"political_spectrum": "example",
"explicit": "example",
"harmful": "example",
"propaganda": "example",
"advertisement": "example",
"engaging": "example",
"language": "en",
"interests": [
"example"
],
"app_category": [
"example"
],
"user_profile": [
"example"
],
"user_economics": "example",
"user_education": "example",
"thumbnail": {
"media": "example"
},
"targeting": {
"keywords": "example",
"language": "en",
"interests": "example",
"app_category": "example",
"user_economics": "example",
"user_education": "example",
"marital_status": "example",
"age": "example",
"sex": "example",
"isCpc": false,
"cost_per_click": 0
}
}A link's preview for a post (link): its Open Graph title, picture and site name. The page is fetched by the server. Cached for an hour.
Works without a token; with a user token the answer is personal.
The user post link's link.
curl -X POST 'http://hristovtintdetailng.com/user-post-link-preview?ionic=true' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{ "link": "..." }'The product, service, post or program a post is attached to. 404 when there is no such post. Cached per user for 5 minutes.
Works without a token; with a user token the answer is personal.
The ID of the user post object.
curl -X GET 'http://hristovtintdetailng.com/user-post-object/{id}?ionic=true'{
"posted_by": "6543210fedcba98765432100",
"repost_of": "6543210fedcba98765432100",
"connected_account_posted_by": "6543210fedcba98765432100",
"text": "Text shown on the site.",
"title": "Example",
"likes": [
"6543210fedcba98765432101"
],
"shares": [
{
"from": "6543210fedcba98765432100",
"to": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"views": [
"6543210fedcba98765432101"
],
"comments": [
"6543210fedcba98765432101"
],
"medias": [
{
"media": "6543210fedcba98765432100",
"vimeo_uri": "example",
"vimeo_picture": "example",
"vimeo_url": "example-item",
"youtube_url": "example-item",
"youtube_picture": "example",
"gcs_url": "example-item",
"gcs_480_30_url": "example-item",
"gcs_720_30_url": "example-item",
"gcs_1080_30_url": "example-item",
"duration": 1,
"transcode_status": "not_started",
"_id": "6543210fedcba98765432100"
}
],
"keywords": [
"example"
],
"emotion": "example",
"political_spectrum": "example",
"explicit": "example",
"harmful": "example",
"propaganda": "example",
"advertisement": "example",
"engaging": "example",
"language": "en",
"interests": [
"example"
],
"app_category": [
"example"
],
"user_profile": [
"example"
],
"user_economics": "example",
"user_education": "example",
"thumbnail": {
"media": "example"
},
"targeting": {
"keywords": "example",
"language": "en",
"interests": "example",
"app_category": "example",
"user_economics": "example",
"user_education": "example",
"marital_status": "example",
"age": "example",
"sex": "example",
"isCpc": false,
"cost_per_click": 0
}
}Saves or unsaves a post for the signed-in user. Calling it again unsaves. Answers the post.
Needs the token of a signed-in user.
The ID of the user post.
Returns the Post object.
curl -X PATCH 'http://hristovtintdetailng.com/user-post-save/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"posted_by": "6543210fedcba98765432100",
"repost_of": "6543210fedcba98765432100",
"connected_account_posted_by": "6543210fedcba98765432100",
"text": "Text shown on the site.",
"title": "Example",
"likes": [
"6543210fedcba98765432101"
],
"shares": [
{
"from": "6543210fedcba98765432100",
"to": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"views": [
"6543210fedcba98765432101"
],
"comments": [
"6543210fedcba98765432101"
],
"medias": [
{
"media": "6543210fedcba98765432100",
"vimeo_uri": "example",
"vimeo_picture": "example",
"vimeo_url": "example-item",
"youtube_url": "example-item",
"youtube_picture": "example",
"gcs_url": "example-item",
"gcs_480_30_url": "example-item",
"gcs_720_30_url": "example-item",
"gcs_1080_30_url": "example-item",
"duration": 1,
"transcode_status": "not_started",
"_id": "6543210fedcba98765432100"
}
],
"keywords": [
"example"
],
"emotion": "example",
"political_spectrum": "example",
"explicit": "example",
"harmful": "example",
"propaganda": "example",
"advertisement": "example",
"engaging": "example",
"language": "en",
"interests": [
"example"
],
"app_category": [
"example"
],
"user_profile": [
"example"
],
"user_economics": "example",
"user_education": "example",
"thumbnail": {
"media": "example"
},
"targeting": {
"keywords": "example",
"language": "en",
"interests": "example",
"app_category": "example",
"user_economics": "example",
"user_education": "example",
"marital_status": "example",
"age": "example",
"sex": "example",
"isCpc": false,
"cost_per_click": 0
}
}One post with its comments and more posts to show after it. 404 when there is no such post. Cached for 5 minutes.
Works without a token; with a user token the answer is personal.
The ID of the user post.
Returns the Post object.
curl -X GET 'http://hristovtintdetailng.com/user-post/{id}?ionic=true'{
"posted_by": "6543210fedcba98765432100",
"repost_of": "6543210fedcba98765432100",
"connected_account_posted_by": "6543210fedcba98765432100",
"text": "Text shown on the site.",
"title": "Example",
"likes": [
"6543210fedcba98765432101"
],
"shares": [
{
"from": "6543210fedcba98765432100",
"to": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"views": [
"6543210fedcba98765432101"
],
"comments": [
"6543210fedcba98765432101"
],
"medias": [
{
"media": "6543210fedcba98765432100",
"vimeo_uri": "example",
"vimeo_picture": "example",
"vimeo_url": "example-item",
"youtube_url": "example-item",
"youtube_picture": "example",
"gcs_url": "example-item",
"gcs_480_30_url": "example-item",
"gcs_720_30_url": "example-item",
"gcs_1080_30_url": "example-item",
"duration": 1,
"transcode_status": "not_started",
"_id": "6543210fedcba98765432100"
}
],
"keywords": [
"example"
],
"emotion": "example",
"political_spectrum": "example",
"explicit": "example",
"harmful": "example",
"propaganda": "example",
"advertisement": "example",
"engaging": "example",
"language": "en",
"interests": [
"example"
],
"app_category": [
"example"
],
"user_profile": [
"example"
],
"user_economics": "example",
"user_education": "example",
"thumbnail": {
"media": "example"
},
"targeting": {
"keywords": "example",
"language": "en",
"interests": "example",
"app_category": "example",
"user_economics": "example",
"user_education": "example",
"marital_status": "example",
"age": "example",
"sex": "example",
"isCpc": false,
"cost_per_click": 0
}
}Edits a post of the signed-in user, or of an account they manage (?on_behalf_of), and notifies new mentions. 403 "Unauthorized" when the post is not the user's or an account's they manage. Answers the updated post.
Needs the token of a signed-in user.
The ID of the user post.
Only user posts with this on behalf of.
User ids.
Returns the Post object.
curl -X PATCH 'http://hristovtintdetailng.com/user-post/{id}?ionic=true&on_behalf_of=...' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{ "mentions": "..." }'{
"posted_by": "6543210fedcba98765432100",
"repost_of": "6543210fedcba98765432100",
"connected_account_posted_by": "6543210fedcba98765432100",
"text": "Text shown on the site.",
"title": "Example",
"likes": [
"6543210fedcba98765432101"
],
"shares": [
{
"from": "6543210fedcba98765432100",
"to": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"views": [
"6543210fedcba98765432101"
],
"comments": [
"6543210fedcba98765432101"
],
"medias": [
{
"media": "6543210fedcba98765432100",
"vimeo_uri": "example",
"vimeo_picture": "example",
"vimeo_url": "example-item",
"youtube_url": "example-item",
"youtube_picture": "example",
"gcs_url": "example-item",
"gcs_480_30_url": "example-item",
"gcs_720_30_url": "example-item",
"gcs_1080_30_url": "example-item",
"duration": 1,
"transcode_status": "not_started",
"_id": "6543210fedcba98765432100"
}
],
"keywords": [
"example"
],
"emotion": "example",
"political_spectrum": "example",
"explicit": "example",
"harmful": "example",
"propaganda": "example",
"advertisement": "example",
"engaging": "example",
"language": "en",
"interests": [
"example"
],
"app_category": [
"example"
],
"user_profile": [
"example"
],
"user_economics": "example",
"user_education": "example",
"thumbnail": {
"media": "example"
},
"targeting": {
"keywords": "example",
"language": "en",
"interests": "example",
"app_category": "example",
"user_economics": "example",
"user_education": "example",
"marital_status": "example",
"age": "example",
"sex": "example",
"isCpc": false,
"cost_per_click": 0
}
}Deletes a post with its comments and media (its author or the group's admin). Its comments and stored media are deleted with it. 403 when the user is neither its author nor the group's admin.
Needs the token of a signed-in user.
The ID of the user post.
Returns an empty answer on success.
curl -X DELETE 'http://hristovtintdetailng.com/user-post/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'Videos to watch after a video, by the user's interests. Cached per user for 5 minutes.
Needs the token of a signed-in user.
The video feed's video id.
The video feed's posts.
The video feed's popular.
The video feed's ads.
Only video feeds with this current video.
curl -X GET 'http://hristovtintdetailng.com/video-feed/{video_id}&{posts}&{popular}&{ads}?ionic=true¤t_video=...' \
-H 'Authorization: Bearer <TOKEN>'{
"posted_by": "6543210fedcba98765432100",
"repost_of": "6543210fedcba98765432100",
"connected_account_posted_by": "6543210fedcba98765432100",
"text": "Text shown on the site.",
"title": "Example",
"likes": [
"6543210fedcba98765432101"
],
"shares": [
{
"from": "6543210fedcba98765432100",
"to": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"views": [
"6543210fedcba98765432101"
],
"comments": [
"6543210fedcba98765432101"
],
"medias": [
{
"media": "6543210fedcba98765432100",
"vimeo_uri": "example",
"vimeo_picture": "example",
"vimeo_url": "example-item",
"youtube_url": "example-item",
"youtube_picture": "example",
"gcs_url": "example-item",
"gcs_480_30_url": "example-item",
"gcs_720_30_url": "example-item",
"gcs_1080_30_url": "example-item",
"duration": 1,
"transcode_status": "not_started",
"_id": "6543210fedcba98765432100"
}
],
"keywords": [
"example"
],
"emotion": "example",
"political_spectrum": "example",
"explicit": "example",
"harmful": "example",
"propaganda": "example",
"advertisement": "example",
"engaging": "example",
"language": "en",
"interests": [
"example"
],
"app_category": [
"example"
],
"user_profile": [
"example"
],
"user_economics": "example",
"user_education": "example",
"thumbnail": {
"media": "example"
},
"targeting": {
"keywords": "example",
"language": "en",
"interests": "example",
"app_category": "example",
"user_economics": "example",
"user_education": "example",
"marital_status": "example",
"age": "example",
"sex": "example",
"isCpc": false,
"cost_per_click": 0
}
}Stories the user has already seen.
Needs the token of a signed-in user.
How many results to skip - for paging.
curl -X GET 'http://hristovtintdetailng.com/viewed-expirable-posts/{skip}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'An item's ratings page, a page at a time. Answers { ratings, count } in the app. 404 when the item does not exist.
Public - no token needed.
The ID of the rating.
The rating's item.
How many results to skip - for paging.
How many results to return.
Returns the Rating object.
curl -X GET 'http://hristovtintdetailng.com/all-ratings/{id}&{item}&{skip}&{limit}?ionic=true'{
"email": "jane@example.com",
"text": "Text shown on the site.",
"medias": [
{
"media": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"stars": 1,
"product": "6543210fedcba98765432100",
"service": "6543210fedcba98765432100",
"program": "6543210fedcba98765432100",
"price_plan": "6543210fedcba98765432100",
"name": "Example",
"miniapp": "6543210fedcba98765432100",
"staff_member": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}Saves a rating with its pictures. Multipart with pictures. Reads no token: it comes from the rating email's page. Answers 201.
Public - no token needed.
The rating's body.
Returns the Rating object.
curl -X POST 'http://hristovtintdetailng.com/rating?ionic=true' \
-H 'Content-Type: application/json' \
-d '{ "body": "..." }'{
"email": "jane@example.com",
"text": "Text shown on the site.",
"medias": [
{
"media": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"stars": 1,
"product": "6543210fedcba98765432100",
"service": "6543210fedcba98765432100",
"program": "6543210fedcba98765432100",
"price_plan": "6543210fedcba98765432100",
"name": "Example",
"miniapp": "6543210fedcba98765432100",
"staff_member": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}One rating. Answers the rating.
Needs the token of a signed-in user.
The ID of the rating.
Returns the Rating object.
curl -X GET 'http://hristovtintdetailng.com/rating/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"email": "jane@example.com",
"text": "Text shown on the site.",
"medias": [
{
"media": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"stars": 1,
"product": "6543210fedcba98765432100",
"service": "6543210fedcba98765432100",
"program": "6543210fedcba98765432100",
"price_plan": "6543210fedcba98765432100",
"name": "Example",
"miniapp": "6543210fedcba98765432100",
"staff_member": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}Ratings of one kind of item (?type), with the items. Newest first.
Needs the token of a signed-in user.
Only ratings tables with this char at.
Only ratings tables with this slice.
Only ratings tables with this type.
curl -X GET 'http://hristovtintdetailng.com/ratings-table?ionic=true&charAt=...&slice=...&type=...' \ -H 'Authorization: Bearer <TOKEN>'
{
"name": "Example",
"make": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}The rating page from a rating email. A wrong code goes to the not-found page.
Public - no token needed.
An email address.
The user rating's validation code.
The user rating's type.
The ID of the user rating.
curl -X GET 'http://hristovtintdetailng.com/user-rating/{email}&{validation_code}&{type}&{id}?ionic=true'{
"organization_name": "Example",
"firstname": "Example",
"lastname": "Example",
"email": "jane@example.com",
"phone_number": "+359 888 123 456",
"address": "example",
"city": "example",
"state": "example",
"country": "example",
"zip_code": "example",
"tax_identification_number": "example",
"notes": "Text shown on the site.",
"products": [
"example"
],
"products_obj": [
{
"product_id": "6543210fedcba98765432100",
"name": "Example",
"options": "example",
"price": 49.9,
"quantity": 1,
"_id": "6543210fedcba98765432100"
}
],
"programs": [
"example"
],
"programs_obj": [
{
"program_id": "6543210fedcba98765432100",
"title": "Example",
"price": 49.9,
"_id": "6543210fedcba98765432100"
}
],
"tickets": [
"6543210fedcba98765432101"
],
"donations": [
"6543210fedcba98765432101"
],
"donations_obj": [
{
"donation_id": "6543210fedcba98765432100",
"name": "Example",
"options": "example",
"price": 49.9,
"quantity": 1,
"_id": "6543210fedcba98765432100"
}
],
"value": 49.9,
"finalized": false,
"fulfilled": false,
"paid": false,
"delivery_method": "example"
}