YouVersion PlatformYouVersion Platform
PlatformLearn moreBiblesDev Docs
PartnersSupport
  • Overview
  • API Reference
  • SDKs
<  Back to Platform

YouVersion Platform

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

Platform Products

  • Platform Portal
  • Developer Documentation
  • App Management

Resources

  • Learn more
  • Support
  • Press inquiries

Legal

  • Privacy Policy
  • Terms of Use

© 2025 YouVersion. All rights reserved.

SDK IntroductionJavaScript SDKReact SDKSwift SDKTypeScript TypesReact Native SDK
SDKs

TypeScript Types

TypeScript Types

These types are exported from the YouVersion Platform SDK packages. They are automatically generated from the installed npm packages.

Package Versions

  • @youversion/platform-core: v1.7.0
  • @youversion/platform-react-hooks: v1.7.0

Bible Content

BibleBook

Code
type BibleBook = Readonly<{ id: BookUsfm; title: string; full_title: string; abbreviation?: string; canon: "old_testament" | "new_testament" | "deuterocanon"; intro?: { id: string; passage_id: string; title: string; }; chapters?: { id: string; passage_id: string; title: string; verses?: { id: string; passage_id: string; title: string; }[]; }[]; }>;

BibleBookIntro

Code
type BibleBookIntro = Readonly<{ id: string; passage_id: string; title: string; }>;

BibleChapter

Code
type BibleChapter = Readonly<{ id: string; passage_id: string; title: string; verses?: { id: string; passage_id: string; title: string; }[]; }>;

BibleIndex

Code
type BibleIndex = Readonly<{ text_direction: string; books: { id: BookUsfm; title: string; full_title: string; abbreviation: string; canon: "old_testament" | "new_testament" | "deuterocanon"; chapters: { id: string; title: string; verses: { id: string; title: string; }[]; }[]; }[]; }>;

BibleIndexBook

Code
type BibleIndexBook = Readonly<{ id: BookUsfm; title: string; full_title: string; abbreviation: string; canon: "old_testament" | "new_testament" | "deuterocanon"; chapters: { id: string; title: string; verses: { id: string; title: string; }[]; }[]; }>;

BibleIndexChapter

Code
type BibleIndexChapter = Readonly<{ id: string; title: string; verses: { id: string; title: string; }[]; }>;

BibleIndexVerse

Code
type BibleIndexVerse = Readonly<{ id: string; title: string; }>;

BiblePassage

Code
type BiblePassage = Readonly<{ id: string; content: string; reference: string; }>;

BibleVerse

Code
type BibleVerse = Readonly<{ id: string; passage_id: string; title: string; }>;

BibleVersion

Code
type BibleVersion = Readonly<{ id: number; abbreviation: string; promotional_content?: string | null; copyright?: string | null; info?: string | null; publisher_url?: string | null; language_tag: string; localized_abbreviation: string; localized_title: string; organization_id?: string | null; title: string; books: BookUsfm[]; youversion_deep_link: string; }>;

BookUsfm

A string literal union of all valid USFM book identifiers. Includes all 66 canonical books, deuterocanonical books, and other texts.

See the complete list: USFM Reference

Code
type BookUsfm = "GEN" | "EXO" | "LEV" | ... | "REV" | ...;

CANON

Code
type CANON = Readonly<"old_testament" | "new_testament" | "deuterocanon">;

SignInWithYouVersionPermissionValues

Code
type SignInWithYouVersionPermissionValues = (typeof SignInWithYouVersionPermission)[keyof typeof SignInWithYouVersionPermission];

VOTD

Code
type VOTD = Readonly<{ day: number; passage_id: string; }>;

YouVersionUserInfoJSON

Code
interface YouVersionUserInfoJSON { name?: string; id?: string; avatar_url?: string; email?: string; }

Languages

GetLanguagesOptions

Options for getting languages collection.

Code
/** * Options for getting languages collection. */ type GetLanguagesOptions = { page_size?: number; page_token?: string; country?: string; };

Language

Code
type Language = Readonly<{ id: string; language: string; script?: string | null; script_name?: string | null; aliases?: string[]; display_names?: Record<string, unknown>; scripts?: string[]; variants?: string[]; countries?: string[]; text_direction?: "ltr" | "rtl"; writing_population?: number; speaking_population?: number; default_bible_version_id?: number | null; }>;

