ODX/V4 API (v4)

Download OpenAPI specification:

Content

Get content list

query Parameters
types
string
Example: types=tv-series,clip,movie

Comma-separated list of content types (e.g. tv-series, clip, movie)

search
string

Text to search data

category
string
Example: category=drama

Filter by category slug

season_id
integer
Example: season_id=3

Season ID to filter content

season_slug
string
Example: season_slug=season-1

Season slug to filter content

order
string
Enum: "newest" "popularity"
Example: order=newest

Sort order of the content

page
integer

The default value is 1

page_size
integer

The default value is 10

header Parameters
Service-Name
required
string
Value: "amasian"
Accept-Language
string
Default: en
Enum: "ko" "en" "es" "zh-Hans" "zh-Hant" "zh-hans" "zh-hant" "pt"

"zh-Hans", "zh-Hant" is deprecated.

Responses

Response Schema: application/json
code
string (code)
title
string (title)
messages
object (messages)
object (OdxV4ContentPagination)
count
integer
next
string or null <uri>
previous
string or null <uri>
page_next
integer or null
page_previous
integer or null
page_size
integer
Array of objects (OdxV4ContentListItem)
Array
type
string
object (OdxV4ContentListData)

Response samples

Content type
application/json
{
  • "code": "string",
  • "title": "string",
  • "messages": { },
  • "result": {}
}

Get content detail

path Parameters
slug
required
string
header Parameters
Service-Name
required
string
Value: "amasian"
Accept-Language
string
Default: en
Enum: "ko" "en" "es" "zh-Hans" "zh-Hant" "zh-hans" "zh-hant" "pt"

"zh-Hans", "zh-Hant" is deprecated.

Responses

Response Schema: application/json
code
string (code)
title
string (title)
messages
object (messages)
object (OdxV4ContentDetail)
id
integer
title
string
slug
string
object (OdxV4Thumbnail)
id
integer
url
string <uri>
is_representative
boolean
orientation
string
language
string
object (OdxV4Poster)
id(Deprecated)
integer
url
string <uri>
is_representative(Deprecated)
boolean
orientation
string
language
string
synopsis
string
genres
string or null
duration
string or null
display_duration
string or null
object (OdxV4Season)
id
integer
title
string
slug
string
Array of objects (OdxV4Poster)
Array of objects (OdxV4Category)
Array
id
integer
title
string
slug
string
description
string or null
tags
Array of strings
Array of objects (OdxV4Cast)
Array
id
integer
name
string
name_en
string
slug
string
thumbnail
string
content_type
string
age_rating
string
dubbing_mode
boolean
episode_order
integer
release_year
integer
subtitles
Array of strings

Response samples

Content type
application/json
{}

Season

Get season list

query Parameters
category
string
Example: category=drama

Filter by category slug

search
string

Text to search data

series_id
integer
Example: series_id=5

Filter by series ID

page
integer

The default value is 1

page_size
integer

The default value is 10

header Parameters
Service-Name
required
string
Value: "amasian"
Accept-Language
string
Default: en
Enum: "ko" "en" "es" "zh-Hans" "zh-Hant" "zh-hans" "zh-hant" "pt"

"zh-Hans", "zh-Hant" is deprecated.

Responses

Response Schema: application/json
code
string (code)
title
string (title)
messages
object (messages)
object (OdxV4SeasonPagination)
count
integer
next
string or null <uri>
previous
string or null <uri>
page_next
integer or null
page_previous
integer or null
page_size
integer
Array of objects (OdxV4SeasonListItem)
Array
type
string
object (OdxV4SeasonListData)

Response samples

Content type
application/json
{}

Get Season detail

path Parameters
slug
required
string
header Parameters
Service-Name
required
string
Value: "amasian"
Accept-Language
string
Default: en
Enum: "ko" "en" "es" "zh-Hans" "zh-Hant" "zh-hans" "zh-hant" "pt"

"zh-Hans", "zh-Hant" is deprecated.

Responses

Response Schema: application/json
code
string (code)
title
string (title)
messages
object (messages)
object (OdxV4SeasonDetail)
id
integer
title
string
synopsis
string
slug
string
direct_play_content_id
integer
direct_play_content_slug
string
total_number_of_seasons
integer
dubbing_mode
boolean
Array of objects (OdxV4SeasonSummary)
Array
id
integer
title
string
slug
string
is_current_season
boolean
total_content_count
integer
season_order
integer
short_title
string
Array of objects (OdxV4Poster)
Array
id(Deprecated)
integer
url
string <uri>
is_representative(Deprecated)
boolean
orientation
string
language
string
object (OdxV4Poster)
id(Deprecated)
integer
url
string <uri>
is_representative(Deprecated)
boolean
orientation
string
language
string
subtitles
Array of strings
object (OdxV4SeriesInfo)
id
integer
title
string
slug
string
Array of objects (OdxV4Cast)
Array
id
integer
name
string
name_en
string
slug
string
thumbnail
string
Array of objects (OdxV4Category)
Array
id
integer
title
string
slug
string
description
string or null
Array of objects (OdxV4Tag)
Array
id
integer
title
string
slug
string
description
string
types_of_contents
Array of strings
release_date_start
string <date>
release_date_end
string or null <date>
release_year
integer
season_order
integer

