YouVersion PlatformYouVersion Platform
PlatformBiblesDev Docs
CommunityPartnersSupport

YouVersion Platform

Build applications and integrate with the world's most popular Bible platform.

Platform Products

  • Platform Portal
  • Developer Documentation
  • App Management

Resources

  • Support
  • Press inquiries

Legal

  • Privacy Policy
  • Terms of Use

© 2026 YouVersion. All rights reserved.

  • Overview
  • API Reference
  • SDKs
  • Changelog
<  Back to Platform
data exchange
    Show the data exchange approval page.getComplete the data exchange approval flow.postCreate a data exchange token.post
bibles
    Get a Bible collectiongetGet a Bible's datagetGet the index for a BiblegetGet a passage of Bible textgetGet a Book collection for a BiblegetGet a Book's datagetGet a Chapter collection for a BookgetGet a Chapter's datagetGet a Verse collection for a ChaptergetGet a Verse's dataget
fonts
    Get a collection of fonts supported in the Platform.getGet details about a specific font family in the Platform.getGet a browser-consumable stylesheet for a specific font family.get
highlights
    Get a collection of highlights for a user.getCreate or update a highlight on a passage.postDelete a highlight.delete
languages
    Get a collection of languages supported in the Platform.getGet details about a specific language in the Platform.get
licenses
    Get a collection of licensesget
organizations
    Get a collection of organizations in the Platform.getGet details about a specific organization in the Platform.getGet bibles associated with a specific organization in the Platform.getGet video playlists associated with a specific organization in the Platform.getGet an organization video playlist by id.get
verse of the days
    Get the verse of the day calendar for an entire year.getGet the verse of the day for a specific day of the year.get
apps
    Get details about a specific app in the Platform.get
Schemas
Transformers
Transformers

data exchange

Endpoint

Provides short-lived tokens and browser redirect flows for app data exchange.


Show the data exchange approval page.

GET
https://api.youversion.com
/data-exchange

Returns the browser-rendered data exchange approval page for a short-lived token. The app should first create a token with POST /data-exchange/token, then open this URL in the user's browser with the token and app context. The page lets the user review the requested permissions before approving or cancelling the exchange.

Show the data exchange approval page. › query Parameters

token
​string · required

Short-lived data exchange token created by POST /data-exchange/token.

x-yvp-app-key
​string

Public app key used to resolve the app for direct browser flows.

x-yvp-app-id
​string · uuid

App identifier used when a public app key is not supplied.

Show the data exchange approval page. › Responses

Data exchange approval page rendered as HTML.

string
GET/data-exchange
curl --request GET \ --url 'https://api.youversion.com/data-exchange?token=%3Cstring%3E'
shell
Example Responses
string
html
text/html

Complete the data exchange approval flow.

POST
https://api.youversion.com
/data-exchange

Completes the browser approval flow and redirects the browser to the app's configured callback URL. When approval succeeds, the callback receives data_exchange_status=granted and granted_permissions. When the user cancels from the approval page, the callback receives data_exchange_status=cancelled, denied_permissions, and error=access_denied. Recoverable errors after a safe callback is known redirect with data_exchange_status=error, error, and error_description.

Complete the data exchange approval flow. › query Parameters

token
​string

Short-lived data exchange token created by POST /data-exchange/token.

x-yvp-app-key
​string

Public app key used to resolve the app when a token is not supplied.

x-yvp-app-id
​string · uuid

App identifier used when a public app key is not supplied.

Complete the data exchange approval flow. › Headers

Authorization
​string

Bearer access token used only by clients that complete the flow without a token.

Complete the data exchange approval flow. › Responses

Redirects to the app callback URL with the data exchange result.

No data returned
POST/data-exchange
curl --request POST \ --url https://api.youversion.com/data-exchange
shell
Example Responses
No example specified for this content type

Create a data exchange token.

POST
https://api.youversion.com
/data-exchange/token

Creates a short-lived, highlights-scoped token that can be passed to the /data-exchange browser flow as a query parameter. Tokens expire after five minutes and are consumed when the form is submitted.

Create a data exchange token. › query Parameters

x-yvp-app-key
​string

Public app key used to resolve the app for direct browser flows.

x-yvp-app-id
​string · uuid

App identifier used when a public app key is not supplied.

Create a data exchange token. › Headers

Authorization
​string · required

Bearer access token for the authenticated user.

Create a data exchange token. › Request Body

permissions
​string[] · minItems: 1 · required

Data exchange permissions for this token.

Enum values:
highlights

Create a data exchange token. › Responses

Data exchange token created.

token
​string · required

Opaque single-use token for the data exchange flow. Returned only once.

token_type
​string · enum · required
Enum values:
data_exchange
Example: data_exchange
expires_in
​integer · int32 · required

Token lifetime in seconds.

Example: 300
POST/data-exchange/token
curl --request POST \ --url https://api.youversion.com/data-exchange/token \ --header 'Authorization: <string>' \ --header 'Content-Type: application/json' \ --data ' { "permissions": [ "highlights" ] } '
shell
Example Request Body
{ "permissions": [ "highlights" ] }
json
Example Responses
{ "token": "token", "token_type": "data_exchange", "expires_in": 300 }
json
application/json

bibles