Authentication

AuthenticationScopes

Code
type AuthenticationScopes = 'profile' | 'email';

AuthenticationState

Code
interface AuthenticationState { readonly isAuthenticated: boolean; readonly isLoading: boolean; readonly accessToken: string | null; readonly idToken: string | null; readonly result: SignInWithYouVersionResult | null; readonly error: Error | null; }

User

Code
type User = { avatar_url: string; first_name: string; id: string; last_name: string; };

Highlights

CreateHighlight

Code
type CreateHighlight = { version_id: number; passage_id: string; color: string; };

DeleteHighlightOptions

Options for deleting highlights.

Code
/** * Options for deleting highlights. */ type DeleteHighlightOptions = { version_id?: number; };

GetHighlightsOptions

Options for getting highlights.

Code
/** * Options for getting highlights. */ type GetHighlightsOptions = { version_id?: number; passage_id?: string; };

Highlight

Code
type Highlight = { version_id: number; passage_id: string; color: string; };

HighlightColor

Legacy type for highlight colors (constants only) Not an API response, so no schema needed

Code
/** * Legacy type for highlight colors (constants only) * Not an API response, so no schema needed */ interface HighlightColor { id: number; color: string; label: string; }

Configuration

ApiConfig

Code
interface ApiConfig { apiHost?: string; appKey: string; timeout?: number; installationId?: string; redirectUri?: string; }

StorageStrategy

Abstract storage strategy for auth-related data (callbacks, return URLs). Implementations can use different mechanisms (sessionStorage, memory, etc.)

WARNING: Session storage has known XSS vulnerabilities. An attacker that gains script execution access (via XSS) can read all values in sessionStorage. Consider using a secure, HTTP-only cookie mechanism for production applications.

Code
/** * Abstract storage strategy for auth-related data (callbacks, return URLs). * Implementations can use different mechanisms (sessionStorage, memory, etc.) * * WARNING: Session storage has known XSS vulnerabilities. An attacker that gains * script execution access (via XSS) can read all values in sessionStorage. Consider * using a secure, HTTP-only cookie mechanism for production applications. */ interface StorageStrategy { setItem(key: string, value: string): void; getItem(key: string): string | null; removeItem(key: string): void; clear(): void; }

UseApiDataOptions

Code
type UseApiDataOptions = { enabled?: boolean; };

Hooks

UseApiDataResult

Code
type UseApiDataResult<T> = { data: T | null; loading: boolean; error: Error | null; refetch: () => void; };

Other

Collection

Generic Collection type for paginated responses

Code
/** * Generic Collection type for paginated responses */ type Collection<T> = Readonly<{ data: T[]; next_page_token: string | null; total_size?: number; }>;
Edit this page
Last modified on February 3, 2026
Swift SDKReact Native SDK
On this page
  • Package Versions
  • Bible Content
    • BibleBook
    • BibleBookIntro
    • BibleChapter
    • BibleIndex
    • BibleIndexBook
    • BibleIndexChapter
    • BibleIndexVerse
    • BiblePassage
    • BibleVerse
    • BibleVersion
    • BookUsfm
    • CANON
    • SignInWithYouVersionPermissionValues
    • VOTD
    • YouVersionUserInfoJSON
  • Languages
    • GetLanguagesOptions
    • Language
  • Authentication
    • AuthenticationScopes
    • AuthenticationState
    • User
  • Highlights
    • CreateHighlight
    • DeleteHighlightOptions
    • GetHighlightsOptions
    • Highlight
    • HighlightColor
  • Configuration
    • ApiConfig
    • StorageStrategy
    • UseApiDataOptions
  • Hooks
    • UseApiDataResult
  • Other
    • Collection
TypeScript
TypeScript
TypeScript
TypeScript
TypeScript
TypeScript
TypeScript
TypeScript
TypeScript
TypeScript
TypeScript
TypeScript
TypeScript
TypeScript
TypeScript
TypeScript
TypeScript
TypeScript
TypeScript
TypeScript
TypeScript
TypeScript
TypeScript
TypeScript
TypeScript
TypeScript
TypeScript
TypeScript
TypeScript
TypeScript