Response samples

Content type
application/json
{
  • "code": "string",
  • "title": "string",
  • "messages": { },
  • "result": {
    }
}

Series

Get series list

query Parameters
category
string
Example: category=drama

Filter by category slug

search
string

Text to search data

page
integer

The default value is 1

page_size
integer

The default value is 10

header Parameters
Service-Name
required
string
Value: "amasian"
Accept-Language
string
Default: en
Enum: "ko" "en" "es" "zh-Hans" "zh-Hant" "zh-hans" "zh-hant" "pt"

"zh-Hans", "zh-Hant" is deprecated.

Responses

Response Schema: application/json
code
string (code)
title
string (title)
messages
object (messages)
object (OdxV4SeriesPagination)
count
integer
next
string or null <uri>
previous
string or null <uri>
page_next
integer or null
page_previous
integer or null
page_size
integer
Array of objects (OdxV4SeriesListItem)
Array
type
string
object (OdxV4SeriesListData)

Response samples

Content type
application/json
{}

Get series detail

path Parameters
slug
required
string
header Parameters
Service-Name
required
string
Value: "amasian"
Accept-Language
string
Default: en
Enum: "ko" "en" "es" "zh-Hans" "zh-Hant" "zh-hans" "zh-hant" "pt"

"zh-Hans", "zh-Hant" is deprecated.

Responses

Response Schema: application/json
code
string (code)
title
string (title)
messages
object (messages)
object (OdxV4SeasonDetail)
id
integer
title
string
synopsis
string
slug
string
direct_play_content_id
integer
direct_play_content_slug
string
total_number_of_seasons
integer
dubbing_mode
boolean
Array of objects (OdxV4SeasonSummary)
Array
id
integer
title
string
slug
string
is_current_season
boolean
total_content_count
integer
season_order
integer
short_title
string
Array of objects (OdxV4Poster)
Array
id(Deprecated)
integer
url
string <uri>
is_representative(Deprecated)
boolean
orientation
string
language
string
object (OdxV4Poster)
id(Deprecated)
integer
url
string <uri>
is_representative(Deprecated)
boolean
orientation
string
language
string
subtitles
Array of strings
object (OdxV4SeriesInfo)
id
integer
title
string
slug
string
Array of objects (OdxV4Cast)
Array
id
integer
name
string
name_en
string
slug
string
thumbnail
string
Array of objects (OdxV4Category)
Array
id
integer
title
string
slug
string
description
string or null
Array of objects (OdxV4Tag)
Array
id
integer
title
string
slug
string
description
string
types_of_contents
Array of strings
release_date_start
string <date>
release_date_end
string or null <date>
release_year
integer
season_order
integer

Response samples

Content type
application/json
{
  • "code": "string",
  • "title": "string",
  • "messages": { },
  • "result": {
    }
}

Category

Get category's contents(series and movies)

path Parameters
slug
required
string

Responses

Response Schema: application/json
code
string (code)
title
string (title)
messages
object (messages)
object (OdxV4CategoryContentsPagination)
count
integer
next
string or null <uri>
previous
string or null <uri>
page_next
integer or null
page_previous
integer or null
page_size
integer
Array of OdxV4SeriesListItem (object) or OdxV4ContentListItem (object)
Array
One of
type
string
object (OdxV4SeriesListData)

Response samples

Content type
application/json
{}

Carousel

Get active carousel group

header Parameters
Service-Name
required
string
Value: "amasian"
Accept-Language
string
Default: en
Enum: "ko" "en" "es" "zh-Hans" "zh-Hant" "zh-hans" "zh-hant" "pt"

"zh-Hans", "zh-Hant" is deprecated.

Responses

Response Schema: application/json
code
string (code)
title
string (title)
messages
object (messages)
object (OdxV4CarouselGroupList)
browser
string
channel
string

Response samples

Content type
application/json
{
  • "code": "string",
  • "title": "string",
  • "messages": { },
  • "result": {
    }
}

Get Carousel Browser Group

header Parameters
Service-Name
required
string
Value: "amasian"
Accept-Language
string
Default: en
Enum: "ko" "en" "es" "zh-Hans" "zh-Hant" "zh-hans" "zh-hant" "pt"

