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

© 2025 YouVersion. All rights reserved.

  • Overview
  • API Reference
  • SDKs
<  Back to Platform
SDK IntroductionSwift SDKKotlin SDK
JavaScript SDK
    Quick StartCoreTypeScript Types
    Guides
React SDK
React Native SDK
JavaScript SDK

TypeScript Types

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

Last updated: March 25, 2026

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 | '*'; fields?: (keyof Language)[]; 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_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

Code
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; }>;
Last modified on March 26, 2026
CoreCopyright & Attribution
On this page
  • 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