API ReferenceView as MarkdownOpenAPI

Programs

View as Markdown

Programs are online courses: a priced program made of weeks, each week of days and each day of steps - text, a video, images. Buyers work through it in the site or the app, and their progress is kept.

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.

27 endpoints in 5 parts: Program, Program Progress, Tracker, Tracker Progress, AI builder.

Like or unlike a program

Like or unlike a program.

User token

Needs the token of a signed-in user.

Path parameters
idstringRequired

The ID of the program.

Returns

Returns the Program object.

Status codes

200 400 401 404 500

PATCH/program-likes/:id
curl -X PATCH 'http://dunav41.max-media.io/program-likes/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "title": "Example",
  "url": "example-item",
  "static_url": "example-item",
  "header": "example",
  "body": "Text shown on the site.",
  "medias": [
    {
      "media": "6543210fedcba98765432100",
      "gcs_url": "example-item",
      "gcs_480_30_url": "example-item",
      "gcs_720_30_url": "example-item",
      "gcs_1080_30_url": "example-item",
      "duration": 1,
      "vimeo_uri": "example",
      "vimeo_picture": "example",
      "vimeo_url": "example-item",
      "youtube_url": "example-item",
      "youtube_picture": "example",
      "thumbnail": "example",
      "_id": "6543210fedcba98765432100"
    }
  ],
  "video": "6543210fedcba98765432100",
  "about_page": "6543210fedcba98765432100",
  "weeks": [
    {
      "isCompleted": {},
      "progress": {},
      "title": "Example",
      "days": [],
      "_id": "6543210fedcba98765432100"
    }
  ],
  "suitability_price_plans": [
    "6543210fedcba98765432101"
  ],
  "isSuitable": false,
  "price": 0,
  "collection_id": "6543210fedcba98765432100",
  "topics": [
    {
      "collection_id": "6543210fedcba98765432100",
      "_id": "6543210fedcba98765432100"
    }
  ],
  "owner_id": "6543210fedcba98765432100",
  "connected_account_owner_id": "6543210fedcba98765432100",
  "ribbon": "example",
  "striked": "example",
  "isConsistent": false,
  "isAcademic": true,
  "wildcard_url": {},
  "reviewed": false,
  "approved": false,
  "likes": [
    "6543210fedcba98765432101"
  ],
  "popup": {
    "title": "Example",
    "points": "example"
  }
}

Find a program by its address

Find a program by its address.

Optional user

Works without a token; with a user token the answer is personal.

Path parameters
urlstringRequired

The program's URL slug, as in its address on the site.

Status codes

200 500

GET/program-redirect/:url
curl -X GET 'http://dunav41.max-media.io/program-redirect/{url}?ionic=true'
Response
{
  "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
  }
}

Save or unsave a program

Save or unsave a program.

User token

Needs the token of a signed-in user.

Path parameters
idstringRequired

The ID of the program.

Returns

Returns the Program object.

Status codes

200 400 401 404 500

PATCH/program-saves/:id
curl -X PATCH 'http://dunav41.max-media.io/program-saves/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "title": "Example",
  "url": "example-item",
  "static_url": "example-item",
  "header": "example",
  "body": "Text shown on the site.",
  "medias": [
    {
      "media": "6543210fedcba98765432100",
      "gcs_url": "example-item",
      "gcs_480_30_url": "example-item",
      "gcs_720_30_url": "example-item",
      "gcs_1080_30_url": "example-item",
      "duration": 1,
      "vimeo_uri": "example",
      "vimeo_picture": "example",
      "vimeo_url": "example-item",
      "youtube_url": "example-item",
      "youtube_picture": "example",
      "thumbnail": "example",
      "_id": "6543210fedcba98765432100"
    }
  ],
  "video": "6543210fedcba98765432100",
  "about_page": "6543210fedcba98765432100",
  "weeks": [
    {
      "isCompleted": {},
      "progress": {},
      "title": "Example",
      "days": [],
      "_id": "6543210fedcba98765432100"
    }
  ],
  "suitability_price_plans": [
    "6543210fedcba98765432101"
  ],
  "isSuitable": false,
  "price": 0,
  "collection_id": "6543210fedcba98765432100",
  "topics": [
    {
      "collection_id": "6543210fedcba98765432100",
      "_id": "6543210fedcba98765432100"
    }
  ],
  "owner_id": "6543210fedcba98765432100",
  "connected_account_owner_id": "6543210fedcba98765432100",
  "ribbon": "example",
  "striked": "example",
  "isConsistent": false,
  "isAcademic": true,
  "wildcard_url": {},
  "reviewed": false,
  "approved": false,
  "likes": [
    "6543210fedcba98765432101"
  ],
  "popup": {
    "title": "Example",
    "points": "example"
  }
}