"zh-Hans", "zh-Hant" is deprecated.

Responses

Response Schema: application/json
code
string (code)
title
string (title)
messages
object (messages)
object (OdxV4CarouseGrouplList)
code
string
title
string
messages
object
object
refresh_time
integer
Array of objects (OdxV4CarouselGroup)

Response samples

Content type
application/json
{
  • "code": "string",
  • "title": "string",
  • "messages": { },
  • "result": {
    }
}

Get Carousel List

query Parameters
page
integer

The default value is 1

page_size
integer

The default value is 10

header Parameters
Service-Name
required
string
Value: "amasian"
Accept-Language
string
Default: en
Enum: "ko" "en" "es" "zh-Hans" "zh-Hant" "zh-hans" "zh-hant" "pt"

"zh-Hans", "zh-Hant" is deprecated.

Authorization
string
Example: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

Bearer JWT access token (optional). When provided, user-based data is used.

did
string
Example: test-device-001

Device ID

Responses

Response Schema: application/json
code
string (code)
title
string (title)
messages
object (messages)
object (OdxV4CarouselList)
count
integer
next
string or null <uri>
previous
string or null <uri>
page_next
integer or null
page_previous
integer or null
page_size
integer
Array of objects (OdxV4CarouselItem)
Array
type
string
Enum: "content" "series" "season"
object (OdxV4CarouselData)

Response samples

Content type
application/json
{}

Get Carousel Channel Group

header Parameters
Service-Name
required
string
Value: "amasian"
Accept-Language
string
Default: en
Enum: "ko" "en" "es" "zh-Hans" "zh-Hant" "zh-hans" "zh-hant" "pt"

"zh-Hans", "zh-Hant" is deprecated.

Responses

Response Schema: application/json
code
string (code)
title
string (title)
messages
object (messages)
Array of objects (OdxV4CarouselChannelGroup)
Array
id
integer
title
string
slug
string
image_orientation
string
Enum: "landscape" "portrait"

Response samples

Content type
application/json
{
  • "code": "string",
  • "title": "string",
  • "messages": { },
  • "result": [
    ]
}

Get Carousel Channel

header Parameters
Service-Name
required
string
Value: "amasian"
Accept-Language
string
Default: en
Enum: "ko" "en" "es" "zh-Hans" "zh-Hant" "zh-hans" "zh-hant" "pt"

"zh-Hans", "zh-Hant" is deprecated.

Responses

Response Schema: application/json
code
string (code)
title
string (title)
messages
object (messages)
object (OdxV4CarouselChannelList)
count
integer
next
string or null <uri>
previous
string or null <uri>
page_next
integer or null
page_previous
integer or null
page_size
integer
Array of OdxV4CarouselChannelItem (object) or OdxV4CarouselMultiChannelItem (object)
Array
One of
type
string
object (OdxV4CarouselChannelData)

Response samples

Content type
application/json
{
  • "code": "string",
  • "title": "string",
  • "messages": { },
  • "result": {
    }
}

Cover

Get cover list

header Parameters
Service-Name
required
string
Value: "amasian"
Accept-Language
string
Default: en
Enum: "ko" "en" "es" "zh-Hans" "zh-Hant" "zh-hans" "zh-hant" "pt"

"zh-Hans", "zh-Hant" is deprecated.

Responses

Response Schema: application/json
code
string (code)
title
string (title)
messages
object (messages)
object (OdxV4CoverPagination)
count
integer
next
string or null <uri>
previous
string or null <uri>
page_next
integer or null
page_previous
integer or null
page_size
integer
Array of objects (OdxV4Cover)
Array
id
integer
slug
string
rolling_time
integer

Milliseconds to roll between cover items

refresh_time
integer
type
string
Enum: "home" "category" "channel" "series"
enabled
boolean

Response samples

Content type
application/json
{}

Get cover detail

path Parameters
slug
required
string
header Parameters
Service-Name
required
string
Value: "amasian"
Accept-Language
string
Default: en
Enum: "ko" "en" "es" "zh-Hans" "zh-Hant" "zh-hans" "zh-hant" "pt"

"zh-Hans", "zh-Hant" is deprecated.

Responses

Response Schema: application/json
code
string (code)
title
string (title)
messages
object (messages)
object (OdxV4CoverDetail)
id
integer
slug
string
rolling_time
integer
type
string
Enum: "home" "category" "channel" "series"
enabled
boolean
Array of objects (OdxV4CoverItem)
Array
title
string
title_image
string or null <uri>
object
type
string
content_type
string

Shows content type ('movie' or 'tv-series') only when type is 'content'

