Thrive Global resets API
Thrive Reset video and audio content
Thrive Reset video and audio content
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/thrive-global-resets-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.0.0
info:
title: Thrive Global Partner audio experiences resets API
description: 'API for accessing Thrive Global content and features. All content endpoints require a Bearer token obtained via the authentication endpoint.
Response envelopes follow the pattern `{ message, valid, data }` where `data` contains the response payload. Collection endpoints nest items at a resource-specific path (e.g. `data.data.reset.thrive.get.items`).'
version: 1.7.0
contact:
name: Thrive Global
url: https://thriveglobal.com/contact/sales
servers:
- url: https://partners-api.thriveglobal.com
description: Production server
- url: https://partners-api-stag.thriveglobal.com
description: Staging server
tags:
- name: resets
description: Thrive Reset video and audio content
paths:
/v3/resets:
get:
operationId: getThriveResetsV3
tags:
- resets
summary: Get Thrive Resets with pagination, locale, search, and filters
security:
- BearerAuth: []
parameters:
- name: page
in: query
schema:
type: integer
default: 1
description: Page number
- name: limit
in: query
schema:
type: integer
default: 200
description: Items per page
- name: locale
in: query
schema:
type: string
default: en
description: Language locale (e.g. en, es, en-GB)
- name: search
in: query
schema:
type: string
description: Search resets by name
- name: random
in: query
schema:
type: string
enum:
- 'true'
- 'false'
description: Set to "true" for random ordering
- name: theme
in: query
schema:
type: string
description: Comma-separated theme filter
- name: tag
in: query
schema:
type: string
description: Comma-separated keyword/tag filter
- name: sort
in: query
schema:
type: string
description: Sort order
- name: filter
in: query
schema:
type: string
description: JSON filter object (merged with individual filter params)
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
message:
type: string
valid:
type: boolean
data:
type: object
properties:
data:
type: object
properties:
reset:
type: object
properties:
thrive:
type: object
properties:
get:
$ref: '#/components/schemas/ResetCollection'
'401':
description: Unauthorized — missing or invalid token
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/v2/resets:
get:
operationId: getAllResetsV2
tags:
- resets
summary: Get all Thrive Resets (v2) with locale support
security:
- BearerAuth: []
parameters:
- name: locale
in: query
schema:
type: string
default: en
description: Language locale (e.g. en, es, en-GB)
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
message:
type: string
valid:
type: boolean
data:
type: object
properties:
data:
type: object
properties:
reset:
type: object
properties:
thrive:
type: object
properties:
get:
$ref: '#/components/schemas/ResetCollection'
'401':
description: Unauthorized — missing or invalid token
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/v1/resets:
get:
operationId: getAllResetsV1
tags:
- resets
summary: Get all Thrive Resets (v1, static, 200 items)
security:
- BearerAuth: []
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
message:
type: string
valid:
type: boolean
data:
type: object
properties:
data:
type: object
properties:
reset:
type: object
properties:
thrive:
type: object
properties:
get:
$ref: '#/components/schemas/ResetCollection'
'401':
description: Unauthorized — missing or invalid token
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/v2/resets/audio:
get:
operationId: getAudioThriveResets
tags:
- resets
summary: Get audio Thrive Resets with pagination
security:
- BearerAuth: []
parameters:
- name: page
in: query
schema:
type: integer
default: 1
description: Page number
- name: limit
in: query
schema:
type: integer
default: 200
description: Items per page
- name: locale
in: query
schema:
type: string
default: en
description: Language locale (e.g. en, es, en-GB)
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
message:
type: string
valid:
type: boolean
data:
type: object
properties:
data:
type: object
properties:
reset:
type: object
properties:
audio:
type: object
properties:
thrive:
type: object
properties:
get:
$ref: '#/components/schemas/AudioResetCollection'
'401':
description: Unauthorized — missing or invalid token
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/v3/resets/{id}:
get:
operationId: getResetByIdV3
tags:
- resets
summary: Get a single reset by ID (v3)
security:
- BearerAuth: []
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
description: Unique identifier of the reset (UUID)
example: 550e8400-e29b-41d4-a716-446655440000
- name: locale
in: query
schema:
type: string
default: en
description: Language locale (e.g. en, es, en-GB)
responses:
'200':
description: Item retrieved successfully
content:
application/json:
schema:
type: object
properties:
message:
type: string
valid:
type: boolean
example: true
data:
type: object
properties:
data:
type: object
properties:
reset:
type: object
properties:
thrive:
type: object
properties:
item:
$ref: '#/components/schemas/ResetItem'
'401':
description: Unauthorized — missing or invalid token
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Item not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/v2/resets/{id}:
get:
operationId: getResetByIdV2
tags:
- resets
summary: Get a single reset by ID (v2)
security:
- BearerAuth: []
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
description: Unique identifier of the reset (UUID)
example: 550e8400-e29b-41d4-a716-446655440000
- name: locale
in: query
schema:
type: string
default: en
description: Language locale (e.g. en, es, en-GB)
responses:
'200':
description: Item retrieved successfully
content:
application/json:
schema:
type: object
properties:
message:
type: string
valid:
type: boolean
example: true
data:
type: object
properties:
data:
type: object
properties:
reset:
type: object
properties:
thrive:
type: object
properties:
item:
$ref: '#/components/schemas/ResetItem'
'401':
description: Unauthorized — missing or invalid token
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Item not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/v1/resets/{id}:
get:
operationId: getResetByIdV1
tags:
- resets
summary: Get a single reset by ID (v1)
security:
- BearerAuth: []
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
description: Unique identifier of the reset (UUID)
example: 550e8400-e29b-41d4-a716-446655440000
- name: locale
in: query
schema:
type: string
default: en
description: Language locale (e.g. en, es, en-GB)
responses:
'200':
description: Item retrieved successfully
content:
application/json:
schema:
type: object
properties:
message:
type: string
valid:
type: boolean
example: true
data:
type: object
properties:
data:
type: object
properties:
reset:
type: object
properties:
thrive:
type: object
properties:
item:
$ref: '#/components/schemas/ResetItem'
'401':
description: Unauthorized — missing or invalid token
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Item not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/v2/resets/audio/{id}:
get:
operationId: getAudioResetById
tags:
- resets
summary: Get a single audio reset by ID
security:
- BearerAuth: []
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
description: Unique identifier of the audio reset (UUID)
example: 550e8400-e29b-41d4-a716-446655440000
responses:
'200':
description: Item retrieved successfully
content:
application/json:
schema:
type: object
properties:
message:
type: string
valid:
type: boolean
example: true
data:
type: object
properties:
data:
type: object
properties:
reset:
type: object
properties:
audio:
type: object
properties:
thrive:
type: object
properties:
item:
$ref: '#/components/schemas/AudioResetItem'
'401':
description: Unauthorized — missing or invalid token
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Item not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
components:
schemas:
ResetKeyword:
type: object
properties:
keyword:
type: string
localized:
type: string
ResetThumbnails:
type: object
description: Responsive image URLs at multiple sizes.
properties:
xs:
type: string
nullable: true
format: uri
sm:
type: string
nullable: true
format: uri
md:
type: string
nullable: true
format: uri
lg:
type: string
nullable: true
format: uri
xl:
type: string
nullable: true
format: uri
ResetItem:
type: object
description: A Thrive Reset video.
required:
- id
- name
- resetType
- durationInSeconds
properties:
id:
type: string
format: uuid
name:
type: string
description:
type: string
resetType:
type: string
description: e.g. THRIVE_RESET_LONG, THRIVE_RESET_SHORT
durationInSeconds:
type: integer
locale:
type: string
partner:
type: string
nullable: true
landscape:
$ref: '#/components/schemas/ResetOrientation'
portrait:
$ref: '#/components/schemas/ResetOrientation'
manifestUrl:
type: string
nullable: true
format: uri
description: HLS manifest URL (.m3u8) for the landscape video
thumbnail:
type: string
nullable: true
format: uri
description: Thumbnail image URL
url:
type: string
nullable: true
format: uri
description: Embeddable player URL for the landscape video; matches `landscape.iframe`
themes:
type: array
items:
$ref: '#/components/schemas/ResetTheme'
keywords:
type: array
items:
$ref: '#/components/schemas/ResetKeyword'
cmsTags:
type: array
items:
type: object
properties:
name:
type: string
tags:
type: array
items:
oneOf:
- type: string
- $ref: '#/components/schemas/TaxonomyTerm'
description: On v2 and v3, always term objects. On v1, plain tag strings for most resets, term objects otherwise. The v1 endpoint also omits `durationInSeconds`/`locale`.
conditions:
type: array
items:
$ref: '#/components/schemas/TaxonomyTerm'
description: Health conditions associated with this reset. Currently always empty.
coreHealthBehaviors:
type: array
items:
$ref: '#/components/schemas/TaxonomyTerm'
description: Core health behaviors associated with this reset. Currently always empty.
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
ErrorResponse:
type: object
required:
- message
- valid
properties:
message:
type: string
valid:
type: boolean
example: false
AudioResetItem:
type: object
description: An audio Thrive Reset.
required:
- id
- title
- url
- durationInSeconds
properties:
id:
type: string
format: uuid
title:
type: string
author:
type: string
durationInSeconds:
type: integer
url:
type: string
format: uri
description: Direct MP3 URL
order:
type: integer
nullable: true
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
ResetTheme:
type: object
properties:
theme:
type: string
localized:
type: string
toThriveResetTag:
type: string
nullable: true
toLocalizedThriveResetTag:
type: object
nullable: true
properties:
localized:
type: string
value:
type: string
ResetOrientation:
type: object
description: Video orientation (landscape or portrait) with iframe URL, thumbnail, and optional HLS manifest.
properties:
iframe:
type: string
nullable: true
description: Player embed URL
thumbnail:
type: string
nullable: true
description: Thumbnail image URL
manifest:
type: string
nullable: true
description: HLS manifest URL (.m3u8)
thumbnails:
$ref: '#/components/schemas/ResetThumbnails'
TaxonomyTerm:
type: object
description: One shape for all taxonomy layers (`tags`, `conditions`, `coreHealthBehaviors`). `id` is the durable key — persist this, not `slug`. `slug` is the kebab-case machine key used in query-parameter filters and may change if the term is renamed. `name` is the display string.
required:
- id
- slug
- name
properties:
id:
type: string
nullable: true
description: Stable identifier for the term; null where none exists
slug:
type: string
example: sleep
name:
type: string
nullable: true
example: Sleep
ResetCollection:
type: object
description: Paginated collection of resets. Located at `data.data.reset.thrive.get` in the response.
properties:
items:
type: array
items:
$ref: '#/components/schemas/ResetItem'
total:
type: integer
page:
type: integer
itemsPerPage:
type: integer
hasMore:
type: boolean
description: Present on v2/v3 paginated responses
AudioResetCollection:
type: object
description: Paginated audio resets. Located at `data.data.reset.audio.thrive.get` in the response.
properties:
nodes:
type: array
items:
$ref: '#/components/schemas/AudioResetItem'
pageInfo:
type: object
properties:
endCursor:
type: string
nullable: true
hasNextPage:
type: boolean
hasPreviousPage:
type: boolean
startCursor:
type: string
nullable: true
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: x-api-key
BearerAuth:
type: http
scheme: bearer
bearerFormat: JWT