List all programs

Returns the site's programs, newest first unless a sort is given.

User with accessOptional user

Needs a signed-in user whose plan grants access.

Query parameters
publishedstring

Only programs with this published.

completedstring

Only programs with this completed.

sortBystring

The order of the results.

collectionstring

Only results in this collection.

skipstring

How many results to skip - for paging.

wherestring

Only programs with this where.

Returns

Returns a list of Program objects.

Status codes

200 401 402 404 500

GET/programs
curl -X GET 'http://dunav41.max-media.io/programs?ionic=true&published=...&completed=...&sortBy=...' \
  -H 'Authorization: Bearer <TOKEN>'
Response
[
  {
    "title": "Example",
    "url": "example-item",
    "static_url": "example-item",
    "header": "example",
    "body": "Text shown on the site.",
    "medias": [
      {
        "media": "6543210fedcba98765432100",
        "gcs_url": "example-item",
        "gcs_480_30_url": "example-item",
        "gcs_720_30_url": "example-item",
        "gcs_1080_30_url": "example-item",
        "duration": 1,
        "vimeo_uri": "example",
        "vimeo_picture": "example",
        "vimeo_url": "example-item",
        "youtube_url": "example-item",
        "youtube_picture": "example",
        "thumbnail": "example",
        "_id": "6543210fedcba98765432100"
      }
    ],
    "video": "6543210fedcba98765432100",
    "about_page": "6543210fedcba98765432100",
    "weeks": [
      {
        "isCompleted": {},
        "progress": {},
        "title": "Example",
        "days": [],
        "_id": "6543210fedcba98765432100"
      }
    ],
    "suitability_price_plans": [
      "6543210fedcba98765432101"
    ],
    "isSuitable": false,
    "price": 0,
    "collection_id": "6543210fedcba98765432100",
    "topics": [
      {
        "collection_id": "6543210fedcba98765432100",
        "_id": "6543210fedcba98765432100"
      }
    ],
    "owner_id": "6543210fedcba98765432100",
    "connected_account_owner_id": "6543210fedcba98765432100",
    "ribbon": "example",
    "striked": "example",
    "isConsistent": false,
    "isAcademic": true,
    "wildcard_url": {},
    "reviewed": false,
    "approved": false,
    "likes": [
      "6543210fedcba98765432101"
    ],
    "popup": {
      "title": "Example",
      "points": "example"
    }
  }
]

Create a program

Create new program.

User token

Needs the token of a signed-in user.

Parameters
titlestring

Name of the program, required.

on_behalf_ofstring

The program's on behalf of.

Returns

Returns the Program object.

Status codes

201 400 401 403 500