description
string or null
call_to_action
string or null
video
string or null <uri>
order
integer
content_id
integer
season_id
integer or null
series_id
integer or null
channel_id
integer or null
multichannel_id
integer or null
content_slug
string
season_slug
string or null
series_slug
string or null
channel_slug
string or null
multichannel_slug
string or null
landing_option
string

'info' or 'play'

Response samples

Content type
application/json
{
  • "code": "string",
  • "title": "string",
  • "messages": { },
  • "result": {
    }
}

Playback

Get playback data

path Parameters
content_id
required
integer
header Parameters
Service-Name
required
string
Value: "amasian"
Accept-Language
string
Default: en
Enum: "ko" "en" "es" "zh-Hans" "zh-Hant" "zh-hans" "zh-hant" "pt"

"zh-Hans", "zh-Hant" is deprecated.

Responses

Response Schema: application/json
code
string (code)
title
string (title)
messages
object (messages)
object (OdxV4Playback)
duration
integer

Duration in milliseconds

id
integer
Array of objects (OdxV4CuePoint)
Array
metadata
string
name
string
type
string
timecode
number <float>
manifests
Array of objects
is_chromecast_able
boolean
ad_tag
string or null
object
is_last_episode
boolean
title
string
content_id
integer
content_slug
string
thumbnail
string <uri>
season_id
integer
season_slug
string
series_id
integer
series_slug
string

Response samples

Content type
application/json
{
  • "code": "string",
  • "title": "string",
  • "messages": { },
  • "result": {
    }
}

Channels

Get list of channels grouped by sections

header Parameters
Service-Name
required
string
Value: "amasian"
Accept-Language
string
Default: en
Enum: "ko" "en" "es" "zh-Hans" "zh-Hant" "zh-hans" "zh-hant" "pt"

"zh-Hans", "zh-Hant" is deprecated.

Responses

Response Schema: application/json
code
string (code)
title
string (title)
messages
object (messages)
Array of objects (OdxV4ChannelSectionList)
Array
slug
string
title
string
order
integer
Array of objects (OdxV4ChannelInfo)

Response samples

Content type
application/json
{
  • "code": "string",
  • "title": "string",
  • "messages": { },
  • "result": [
    ]
}

Get EPG list for specific channels

query Parameters
channel_ids
required
string

Comma-separated list of channel IDs (e.g. 1,2,3)

header Parameters
Service-Name
required
string
Value: "amasian"
Accept-Language
string
Default: en
Enum: "ko" "en" "es" "zh-Hans" "zh-Hant" "zh-hans" "zh-hant" "pt"

"zh-Hans", "zh-Hant" is deprecated.

Responses

Response Schema: application/json
code
string (code)
title
string (title)
messages
object (messages)
object (OdxV4ChannelEpgResult)
start_time
string <date-time>
column_size
integer
column
integer
Array of objects (OdxV4ChannelEpgItem)
Array
id
integer
epgs
Array of objects

Response samples

Content type
application/json
{
  • "code": "string",
  • "title": "string",
  • "messages": { },
  • "result": {
    }
}

Search

Search

query Parameters
q
required
string

search term

header Parameters
Service-Name
required
string
Value: "amasian"
Accept-Language
string
Default: en
Enum: "ko" "en" "es" "zh-Hans" "zh-Hant" "zh-hans" "zh-hant" "pt"

"zh-Hans", "zh-Hant" is deprecated.

Responses

Response Schema: application/json
code
string (code)
title
string (title)
messages
object (messages)
object (OdxV4SearchResult)
Array of objects (OdxV4SearchResultItem)
Array
type
string
object
auto_complete
Array of strings

Response samples

Content type
application/json
{}

Recommendation

Recommendation

Responses

Response Schema: application/json
code
string (code)
title
string (title)
messages
object (messages)
Array of objects (OdxV4RecommendationItem)
Array
type
string
Enum: "series" "content"
object

Response samples

Content type
application/json
{}

User Auth

Request sign-up verification code

header Parameters
Service-Name
required
string
Value: "amasian"
X-Device-Type
string
Enum: "web" "mobile" "tablet" "ctv"

Device type (e.g. web, mobile, tablet, ctv)

Request Body schema: application/json
required
email
required
string <email>

Responses

Response Schema: application/json
code
string (code)
title
string (title)
messages
object (messages)
object
message
string
email
string

Request samples

Content type
application/json
{
  • "email": "user@example.com"
}

Response samples

Content type
application/json
{
  • "code": "string",
  • "title": "string",
  • "messages": { },
  • "result": {
    }
}

Verify sign-up code

header Parameters
Service-Name
required
string
Value: "amasian"
Request Body schema: application/json
required
email
required
string <email>
code
required
string = 6 characters

Responses

Response Schema: application/json
code
string (code)
title
string (title)
messages
object (messages)
object
message
string
email
string
verified
boolean

