Skip to content

Developer Adoption Guide

This guide is for developers adding Route Bible support to web apps, Bible sites, and tooling.

If you need builder-specific prefill, QR export, and embed behavior, see QR Builder Guide. If you need a full website badge walkthrough (snippet options + runtime behavior), see Website Badge Guide.

Canonical URL format

Use this URL shape for outbound links:

https://route.bible/<canonical-passage>

Examples:

  • https://route.bible/jhn.3.16
  • https://route.bible/jhn.3.16-jhn.3.18
  • https://route.bible/psa.23

Canonical passage slugs are lowercase OSIS-like identifiers.

Query parameters

Supported query keys:

  • translation (normalized to uppercase internally)
  • lang
  • app
  • src
  • mode (auto, launcher, web)

Examples:

  • https://route.bible/rom.8.28?translation=KJV
  • https://route.bible/mat.5.1-mat.5.12?lang=en&src=study-page
  • https://route.bible/jhn.1.1?mode=web

Resolver behavior

  • /:passage defaults to auto behavior.
  • /:passage?mode=launcher forces launcher UI.
  • /:passage?mode=web forces web reading route.
  • /:passage/launcher and /:passage/web are direct explicit routes.

Integration patterns

When your app recognizes a passage reference, emit a canonical Route Bible URL:

ts
const canonical = "JHN.3.16";
const href = `https://route.bible/${encodeURIComponent(canonical.toLowerCase())}`;

2) Hand off shared pages to Route Bible

Forward article/page context via /share-target:

txt
https://route.bible/share-target?url=<page-url>&title=<title>&text=<summary>

Route Bible will extract a likely passage and redirect to canonical route when found.

3) Add a dynamic badge to passage pages

html
<div id="route-bible-badge"></div>
<script
  async
  src="https://route.bible/badge.js"
  data-mount="#route-bible-badge"
  data-src="your-site"
></script>

badge.js auto-routes users through /share-target by default, or to a fixed passage when data-passage is provided. See Website Badge Guide for full behavior details and all supported attributes.

Backward compatibility notes

The router still accepts legacy paths of the form /v1/p/:passage (optional /launcher or /web) and normalizes to the current short route format.

Minimum QA matrix

  • iOS Safari + Android Chrome open behavior
  • app installed vs not installed
  • mode variations (auto, launcher, web)
  • translation propagation (translation=KJV)
  • share-target extraction from a representative article URL