POST/programs
curl -X POST 'http://dunav41.max-media.io/programs?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "title": "...", "on_behalf_of": "..." }'
Response
{
  "title": "Example",
  "url": "example-item",
  "static_url": "example-item",
  "header": "example",
  "body": "Text shown on the site.",
  "medias": [
    {
      "media": "6543210fedcba98765432100",
      "gcs_url": "example-item",
      "gcs_480_30_url": "example-item",
      "gcs_720_30_url": "example-item",
      "gcs_1080_30_url": "example-item",
      "duration": 1,
      "vimeo_uri": "example",
      "vimeo_picture": "example",
      "vimeo_url": "example-item",
      "youtube_url": "example-item",
      "youtube_picture": "example",
      "thumbnail": "example",
      "_id": "6543210fedcba98765432100"
    }
  ],
  "video": "6543210fedcba98765432100",
  "about_page": "6543210fedcba98765432100",
  "weeks": [
    {
      "isCompleted": {},
      "progress": {},
      "title": "Example",
      "days": [],
      "_id": "6543210fedcba98765432100"
    }
  ],
  "suitability_price_plans": [
    "6543210fedcba98765432101"
  ],
  "isSuitable": false,
  "price": 0,
  "collection_id": "6543210fedcba98765432100",
  "topics": [
    {
      "collection_id": "6543210fedcba98765432100",
      "_id": "6543210fedcba98765432100"
    }
  ],
  "owner_id": "6543210fedcba98765432100",
  "connected_account_owner_id": "6543210fedcba98765432100",
  "ribbon": "example",
  "striked": "example",
  "isConsistent": false,
  "isAcademic": true,
  "wildcard_url": {},
  "reviewed": false,
  "approved": false,
  "likes": [
    "6543210fedcba98765432101"
  ],
  "popup": {
    "title": "Example",
    "points": "example"
  }
}

Update a program

Update Program by id.

User token

Needs the token of a signed-in user.

Path parameters
idstringRequired

The ID of the program.

Parameters
convertedPricestring

The program's converted price.

Returns

Returns the Program object.

Status codes

200 400 401 403 404 500

PATCH/programs/:id
curl -X PATCH 'http://dunav41.max-media.io/programs/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "convertedPrice": "..." }'
Response
{
  "title": "Example",
  "url": "example-item",
  "static_url": "example-item",
  "header": "example",
  "body": "Text shown on the site.",
  "medias": [
    {
      "media": "6543210fedcba98765432100",
      "gcs_url": "example-item",
      "gcs_480_30_url": "example-item",
      "gcs_720_30_url": "example-item",
      "gcs_1080_30_url": "example-item",
      "duration": 1,
      "vimeo_uri": "example",
      "vimeo_picture": "example",
      "vimeo_url": "example-item",
      "youtube_url": "example-item",
      "youtube_picture": "example",
      "thumbnail": "example",
      "_id": "6543210fedcba98765432100"
    }
  ],
  "video": "6543210fedcba98765432100",
  "about_page": "6543210fedcba98765432100",
  "weeks": [
    {
      "isCompleted": {},
      "progress": {},
      "title": "Example",
      "days": [],
      "_id": "6543210fedcba98765432100"
    }
  ],
  "suitability_price_plans": [
    "6543210fedcba98765432101"
  ],
  "isSuitable": false,
  "price": 0,
  "collection_id": "6543210fedcba98765432100",
  "topics": [
    {
      "collection_id": "6543210fedcba98765432100",
      "_id": "6543210fedcba98765432100"
    }
  ],
  "owner_id": "6543210fedcba98765432100",
  "connected_account_owner_id": "6543210fedcba98765432100",
  "ribbon": "example",
  "striked": "example",
  "isConsistent": false,
  "isAcademic": true,
  "wildcard_url": {},
  "reviewed": false,
  "approved": false,
  "likes": [
    "6543210fedcba98765432101"
  ],
  "popup": {
    "title": "Example",
    "points": "example"
  }
}

Delete a program

Delete Program record by id.

User token

Needs the token of a signed-in user.

Path parameters
idstringRequired

The ID of the program.

Returns

Returns an empty answer on success.

Status codes

200 401 403 404 500

DELETE/programs/:id
curl -X DELETE 'http://dunav41.max-media.io/programs/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'

Retrieve a program

Returns one program, found by its URL slug.

Page accessOptional user

Pages limited to some users check the token when one is sent.

Path parameters
urlstringRequired

The program's URL slug, as in its address on the site.

Returns

Returns the Program object.

Status codes

200 401 402 404 500