Request samples

Content type
application/json
{
  • "email": "user@example.com",
  • "code": "string"
}

Response samples

Content type
application/json
{
  • "code": "string",
  • "title": "string",
  • "messages": { },
  • "result": {
    }
}

Complete sign-up with password

Sets refresh_token cookie on success.

header Parameters
Service-Name
required
string
Value: "amasian"
did
string
Example: test-device-001

Device ID

X-Device-Type
string
Enum: "web" "mobile" "tablet" "ctv"

Device type (e.g. web, mobile, tablet, ctv)

Request Body schema: application/json
required
email
required
string <email>
password
required
string >= 8 characters
display_name
string <= 100 characters

Responses

Response Schema: application/json
code
string (code)
title
string (title)
messages
object (messages)
object (AmasianAuthResponse)
access_token
string
object (AmasianUser)
id
integer
uuid
string <uuid>
email
string <email>
display_name
string
is_email_verified
boolean
merge_needed
boolean

Whether device data merge is needed after login

Request samples

Content type
application/json
{
  • "email": "user@example.com",
  • "password": "stringst",
  • "display_name": "string"
}

Response samples

Content type
application/json
{
  • "code": "string",
  • "title": "string",
  • "messages": { },
  • "result": {
    }
}

Resend sign-up verification code

header Parameters
Service-Name
required
string
Value: "amasian"
Request Body schema: application/json
required
email
required
string <email>

Responses

Response Schema: application/json
code
string (code)
title
string (title)
messages
object (messages)
object
message
string
email
string

Request samples

Content type
application/json
{
  • "email": "user@example.com"
}

Response samples

Content type
application/json
{
  • "code": "string",
  • "title": "string",
  • "messages": { },
  • "result": {
    }
}

Sign in with email and password

Sets refresh_token cookie on success.

header Parameters
Service-Name
required
string
Value: "amasian"
did
string
Example: test-device-001

Device ID

X-Device-Type
string
Enum: "web" "mobile" "tablet" "ctv"

Device type (e.g. web, mobile, tablet, ctv)

Request Body schema: application/json
required
email
required
string <email>
password
required
string

Responses

Response Schema: application/json
code
string (code)
title
string (title)
messages
object (messages)
object (AmasianAuthResponse)
access_token
string
object (AmasianUser)
id
integer
uuid
string <uuid>
email
string <email>
display_name
string
is_email_verified
boolean
merge_needed
boolean

Whether device data merge is needed after login

Request samples

Content type
application/json
{
  • "email": "user@example.com",
  • "password": "string"
}

Response samples

Content type
application/json
{
  • "code": "string",
  • "title": "string",
  • "messages": { },
  • "result": {
    }
}

Sign out (invalidate current session)

Deletes refresh_token cookie.

header Parameters
Authorization
required
string
Example: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

Bearer JWT access token (e.g. Bearer eyJhbG...)

Service-Name
required
string
Value: "amasian"

Responses

Refresh access token

Uses refresh_token from cookie. Sets new refresh_token cookie.

header Parameters
Service-Name
required
string
Value: "amasian"
did
string
Example: test-device-001

Device ID

Responses

Response Schema: application/json
code
string (code)
title
string (title)
messages
object (messages)
object (AmasianAuthResponse)
access_token
string
object (AmasianUser)
id
integer
uuid
string <uuid>
email
string <email>
display_name
string
is_email_verified
boolean
merge_needed
boolean

Whether device data merge is needed after login

Response samples

Content type
application/json
{
  • "code": "string",
  • "title": "string",
  • "messages": { },
  • "result": {
    }
}

Check if email is registered

query Parameters
email
required
string <email>
header Parameters
Service-Name
required
string
Value: "amasian"

Responses

Response Schema: application/json
code
string (code)
title
string (title)
messages
object (messages)
object (AmasianRegistrationStatus)
registered
boolean
login_methods
Array of strings

Response samples

Content type
application/json
{
  • "code": "string",
  • "title": "string",
  • "messages": { },
  • "result": {
    }
}

Request password reset email

header Parameters
Service-Name
required
string
Value: "amasian"
Request Body schema: application/json
required
email
required
string <email>

Responses

Response Schema: application/json
code
string (code)
title
string (title)
messages
object (messages)
object
message
string

Request samples

Content type
application/json
{
  • "email": "user@example.com"
}

Response samples

Content type
application/json
{
  • "code": "string",
  • "title": "string",
  • "messages": { },
  • "result": {
    }
}

Reset password with token

header Parameters
Service-Name
required
string
Value: "amasian"
Request Body schema: application/json
required
token
required
string
new_password
required
string >= 8 characters

Responses