GET/programs/:url
curl -X GET 'http://dunav41.max-media.io/programs/{url}?ionic=true'
Response
{
  "title": "Example",
  "url": "example-item",
  "static_url": "example-item",
  "header": "example",
  "body": "Text shown on the site.",
  "medias": [
    {
      "media": "6543210fedcba98765432100",
      "gcs_url": "example-item",
      "gcs_480_30_url": "example-item",
      "gcs_720_30_url": "example-item",
      "gcs_1080_30_url": "example-item",
      "duration": 1,
      "vimeo_uri": "example",
      "vimeo_picture": "example",
      "vimeo_url": "example-item",
      "youtube_url": "example-item",
      "youtube_picture": "example",
      "thumbnail": "example",
      "_id": "6543210fedcba98765432100"
    }
  ],
  "video": "6543210fedcba98765432100",
  "about_page": "6543210fedcba98765432100",
  "weeks": [
    {
      "isCompleted": {},
      "progress": {},
      "title": "Example",
      "days": [],
      "_id": "6543210fedcba98765432100"
    }
  ],
  "suitability_price_plans": [
    "6543210fedcba98765432101"
  ],
  "isSuitable": false,
  "price": 0,
  "collection_id": "6543210fedcba98765432100",
  "topics": [
    {
      "collection_id": "6543210fedcba98765432100",
      "_id": "6543210fedcba98765432100"
    }
  ],
  "owner_id": "6543210fedcba98765432100",
  "connected_account_owner_id": "6543210fedcba98765432100",
  "ribbon": "example",
  "striked": "example",
  "isConsistent": false,
  "isAcademic": true,
  "wildcard_url": {},
  "reviewed": false,
  "approved": false,
  "likes": [
    "6543210fedcba98765432101"
  ],
  "popup": {
    "title": "Example",
    "points": "example"
  }
}

Retrieve the program progress

Returns the program progress.

Public

Public - no token needed.

Returns

Returns the ProgramProgress object.

Status codes

200 500

GET/program-progress
curl -X GET 'http://dunav41.max-media.io/program-progress?ionic=true'
Response
{
  "program": "6543210fedcba98765432100",
  "user": "6543210fedcba98765432100",
  "no_steps": 1,
  "is_completed": false,
  "weeks_completed": [
    "example"
  ],
  "days_completed": [
    "example"
  ],
  "steps_completed": [
    "example"
  ],
  "selectedWeek": {},
  "selectedWeekIndex": {},
  "selectedDay": {},
  "selectedDayIndex": {},
  "selectedStep": {},
  "selectedStepIndex": {},
  "about_section": {},
  "selected": false,
  "percentage": {},
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z"
}

Create a program progress

Create new program_progress.

User token

Needs the token of a signed-in user.

Parameters
programobjectid

The program - the ID of a program.

Returns

Returns the ProgramProgress object.

Status codes

200 201 400 401 403 500

POST/program-progress
curl -X POST 'http://dunav41.max-media.io/program-progress?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "program": "..." }'
Response
{
  "program": "6543210fedcba98765432100",
  "user": "6543210fedcba98765432100",
  "no_steps": 1,
  "is_completed": false,
  "weeks_completed": [
    "example"
  ],
  "days_completed": [
    "example"
  ],
  "steps_completed": [
    "example"
  ],
  "selectedWeek": {},
  "selectedWeekIndex": {},
  "selectedDay": {},
  "selectedDayIndex": {},
  "selectedStep": {},
  "selectedStepIndex": {},
  "about_section": {},
  "selected": false,
  "percentage": {},
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z"
}

Retrieve a program progress

Returns one program progress, found by its ID.

Optional userUser token

Works without a token; with a user token the answer is personal.

Path parameters
idstringRequired

The ID of the program progress.

Query parameters
weekstring

Only program progresses with this week.

daystring

Only program progresses with this day.

stepstring

Only program progresses with this step.

Returns

Returns the ProgramProgress object.

Status codes

200 401 404 500

GET/program-progress/:id
curl -X GET 'http://dunav41.max-media.io/program-progress/{id}?ionic=true&week=...&day=...&step=...' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "program": "6543210fedcba98765432100",
  "user": "6543210fedcba98765432100",
  "no_steps": 1,
  "is_completed": false,
  "weeks_completed": [
    "example"
  ],
  "days_completed": [
    "example"
  ],
  "steps_completed": [
    "example"
  ],
  "selectedWeek": {},
  "selectedWeekIndex": {},
  "selectedDay": {},
  "selectedDayIndex": {},
  "selectedStep": {},
  "selectedStepIndex": {},
  "about_section": {},
  "selected": false,
  "percentage": {},
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z"
}

Update a program progress

Update ProgramProgress by id.

User token

Needs the token of a signed-in user.

Path parameters
idstringRequired

The ID of the program progress.

Parameters
concatinated_progressstring

The program progress's concatinated progress.

isCompletedstring

The program progress's is completed.

splitstring

The program progress's split.

progressstring

The program progress's progress.

Returns

Returns the ProgramProgress object.

Status codes

200 400 401 404 500

PATCH/program-progress/:id
curl -X PATCH 'http://dunav41.max-media.io/program-progress/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "concatinated_progress": "...", "isCompleted": "...", "split": "...", "progress": "..." }'
Response
{
  "program": "6543210fedcba98765432100",
  "user": "6543210fedcba98765432100",
  "no_steps": 1,
  "is_completed": false,
  "weeks_completed": [
    "example"
  ],
  "days_completed": [
    "example"
  ],
  "steps_completed": [
    "example"
  ],
  "selectedWeek": {},
  "selectedWeekIndex": {},
  "selectedDay": {},
  "selectedDayIndex": {},
  "selectedStep": {},
  "selectedStepIndex": {},
  "about_section": {},
  "selected": false,
  "percentage": {},
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z"
}

Delete a program progress

Delete ProgramProgress record by id.

User token

Needs the token of a signed-in user.

Path parameters
idstringRequired

The ID of the program progress.

Returns

Returns an empty answer on success.

Status codes

200 401 404 500

DELETE/program-progress/:id
curl -X DELETE 'http://dunav41.max-media.io/program-progress/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'

Retrieve the tracker

Returns the tracker.

Optional userUser token

Works without a token; with a user token the answer is personal.

Returns

Returns the Tracker object.

Status codes

200 401 500

GET/tracker
curl -X GET 'http://dunav41.max-media.io/tracker?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "title": "Example",
  "unit": "example",
  "score_direction": "up",
  "additional_fields": [
    {
      "label": "Example",
      "type": "example",
      "options": [],
      "_id": "6543210fedcba98765432100"
    }
  ],
  "body": "Text shown on the site.",
  "video": "6543210fedcba98765432100",
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "goal_definition": {
    "label": "Example",
    "type": "example",
    "options": "example"
  }
}

Create a tracker

Create new tracker.

Admin token

Needs a site admin token.

Returns

Returns the Tracker object.

Status codes

201 400 401 500

POST/tracker
curl -X POST 'http://dunav41.max-media.io/tracker?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "title": "Example",
  "unit": "example",
  "score_direction": "up",
  "additional_fields": [
    {
      "label": "Example",
      "type": "example",
      "options": [],
      "_id": "6543210fedcba98765432100"
    }
  ],
  "body": "Text shown on the site.",
  "video": "6543210fedcba98765432100",
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "goal_definition": {
    "label": "Example",
    "type": "example",
    "options": "example"
  }
}

Retrieve a tracker

Returns one tracker, found by its ID.

User token

Needs the token of a signed-in user.

Path parameters
idstringRequired

The ID of the tracker.

Returns

Returns the Tracker object.

Status codes

200 401 404 500

GET/tracker/:id
curl -X GET 'http://dunav41.max-media.io/tracker/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "title": "Example",
  "unit": "example",
  "score_direction": "up",
  "additional_fields": [
    {
      "label": "Example",
      "type": "example",
      "options": [],
      "_id": "6543210fedcba98765432100"
    }
  ],
  "body": "Text shown on the site.",
  "video": "6543210fedcba98765432100",
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "goal_definition": {
    "label": "Example",
    "type": "example",
    "options": "example"
  }
}

Update a tracker

Update Tracker by id.

Admin token

Needs a site admin token.

Path parameters
idstringRequired

The ID of the tracker.

Returns

Returns the Tracker object.

Status codes

200 400 401 404 500