Response Schema: application/json
code
string (code)
title
string (title)
messages
object (messages)
object
message
string

Request samples

Content type
application/json
{
  • "token": "string",
  • "new_password": "stringst"
}

Response samples

Content type
application/json
{
  • "code": "string",
  • "title": "string",
  • "messages": { },
  • "result": {
    }
}

Request CTV activation code

CTV device requests an activation code for login.

header Parameters
Service-Name
required
string
Value: "amasian"
did
required
string
Example: test-device-001

Device ID (required for anonymous users)

X-Device-Type
string
Enum: "web" "mobile" "tablet" "ctv"

Device type (e.g. web, mobile, tablet, ctv)

Responses

Response Schema: application/json
code
string (code)
title
string (title)
messages
object (messages)
object
code
string
expires_in
integer

Expiration time in seconds

activation_url
string <uri>
qr_url
string <uri>

Response samples

Content type
application/json
{}

Poll CTV activation status

CTV device polls for activation confirmation. Returns tokens when confirmed.

query Parameters
code
required
string
Example: code=ACDF3467

Activation code (case-insensitive)

header Parameters
Service-Name
required
string
Value: "amasian"

Responses

Response Schema: application/json
code
string (code)
title
string (title)
messages
object (messages)
object
status
string
Enum: "pending" "confirmed"
access_token
string

Only present when status is confirmed

refresh_token
string

Only present when status is confirmed

object (AmasianUser)
id
integer
uuid
string <uuid>
email
string <email>
display_name
string
is_email_verified
boolean

Response samples

Content type
application/json
{
  • "code": "string",
  • "title": "string",
  • "messages": { },
  • "result": {
    }
}

Confirm CTV activation from web/mobile

Authenticated user confirms CTV device activation code.

header Parameters
Authorization
required
string
Example: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

Bearer JWT access token (e.g. Bearer eyJhbG...)

Service-Name
required
string
Value: "amasian"
X-Device-Type
string
Enum: "web" "mobile" "tablet" "ctv"

Device type (e.g. web, mobile, tablet, ctv)

Request Body schema: application/json
required
code
required
string

Activation code (case-insensitive)

Responses

Response Schema: application/json
code
string (code)
title
string (title)
messages
object (messages)
object
message
string

Request samples

Content type
application/json
{
  • "code": "string"
}

Response samples

Content type
application/json
{
  • "code": "string",
  • "title": "string",
  • "messages": { },
  • "result": {
    }
}

Social Auth

Sign in with Google

Sets refresh_token cookie on success.

header Parameters
Service-Name
required
string
Value: "amasian"
did
string
Example: test-device-001

Device ID

X-Device-Type
string
Enum: "web" "mobile" "tablet" "ctv"

Device type (e.g. web, mobile, tablet, ctv)

Request Body schema: application/json
required
id_token
required
string

Google ID token

Responses

Response Schema: application/json
code
string (code)
title
string (title)
messages
object (messages)
object (AmasianSocialAuthResponse)
access_token
string
object (AmasianUser)
id
integer
uuid
string <uuid>
email
string <email>
display_name
string
is_email_verified
boolean
merge_needed
boolean

Whether device data merge is needed after login

is_new_user
boolean
auto_linked
boolean

Whether existing email account was auto-linked

Request samples

Content type
application/json
{
  • "id_token": "string"
}

Response samples

Content type
application/json
{
  • "code": "string",
  • "title": "string",
  • "messages": { },
  • "result": {
    }
}

Sign in with Apple

Sets refresh_token cookie on success.

header Parameters
Service-Name
required
string
Value: "amasian"
did
string
Example: test-device-001

Device ID

X-Device-Type
string
Enum: "web" "mobile" "tablet" "ctv"

Device type (e.g. web, mobile, tablet, ctv)

Request Body schema: application/json
required
id_token
required
string

Apple ID token

name
string <= 100 characters

User name (optional, first sign-in only)

Responses

Response Schema: application/json
code
string (code)
title
string (title)
messages
object (messages)
object (AmasianSocialAuthResponse)
access_token
string
object (AmasianUser)
id
integer
uuid
string <uuid>
email
string <email>
display_name
string
is_email_verified
boolean
merge_needed
boolean

Whether device data merge is needed after login

is_new_user
boolean
auto_linked
boolean

Whether existing email account was auto-linked

Request samples

Content type
application/json
{
  • "id_token": "string",
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "code": "string",
  • "title": "string",
  • "messages": { },
  • "result": {
    }
}

User Account

Get user profile

header Parameters
Authorization
required
string
Example: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

Bearer JWT access token (e.g. Bearer eyJhbG...)

Service-Name
required
string
Value: "amasian"

Responses

Response Schema: application/json
code
string (code)
title
string (title)
messages
object (messages)
object (AmasianProfile)
id
integer
uuid
string <uuid>
email
string <email>
display_name
string
is_email_verified
boolean
created
string <date-time>

Response samples

Content type
application/json
{
  • "code": "string",
  • "title": "string",
  • "messages": { },
  • "result": {
    }
}

Update user profile

header Parameters
Authorization
required
string
Example: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

Bearer JWT access token (e.g. Bearer eyJhbG...)

Service-Name
required
string
Value: "amasian"
Request Body schema: application/json
required
display_name
string <= 100 characters

Responses

Response Schema: application/json
code
string (code)
title
string (title)
messages
object (messages)
object (AmasianProfile)
id
integer
uuid
string <uuid>
email
string <email>
display_name
string
is_email_verified
boolean
created
string <date-time>

Request samples

Content type
application/json
{
  • "display_name": "string"
}

Response samples

Content type
application/json
{
  • "code": "string",
  • "title": "string",
  • "messages": { },
  • "result": {
    }
}

Get linked social accounts

header Parameters
Authorization
required
string
Example: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

Bearer JWT access token (e.g. Bearer eyJhbG...)

Service-Name
required
string
Value: "amasian"

Responses

Response Schema: application/json
code
string (code)
title
string (title)
messages
object (messages)
Array of objects (AmasianLinkedAccount)
Array
type
string
Enum: "google" "apple" "email"
email
string
is_primary
boolean
linked_at
string or null <date-time>

Response samples

Content type
application/json
{
  • "code": "string",
  • "title": "string",
  • "messages": { },
  • "result": [
    ]
}

Unlink social account

path Parameters
provider
required
string
Enum: "google" "apple"

Social login provider

header Parameters
Authorization
required
string
Example: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

Bearer JWT access token (e.g. Bearer eyJhbG...)

Service-Name
required
string
Value: "amasian"

Responses

Response Schema: application/json
code
string (code)
title
string (title)
messages
object (messages)
object
message
string

Response samples

Content type
application/json
{
  • "code": "string",
  • "title": "string",
  • "messages": { },
  • "result": {
    }
}

Change password

Deletes refresh_token cookie after success.

header Parameters
Authorization
required
string
Example: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

Bearer JWT access token (e.g. Bearer eyJhbG...)

Service-Name
required
string
Value: "amasian"
Request Body schema: application/json
required
current_password
required
string
new_password
required
string >= 8 characters

Responses

Response Schema: application/json
code
string (code)
title
string (title)
messages
object (messages)
object
message
string

Request samples

Content type
application/json
{
  • "current_password": "string",
  • "new_password": "stringst"
}

Response samples

Content type
application/json
{
  • "code": "string",
  • "title": "string",
  • "messages": { },
  • "result": {
    }
}

Request email change (sends verification code)

header Parameters
Authorization
required
string
Example: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

Bearer JWT access token (e.g. Bearer eyJhbG...)

Service-Name
required
string
Value: "amasian"
Request Body schema: application/json
required
new_email
required
string <email>

Responses

Response Schema: application/json
code
string (code)
title
string (title)
messages
object (messages)
object
message
string

Request samples

Content type
application/json
{
  • "new_email": "user@example.com"
}

Response samples

Content type
application/json
{
  • "code": "string",
  • "title": "string",
  • "messages": { },
  • "result": {
    }
}

Verify email change code

header Parameters
Authorization
required
string
Example: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

Bearer JWT access token (e.g. Bearer eyJhbG...)

Service-Name
required
string
Value: "amasian"
Request Body schema: application/json
required
code
required
string = 6 characters

Responses

Response Schema: application/json
code
string (code)
title
string (title)
messages
object (messages)
object
message
string

Request samples

Content type
application/json
{
  • "code": "string"
}

Response samples

Content type
application/json
{
  • "code": "string",
  • "title": "string",
  • "messages": { },
  • "result": {
    }
}

Sign out from all devices

Deletes refresh_token cookie.

header Parameters
Authorization
required
string
Example: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

Bearer JWT access token (e.g. Bearer eyJhbG...)

Service-Name
required
string
Value: "amasian"

Responses

Response Schema: application/json
code
string (code)
title
string (title)
messages
object (messages)
object
message
string

Response samples

Content type
application/json
{
  • "code": "string",
  • "title": "string",
  • "messages": { },
  • "result": {
    }
}

Delete user account

For email accounts, provide password. For social-only accounts, provide provider and id_token. Deletes refresh_token cookie.

header Parameters
Authorization
required
string
Example: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

Bearer JWT access token (e.g. Bearer eyJhbG...)

Service-Name
required
string
Value: "amasian"
Request Body schema: application/json
required
password
string

Required for email-based accounts

provider
string
Enum: "google" "apple"