PATCH/tracker/:id
curl -X PATCH 'http://dunav41.max-media.io/tracker/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "title": "Example",
  "unit": "example",
  "score_direction": "up",
  "additional_fields": [
    {
      "label": "Example",
      "type": "example",
      "options": [],
      "_id": "6543210fedcba98765432100"
    }
  ],
  "body": "Text shown on the site.",
  "video": "6543210fedcba98765432100",
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "goal_definition": {
    "label": "Example",
    "type": "example",
    "options": "example"
  }
}

Delete a tracker

Delete Tracker record by id.

Admin token

Needs a site admin token.

Path parameters
idstringRequired

The ID of the tracker.

Returns

Returns an empty answer on success.

Status codes

200 401 404 500

DELETE/tracker/:id
curl -X DELETE 'http://dunav41.max-media.io/tracker/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'

Retrieve the tracker progress

Returns the tracker progress.

Optional userUser token

Works without a token; with a user token the answer is personal.

Returns

Returns the TrackerProgress object.

Status codes

200 401 500

GET/tracker-progress
curl -X GET 'http://dunav41.max-media.io/tracker-progress?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "score": "example",
  "user_id": "6543210fedcba98765432100",
  "media": "example",
  "additional_fields": {},
  "goal": {},
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z"
}

Create a tracker progress

Create new tracker_progress.

User token

Needs the token of a signed-in user.

Parameters
bodystring

The tracker progress's body.

Returns

Returns the TrackerProgress object.

Status codes

201 400 401 500

POST/tracker-progress
curl -X POST 'http://dunav41.max-media.io/tracker-progress?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "body": "..." }'
Response
{
  "score": "example",
  "user_id": "6543210fedcba98765432100",
  "media": "example",
  "additional_fields": {},
  "goal": {},
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z"
}

Retrieve a tracker progress

Returns one tracker progress, found by its ID.

User token

Needs the token of a signed-in user.

Path parameters
idstringRequired

The ID of the tracker progress.

Returns

Returns the TrackerProgress object.

Status codes

200 401 404 500

GET/tracker-progress/:id
curl -X GET 'http://dunav41.max-media.io/tracker-progress/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "score": "example",
  "user_id": "6543210fedcba98765432100",
  "media": "example",
  "additional_fields": {},
  "goal": {},
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z"
}

Update a tracker progress

Update TrackerProgress by id.

User token

Needs the token of a signed-in user.

Path parameters
idstringRequired

The ID of the tracker progress.

Returns

Returns the TrackerProgress object.

Status codes

200 400 401 404 500

PATCH/tracker-progress/:id
curl -X PATCH 'http://dunav41.max-media.io/tracker-progress/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "score": "example",
  "user_id": "6543210fedcba98765432100",
  "media": "example",
  "additional_fields": {},
  "goal": {},
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z"
}

Delete a tracker progress

Delete TrackerProgress record by id.

User token

Needs the token of a signed-in user.

Path parameters
idstringRequired

The ID of the tracker progress.

Returns

Returns an empty answer on success.

Status codes

200 401 404 500

DELETE/tracker-progress/:id
curl -X DELETE 'http://dunav41.max-media.io/tracker-progress/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'

Create a program with AI

Create a program from a prompt, written by the AI builder.

User token

Needs the token of a signed-in user.

Parameters
promptstring

What the AI should do with the program, in plain words - any language.

chatIdstring

The AI chat this request belongs to; its history and language carry over. Leave it out to start a new chat.

aiVersionstring

Which version of the AI builder to use; leave it out for the current one.

item_idstring

The ID of the program to change.

Status codes

200 401 500

POST/create-new-program
curl -X POST 'http://dunav41.max-media.io/create-new-program?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "prompt": "...", "chatId": "...", "aiVersion": "...", "item_id": "..." }'
Response
{
  "chat_id": "6543210fedcba98765432100",
  "role": "user",
  "text": "Text shown on the site.",
  "target_url": "example-item",
  "action": "RESPONSE",
  "options": [
    "example"
  ],
  "medias": [
    {
      "media": "6543210fedcba98765432100",
      "gcs_url": "example-item",
      "gemini_uri": "example",
      "gemini_interaction_id": "example",
      "_id": "6543210fedcba98765432100"
    }
  ],
  "products": [
    "6543210fedcba98765432101"
  ],
  "services": [
    "6543210fedcba98765432101"
  ],
  "blogposts": [
    "6543210fedcba98765432101"
  ],
  "programs": [
    "6543210fedcba98765432101"
  ],
  "suggestions": [
    {
      "text": "Text shown on the site.",
      "route": "example",
      "item_id": "6543210fedcba98765432100",
      "medias": [],
      "picture": "6543210fedcba98765432100",
      "_id": "6543210fedcba98765432100"
    }
  ],
  "is_system": false,
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "data": {
    "object": "example",
    "object_type": "example",
    "edit_summary": "example",
    "edit_diff": "example",
    "undo_record": "example",
    "hero_animation_offer": "example",
    "preview_state": "example",
    "pending_credit_cost": 0,
    "target_restore": "example",
    "media_request": "example",
    "item_request": "example",
    "reference_request": "example"
  }
}

Generate a program with AI

Use it to create a new online course or program from scratch or a prompt.

User token

Needs the token of a signed-in user.

Parameters
promptstring

What the AI should do with the program, in plain words - any language.

chatIdstring

The AI chat this request belongs to; its history and language carry over. Leave it out to start a new chat.

Status codes

200 401 500

POST/generate-program
curl -X POST 'http://dunav41.max-media.io/generate-program?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "prompt": "...", "chatId": "..." }'

Modify a program with AI

Use it to edit or update an existing online course or program.

User token

Needs the token of a signed-in user.

Parameters
promptstring

What the AI should do with the program, in plain words - any language.

item_datastring

The current program, as JSON - the AI changes it and returns the result.

chatIdstring

The AI chat this request belongs to; its history and language carry over. Leave it out to start a new chat.

item_idstring

The ID of the program to change.

item_idsstring

The program's item ids.

Status codes

200 401 500

POST/modify-program
curl -X POST 'http://dunav41.max-media.io/modify-program?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "prompt": "...", "item_data": "...", "chatId": "...", "item_id": "...", "item_ids": "..." }'

Modify a tracker setting with AI

Use it to set up, configure, or update the built-in progress tracker.

User token

Needs the token of a signed-in user.

Parameters
promptstring

What the AI should do with the tracker setting, in plain words - any language.

chatIdstring

The AI chat this request belongs to; its history and language carry over. Leave it out to start a new chat.

aiVersionstring

Which version of the AI builder to use; leave it out for the current one.

item_idstring

The ID of the tracker setting to change.

Status codes

200 401 500

POST/modify-tracker-settings
curl -X POST 'http://dunav41.max-media.io/modify-tracker-settings?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "prompt": "...", "chatId": "...", "aiVersion": "...", "item_id": "..." }'
Response
{
  "chat_id": "6543210fedcba98765432100",
  "role": "user",
  "text": "Text shown on the site.",
  "target_url": "example-item",
  "action": "RESPONSE",
  "options": [
    "example"
  ],
  "medias": [
    {
      "media": "6543210fedcba98765432100",
      "gcs_url": "example-item",
      "gemini_uri": "example",
      "gemini_interaction_id": "example",
      "_id": "6543210fedcba98765432100"
    }
  ],
  "products": [
    "6543210fedcba98765432101"
  ],
  "services": [
    "6543210fedcba98765432101"
  ],
  "blogposts": [
    "6543210fedcba98765432101"
  ],
  "programs": [
    "6543210fedcba98765432101"
  ],
  "suggestions": [
    {
      "text": "Text shown on the site.",
      "route": "example",
      "item_id": "6543210fedcba98765432100",
      "medias": [],
      "picture": "6543210fedcba98765432100",
      "_id": "6543210fedcba98765432100"
    }
  ],
  "is_system": false,
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "data": {
    "object": "example",
    "object_type": "example",
    "edit_summary": "example",
    "edit_diff": "example",
    "undo_record": "example",
    "hero_animation_offer": "example",
    "preview_state": "example",
    "pending_credit_cost": 0,
    "target_restore": "example",
    "media_request": "example",
    "item_request": "example",
    "reference_request": "example"
  }
}
↑↓ Navigate↵ GoEsc Close