Required for social-only accounts

id_token
string

Required for social-only accounts

Responses

Response Schema: application/json
code
string (code)
title
string (title)
messages
object (messages)
object
message
string

Request samples

Content type
application/json
{
  • "password": "string",
  • "provider": "google",
  • "id_token": "string"
}

Response samples

Content type
application/json
{
  • "code": "string",
  • "title": "string",
  • "messages": { },
  • "result": {
    }
}

Merge two user accounts

Merge a secondary account into the current (primary) account. Provide either email+password or provider+id_token for the secondary account.

header Parameters
Authorization
required
string
Example: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

Bearer JWT access token (e.g. Bearer eyJhbG...)

Service-Name
required
string
Value: "amasian"
Request Body schema: application/json
required
email
string <email>

Secondary account email (for email merge)

password
string

Secondary account password (for email merge)

provider
string
Enum: "google" "apple"

Social provider (for social merge)

id_token
string

Social ID token (for social merge)

Responses

Response Schema: application/json
code
string (code)
title
string (title)
messages
object (messages)
object
message
string

Request samples

Content type
application/json
{
  • "email": "user@example.com",
  • "password": "string",
  • "provider": "google",
  • "id_token": "string"
}

Response samples

Content type
application/json
{
  • "code": "string",
  • "title": "string",
  • "messages": { },
  • "result": {
    }
}

Merge device data (favorites, CW) to user account

Merges device-based favorites and continue watching data into the authenticated user's account. Should be called after sign-in when merge_needed is true.

header Parameters
Authorization
required
string
Example: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

Bearer JWT access token (e.g. Bearer eyJhbG...)

Service-Name
required
string
Value: "amasian"
did
string
Example: test-device-001

Device ID

X-Device-Type
string
Enum: "web" "mobile" "tablet" "ctv"

Device type (e.g. web, mobile, tablet, ctv)

Responses

Response Schema: application/json
code
string (code)
title
string (title)
messages
object (messages)
object
success
boolean
device_id
string

Response samples

Content type
application/json
{
  • "code": "string",
  • "title": "string",
  • "messages": { },
  • "result": {
    }
}

Favorites

Get favorites list

Returns user-based favorites when authenticated, device-based favorites otherwise.

header Parameters
Authorization
string
Example: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

Bearer JWT access token (optional). When provided, user-based data is used.

did
string
Example: test-device-001

Device ID

Service-Name
required
string
Value: "amasian"

Responses

Response Schema: application/json
code
string (code)
title
string (title)
messages
object (messages)
Array of objects (AmasianFavoriteItem)
Array
id
integer
source_id
integer
type
string
Enum: "content" "season" "channel"
device_id
string or null
created
string <date-time>

Response samples

Content type
application/json
{
  • "code": "string",
  • "title": "string",
  • "messages": { },
  • "result": [
    ]
}

Add item to favorites

Saves with user FK when authenticated, device_id when anonymous.

header Parameters
Authorization
string
Example: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

Bearer JWT access token (optional). When provided, user-based data is used.

did
string
Example: test-device-001

Device ID

Service-Name
required
string
Value: "amasian"
Request Body schema: application/json
required
source_id
required
integer

ID of the content/season/channel

type
required
string
Enum: "content" "season" "channel"

Responses

Request samples

Content type
application/json
{
  • "source_id": 0,
  • "type": "content"
}

Remove from favorites

header Parameters
Authorization
string
Example: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

Bearer JWT access token (optional). When provided, user-based data is used.

did
string
Example: test-device-001

Device ID

Service-Name
required
string
Value: "amasian"
Request Body schema: application/json
required
source_id
required
integer
type
required
string
Enum: "content" "season" "channel"

Responses

Request samples

Content type
application/json
{
  • "source_id": 0,
  • "type": "content"
}

Continue Watching

Save continue watching progress

Saves viewing progress to Redis. When authenticated, saves under user UUID key. When anonymous, saves under device_id key.

header Parameters
Authorization
string
Example: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

Bearer JWT access token (optional). When provided, user-based data is used.

did
string
Example: test-device-001

Device ID

Service-Name
required
string
Value: "amasian"
Request Body schema: application/json
required
content_id
required
integer >= 1

Content ID

last_position
required
integer >= 0

Last viewing position in seconds

Responses

Response Schema: application/json
code
string (code)
title
string (title)
messages
object (messages)
object
success
boolean
message
string
object
cache_key
string
content_id
integer
last_position
integer
updated
integer
device_id
string

Request samples

Content type
application/json
{
  • "content_id": 1,
  • "last_position": 0
}

Response samples

Content type
application/json
{
  • "code": "string",
  • "title": "string",
  • "messages": { },
  • "result": {
    }
}