API DOCUMENTATION
Bible API v3: endpoint and schema reference
This reference is generated from the checked-in OpenAPI contract. Return to the integration guide for workflows and ready-to-run examples.
Resolved request server: https://api.getbible.net.
GET /v3/translations.json#
Every translation in the tree
The translation index: every translation with its metadata, the URL its document was built for and the SHA-1 of that document.
Operation ID: getTranslations.
Responses#
| Status | Description | Media type | Schema |
|---|---|---|---|
| 200 | Every translation in the tree | application/json | #/components/schemas/translations-index |
| 404 | No such document. The tree is static: a document the index documents do not list does not exist. | — | See contract |
Complete operation contract
{
"tags": [
"tree"
],
"summary": "Every translation in the tree",
"description": "The translation index: every translation with its metadata, the URL its document was built for and the SHA-1 of that document.",
"operationId": "getTranslations",
"responses": {
"200": {
"description": "Every translation in the tree",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/translations-index"
}
}
}
},
"404": {
"description": "No such document. The tree is static: a document the index documents do not list does not exist."
}
},
"parameters": []
}
GET /v3/translations.sha#
The SHA-1 of the translation index
Forty hexadecimal digits and a line feed: the SHA-1 of the bytes of the translation index.
Operation ID: getTranslationsChecksum.
Responses#
| Status | Description | Media type | Schema |
|---|---|---|---|
| 200 | The SHA-1 of the translation index | text/plain | #/components/schemas/checksum |
| 404 | No such document. The tree is static: a document the index documents do not list does not exist. | — | See contract |
Complete operation contract
{
"tags": [
"tree"
],
"summary": "The SHA-1 of the translation index",
"description": "Forty hexadecimal digits and a line feed: the SHA-1 of the bytes of the translation index.",
"operationId": "getTranslationsChecksum",
"responses": {
"200": {
"description": "The SHA-1 of the translation index",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/checksum"
}
}
}
},
"404": {
"description": "No such document. The tree is static: a document the index documents do not list does not exist."
}
},
"parameters": []
}
GET /v3/checksum.json#
The SHA-1 of every translation document
Every translation's abbreviation mapped to the SHA-1 of its document.
Operation ID: getTranslationChecksums.
Responses#
| Status | Description | Media type | Schema |
|---|---|---|---|
| 200 | The SHA-1 of every translation document | application/json | #/components/schemas/checksum-index |
| 404 | No such document. The tree is static: a document the index documents do not list does not exist. | — | See contract |
Complete operation contract
{
"tags": [
"tree"
],
"summary": "The SHA-1 of every translation document",
"description": "Every translation's abbreviation mapped to the SHA-1 of its document.",
"operationId": "getTranslationChecksums",
"responses": {
"200": {
"description": "The SHA-1 of every translation document",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/checksum-index"
}
}
}
},
"404": {
"description": "No such document. The tree is static: a document the index documents do not list does not exist."
}
},
"parameters": []
}
GET /v3/checksum.sha#
The SHA-1 of the translation checksum index
Forty hexadecimal digits and a line feed: the SHA-1 of the bytes of the translation checksum index.
Operation ID: getTranslationChecksumsChecksum.
Responses#
| Status | Description | Media type | Schema |
|---|---|---|---|
| 200 | The SHA-1 of the translation checksum index | text/plain | #/components/schemas/checksum |
| 404 | No such document. The tree is static: a document the index documents do not list does not exist. | — | See contract |
Complete operation contract
{
"tags": [
"tree"
],
"summary": "The SHA-1 of the translation checksum index",
"description": "Forty hexadecimal digits and a line feed: the SHA-1 of the bytes of the translation checksum index.",
"operationId": "getTranslationChecksumsChecksum",
"responses": {
"200": {
"description": "The SHA-1 of the translation checksum index",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/checksum"
}
}
}
},
"404": {
"description": "No such document. The tree is static: a document the index documents do not list does not exist."
}
},
"parameters": []
}
GET /v3/openapi.json#
This description
The OpenAPI description of the tree, generated with it.
Operation ID: getOpenApi.
Responses#
| Status | Description | Media type | Schema |
|---|---|---|---|
| 200 | This description | application/json | object |
| 404 | No such document. The tree is static: a document the index documents do not list does not exist. | — | See contract |
Complete operation contract
{
"tags": [
"tree"
],
"summary": "This description",
"description": "The OpenAPI description of the tree, generated with it.",
"operationId": "getOpenApi",
"responses": {
"200": {
"description": "This description",
"content": {
"application/json": {
"schema": {
"type": "object"
}
}
}
},
"404": {
"description": "No such document. The tree is static: a document the index documents do not list does not exist."
}
},
"parameters": []
}
GET /v3/openapi.sha#
The SHA-1 of this description
Forty hexadecimal digits and a line feed: the SHA-1 of the bytes of this description.
Operation ID: getOpenApiChecksum.
Responses#
| Status | Description | Media type | Schema |
|---|---|---|---|
| 200 | The SHA-1 of this description | text/plain | #/components/schemas/checksum |
| 404 | No such document. The tree is static: a document the index documents do not list does not exist. | — | See contract |
Complete operation contract
{
"tags": [
"tree"
],
"summary": "The SHA-1 of this description",
"description": "Forty hexadecimal digits and a line feed: the SHA-1 of the bytes of this description.",
"operationId": "getOpenApiChecksum",
"responses": {
"200": {
"description": "The SHA-1 of this description",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/checksum"
}
}
}
},
"404": {
"description": "No such document. The tree is static: a document the index documents do not list does not exist."
}
},
"parameters": []
}
GET /v3/{translation}.json#
The whole translation
Every book, chapter and verse of one translation with its metadata and the source module's distribution metadata. A bulk document: translations.json carries its digest.
Operation ID: getTranslation.
| Parameter | In | Required | Type | Example / default | Description |
|---|---|---|---|---|---|
translation |
path | Yes | string | kjv | The translation's abbreviation, as translations.json lists it. |
Responses#
| Status | Description | Media type | Schema |
|---|---|---|---|
| 200 | The whole translation | application/json | #/components/schemas/translation |
| 404 | No such document. The tree is static: a document the index documents do not list does not exist. | — | See contract |
Complete operation contract
{
"tags": [
"translation"
],
"summary": "The whole translation",
"description": "Every book, chapter and verse of one translation with its metadata and the source module's distribution metadata. A bulk document: translations.json carries its digest.",
"operationId": "getTranslation",
"parameters": [
{
"name": "translation",
"in": "path",
"required": true,
"description": "The translation's abbreviation, as translations.json lists it.",
"schema": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9_-]{0,29}$",
"enum": [
"akjv",
"alb",
"aleppo",
"almeida",
"aov",
"arabicsv",
"asv",
"basicenglish",
"basque",
"bibelselskap",
"bkr",
"breton",
"burcbcm",
"calo",
"canisius",
"cep",
"chamorro",
"che1860",
"chiunl",
"cns",
"cnt",
"codex",
"coptic",
"cornilescu",
"croatia",
"csielizabeth",
"cus",
"cut",
"danish",
"danish1819",
"danish1871",
"darby",
"dari",
"douayrheims",
"easternarmenian",
"elberfelder",
"elberfelder1905",
"esperanto",
"estonian",
"finnish1776",
"gaelic",
"giovanni",
"gothic",
"japbungo",
"japdenmo",
"japkougo",
"japraguet",
"judson",
"karoli",
"kjv",
"kjva",
"klv",
"korean",
"koreankjv",
"latvian",
"lithuanian",
"livre",
"livretr",
"ls1910",
"luther1545",
"lxx",
"mal1910",
"manxgaelic",
"maori",
"martin",
"mg1865",
"moderngreek",
"modernhebrew",
"monkjv",
"ndebele",
"norsmb",
"peshitta",
"pohnold",
"pohnpeian",
"polgdanska",
"polugdanska",
"potawatomi",
"pyharaamattu1933",
"pyharaamattu1992",
"riveduta",
"rv1858",
"sahidic",
"schlachter",
"shona",
"srkdekavski",
"srkdijekav",
"sse",
"statenvertaling",
"statenvertalinga",
"swahili",
"swedish",
"swekarlxii",
"swekarlxii1873",
"synodal",
"tagalog",
"tausug",
"textusreceptus",
"thai",
"tischendorf",
"tpikjpb",
"turhadi",
"turkish",
"tyndale",
"ukranian",
"ukrogienko",
"uma",
"valera",
"vietnamese",
"vulgate",
"wb",
"web",
"westcotthort",
"westernarmenian",
"weymouth",
"wycliffe",
"ylt",
"zhuromsky"
]
}
}
],
"responses": {
"200": {
"description": "The whole translation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/translation"
}
}
}
},
"404": {
"description": "No such document. The tree is static: a document the index documents do not list does not exist."
}
}
}
GET /v3/{translation}.sha#
The SHA-1 of the translation document
Forty hexadecimal digits and a line feed: the SHA-1 of the bytes of the translation document.
Operation ID: getTranslationChecksum.
| Parameter | In | Required | Type | Example / default | Description |
|---|---|---|---|---|---|
translation |
path | Yes | string | kjv | The translation's abbreviation, as translations.json lists it. |
Responses#
| Status | Description | Media type | Schema |
|---|---|---|---|
| 200 | The SHA-1 of the translation document | text/plain | #/components/schemas/checksum |
| 404 | No such document. The tree is static: a document the index documents do not list does not exist. | — | See contract |
Complete operation contract
{
"tags": [
"translation"
],
"summary": "The SHA-1 of the translation document",
"description": "Forty hexadecimal digits and a line feed: the SHA-1 of the bytes of the translation document.",
"operationId": "getTranslationChecksum",
"parameters": [
{
"name": "translation",
"in": "path",
"required": true,
"description": "The translation's abbreviation, as translations.json lists it.",
"schema": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9_-]{0,29}$",
"enum": [
"akjv",
"alb",
"aleppo",
"almeida",
"aov",
"arabicsv",
"asv",
"basicenglish",
"basque",
"bibelselskap",
"bkr",
"breton",
"burcbcm",
"calo",
"canisius",
"cep",
"chamorro",
"che1860",
"chiunl",
"cns",
"cnt",
"codex",
"coptic",
"cornilescu",
"croatia",
"csielizabeth",
"cus",
"cut",
"danish",
"danish1819",
"danish1871",
"darby",
"dari",
"douayrheims",
"easternarmenian",
"elberfelder",
"elberfelder1905",
"esperanto",
"estonian",
"finnish1776",
"gaelic",
"giovanni",
"gothic",
"japbungo",
"japdenmo",
"japkougo",
"japraguet",
"judson",
"karoli",
"kjv",
"kjva",
"klv",
"korean",
"koreankjv",
"latvian",
"lithuanian",
"livre",
"livretr",
"ls1910",
"luther1545",
"lxx",
"mal1910",
"manxgaelic",
"maori",
"martin",
"mg1865",
"moderngreek",
"modernhebrew",
"monkjv",
"ndebele",
"norsmb",
"peshitta",
"pohnold",
"pohnpeian",
"polgdanska",
"polugdanska",
"potawatomi",
"pyharaamattu1933",
"pyharaamattu1992",
"riveduta",
"rv1858",
"sahidic",
"schlachter",
"shona",
"srkdekavski",
"srkdijekav",
"sse",
"statenvertaling",
"statenvertalinga",
"swahili",
"swedish",
"swekarlxii",
"swekarlxii1873",
"synodal",
"tagalog",
"tausug",
"textusreceptus",
"thai",
"tischendorf",
"tpikjpb",
"turhadi",
"turkish",
"tyndale",
"ukranian",
"ukrogienko",
"uma",
"valera",
"vietnamese",
"vulgate",
"wb",
"web",
"westcotthort",
"westernarmenian",
"weymouth",
"wycliffe",
"ylt",
"zhuromsky"
]
}
}
],
"responses": {
"200": {
"description": "The SHA-1 of the translation document",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/checksum"
}
}
}
},
"404": {
"description": "No such document. The tree is static: a document the index documents do not list does not exist."
}
}
}
GET /v3/{translation}/books.json#
Every book of one translation
The book index of a translation: every book with its number, name and title metadata, the URL its document was built for and the SHA-1 of that document.
Operation ID: getBooks.
| Parameter | In | Required | Type | Example / default | Description |
|---|---|---|---|---|---|
translation |
path | Yes | string | kjv | The translation's abbreviation, as translations.json lists it. |
Responses#
| Status | Description | Media type | Schema |
|---|---|---|---|
| 200 | Every book of one translation | application/json | #/components/schemas/books-index |
| 404 | No such document. The tree is static: a document the index documents do not list does not exist. | — | See contract |
Complete operation contract
{
"tags": [
"translation"
],
"summary": "Every book of one translation",
"description": "The book index of a translation: every book with its number, name and title metadata, the URL its document was built for and the SHA-1 of that document.",
"operationId": "getBooks",
"parameters": [
{
"name": "translation",
"in": "path",
"required": true,
"description": "The translation's abbreviation, as translations.json lists it.",
"schema": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9_-]{0,29}$",
"enum": [
"akjv",
"alb",
"aleppo",
"almeida",
"aov",
"arabicsv",
"asv",
"basicenglish",
"basque",
"bibelselskap",
"bkr",
"breton",
"burcbcm",
"calo",
"canisius",
"cep",
"chamorro",
"che1860",
"chiunl",
"cns",
"cnt",
"codex",
"coptic",
"cornilescu",
"croatia",
"csielizabeth",
"cus",
"cut",
"danish",
"danish1819",
"danish1871",
"darby",
"dari",
"douayrheims",
"easternarmenian",
"elberfelder",
"elberfelder1905",
"esperanto",
"estonian",
"finnish1776",
"gaelic",
"giovanni",
"gothic",
"japbungo",
"japdenmo",
"japkougo",
"japraguet",
"judson",
"karoli",
"kjv",
"kjva",
"klv",
"korean",
"koreankjv",
"latvian",
"lithuanian",
"livre",
"livretr",
"ls1910",
"luther1545",
"lxx",
"mal1910",
"manxgaelic",
"maori",
"martin",
"mg1865",
"moderngreek",
"modernhebrew",
"monkjv",
"ndebele",
"norsmb",
"peshitta",
"pohnold",
"pohnpeian",
"polgdanska",
"polugdanska",
"potawatomi",
"pyharaamattu1933",
"pyharaamattu1992",
"riveduta",
"rv1858",
"sahidic",
"schlachter",
"shona",
"srkdekavski",
"srkdijekav",
"sse",
"statenvertaling",
"statenvertalinga",
"swahili",
"swedish",
"swekarlxii",
"swekarlxii1873",
"synodal",
"tagalog",
"tausug",
"textusreceptus",
"thai",
"tischendorf",
"tpikjpb",
"turhadi",
"turkish",
"tyndale",
"ukranian",
"ukrogienko",
"uma",
"valera",
"vietnamese",
"vulgate",
"wb",
"web",
"westcotthort",
"westernarmenian",
"weymouth",
"wycliffe",
"ylt",
"zhuromsky"
]
}
}
],
"responses": {
"200": {
"description": "Every book of one translation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/books-index"
}
}
}
},
"404": {
"description": "No such document. The tree is static: a document the index documents do not list does not exist."
}
}
}
GET /v3/{translation}/books.sha#
The SHA-1 of the book index
Forty hexadecimal digits and a line feed: the SHA-1 of the bytes of the book index.
Operation ID: getBooksChecksum.
| Parameter | In | Required | Type | Example / default | Description |
|---|---|---|---|---|---|
translation |
path | Yes | string | kjv | The translation's abbreviation, as translations.json lists it. |
Responses#
| Status | Description | Media type | Schema |
|---|---|---|---|
| 200 | The SHA-1 of the book index | text/plain | #/components/schemas/checksum |
| 404 | No such document. The tree is static: a document the index documents do not list does not exist. | — | See contract |
Complete operation contract
{
"tags": [
"translation"
],
"summary": "The SHA-1 of the book index",
"description": "Forty hexadecimal digits and a line feed: the SHA-1 of the bytes of the book index.",
"operationId": "getBooksChecksum",
"parameters": [
{
"name": "translation",
"in": "path",
"required": true,
"description": "The translation's abbreviation, as translations.json lists it.",
"schema": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9_-]{0,29}$",
"enum": [
"akjv",
"alb",
"aleppo",
"almeida",
"aov",
"arabicsv",
"asv",
"basicenglish",
"basque",
"bibelselskap",
"bkr",
"breton",
"burcbcm",
"calo",
"canisius",
"cep",
"chamorro",
"che1860",
"chiunl",
"cns",
"cnt",
"codex",
"coptic",
"cornilescu",
"croatia",
"csielizabeth",
"cus",
"cut",
"danish",
"danish1819",
"danish1871",
"darby",
"dari",
"douayrheims",
"easternarmenian",
"elberfelder",
"elberfelder1905",
"esperanto",
"estonian",
"finnish1776",
"gaelic",
"giovanni",
"gothic",
"japbungo",
"japdenmo",
"japkougo",
"japraguet",
"judson",
"karoli",
"kjv",
"kjva",
"klv",
"korean",
"koreankjv",
"latvian",
"lithuanian",
"livre",
"livretr",
"ls1910",
"luther1545",
"lxx",
"mal1910",
"manxgaelic",
"maori",
"martin",
"mg1865",
"moderngreek",
"modernhebrew",
"monkjv",
"ndebele",
"norsmb",
"peshitta",
"pohnold",
"pohnpeian",
"polgdanska",
"polugdanska",
"potawatomi",
"pyharaamattu1933",
"pyharaamattu1992",
"riveduta",
"rv1858",
"sahidic",
"schlachter",
"shona",
"srkdekavski",
"srkdijekav",
"sse",
"statenvertaling",
"statenvertalinga",
"swahili",
"swedish",
"swekarlxii",
"swekarlxii1873",
"synodal",
"tagalog",
"tausug",
"textusreceptus",
"thai",
"tischendorf",
"tpikjpb",
"turhadi",
"turkish",
"tyndale",
"ukranian",
"ukrogienko",
"uma",
"valera",
"vietnamese",
"vulgate",
"wb",
"web",
"westcotthort",
"westernarmenian",
"weymouth",
"wycliffe",
"ylt",
"zhuromsky"
]
}
}
],
"responses": {
"200": {
"description": "The SHA-1 of the book index",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/checksum"
}
}
}
},
"404": {
"description": "No such document. The tree is static: a document the index documents do not list does not exist."
}
}
}
GET /v3/{translation}/checksum.json#
The SHA-1 of every book document of one translation
Every book number mapped to the SHA-1 of its document.
Operation ID: getBookChecksums.
| Parameter | In | Required | Type | Example / default | Description |
|---|---|---|---|---|---|
translation |
path | Yes | string | kjv | The translation's abbreviation, as translations.json lists it. |
Responses#
| Status | Description | Media type | Schema |
|---|---|---|---|
| 200 | The SHA-1 of every book document of one translation | application/json | #/components/schemas/checksum-index |
| 404 | No such document. The tree is static: a document the index documents do not list does not exist. | — | See contract |
Complete operation contract
{
"tags": [
"translation"
],
"summary": "The SHA-1 of every book document of one translation",
"description": "Every book number mapped to the SHA-1 of its document.",
"operationId": "getBookChecksums",
"parameters": [
{
"name": "translation",
"in": "path",
"required": true,
"description": "The translation's abbreviation, as translations.json lists it.",
"schema": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9_-]{0,29}$",
"enum": [
"akjv",
"alb",
"aleppo",
"almeida",
"aov",
"arabicsv",
"asv",
"basicenglish",
"basque",
"bibelselskap",
"bkr",
"breton",
"burcbcm",
"calo",
"canisius",
"cep",
"chamorro",
"che1860",
"chiunl",
"cns",
"cnt",
"codex",
"coptic",
"cornilescu",
"croatia",
"csielizabeth",
"cus",
"cut",
"danish",
"danish1819",
"danish1871",
"darby",
"dari",
"douayrheims",
"easternarmenian",
"elberfelder",
"elberfelder1905",
"esperanto",
"estonian",
"finnish1776",
"gaelic",
"giovanni",
"gothic",
"japbungo",
"japdenmo",
"japkougo",
"japraguet",
"judson",
"karoli",
"kjv",
"kjva",
"klv",
"korean",
"koreankjv",
"latvian",
"lithuanian",
"livre",
"livretr",
"ls1910",
"luther1545",
"lxx",
"mal1910",
"manxgaelic",
"maori",
"martin",
"mg1865",
"moderngreek",
"modernhebrew",
"monkjv",
"ndebele",
"norsmb",
"peshitta",
"pohnold",
"pohnpeian",
"polgdanska",
"polugdanska",
"potawatomi",
"pyharaamattu1933",
"pyharaamattu1992",
"riveduta",
"rv1858",
"sahidic",
"schlachter",
"shona",
"srkdekavski",
"srkdijekav",
"sse",
"statenvertaling",
"statenvertalinga",
"swahili",
"swedish",
"swekarlxii",
"swekarlxii1873",
"synodal",
"tagalog",
"tausug",
"textusreceptus",
"thai",
"tischendorf",
"tpikjpb",
"turhadi",
"turkish",
"tyndale",
"ukranian",
"ukrogienko",
"uma",
"valera",
"vietnamese",
"vulgate",
"wb",
"web",
"westcotthort",
"westernarmenian",
"weymouth",
"wycliffe",
"ylt",
"zhuromsky"
]
}
}
],
"responses": {
"200": {
"description": "The SHA-1 of every book document of one translation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/checksum-index"
}
}
}
},
"404": {
"description": "No such document. The tree is static: a document the index documents do not list does not exist."
}
}
}
GET /v3/{translation}/checksum.sha#
The SHA-1 of the book checksum index
Forty hexadecimal digits and a line feed: the SHA-1 of the bytes of the book checksum index.
Operation ID: getBookChecksumsChecksum.
| Parameter | In | Required | Type | Example / default | Description |
|---|---|---|---|---|---|
translation |
path | Yes | string | kjv | The translation's abbreviation, as translations.json lists it. |
Responses#
| Status | Description | Media type | Schema |
|---|---|---|---|
| 200 | The SHA-1 of the book checksum index | text/plain | #/components/schemas/checksum |
| 404 | No such document. The tree is static: a document the index documents do not list does not exist. | — | See contract |
Complete operation contract
{
"tags": [
"translation"
],
"summary": "The SHA-1 of the book checksum index",
"description": "Forty hexadecimal digits and a line feed: the SHA-1 of the bytes of the book checksum index.",
"operationId": "getBookChecksumsChecksum",
"parameters": [
{
"name": "translation",
"in": "path",
"required": true,
"description": "The translation's abbreviation, as translations.json lists it.",
"schema": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9_-]{0,29}$",
"enum": [
"akjv",
"alb",
"aleppo",
"almeida",
"aov",
"arabicsv",
"asv",
"basicenglish",
"basque",
"bibelselskap",
"bkr",
"breton",
"burcbcm",
"calo",
"canisius",
"cep",
"chamorro",
"che1860",
"chiunl",
"cns",
"cnt",
"codex",
"coptic",
"cornilescu",
"croatia",
"csielizabeth",
"cus",
"cut",
"danish",
"danish1819",
"danish1871",
"darby",
"dari",
"douayrheims",
"easternarmenian",
"elberfelder",
"elberfelder1905",
"esperanto",
"estonian",
"finnish1776",
"gaelic",
"giovanni",
"gothic",
"japbungo",
"japdenmo",
"japkougo",
"japraguet",
"judson",
"karoli",
"kjv",
"kjva",
"klv",
"korean",
"koreankjv",
"latvian",
"lithuanian",
"livre",
"livretr",
"ls1910",
"luther1545",
"lxx",
"mal1910",
"manxgaelic",
"maori",
"martin",
"mg1865",
"moderngreek",
"modernhebrew",
"monkjv",
"ndebele",
"norsmb",
"peshitta",
"pohnold",
"pohnpeian",
"polgdanska",
"polugdanska",
"potawatomi",
"pyharaamattu1933",
"pyharaamattu1992",
"riveduta",
"rv1858",
"sahidic",
"schlachter",
"shona",
"srkdekavski",
"srkdijekav",
"sse",
"statenvertaling",
"statenvertalinga",
"swahili",
"swedish",
"swekarlxii",
"swekarlxii1873",
"synodal",
"tagalog",
"tausug",
"textusreceptus",
"thai",
"tischendorf",
"tpikjpb",
"turhadi",
"turkish",
"tyndale",
"ukranian",
"ukrogienko",
"uma",
"valera",
"vietnamese",
"vulgate",
"wb",
"web",
"westcotthort",
"westernarmenian",
"weymouth",
"wycliffe",
"ylt",
"zhuromsky"
]
}
}
],
"responses": {
"200": {
"description": "The SHA-1 of the book checksum index",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/checksum"
}
}
}
},
"404": {
"description": "No such document. The tree is static: a document the index documents do not list does not exist."
}
}
}
GET /v3/{translation}/{book}.json#
One book
Every chapter and verse of one book with the translation's metadata and the book's title metadata and introduction.
Operation ID: getBook.
| Parameter | In | Required | Type | Example / default | Description |
|---|---|---|---|---|---|
translation |
path | Yes | string | kjv | The translation's abbreviation, as translations.json lists it. |
book |
path | Yes | integer | 1 | GetBible book number: Genesis is 1, Matthew 40, Revelation 66, and established additional books continue to 89. Further source identities receive deterministic numbers from 1000000. books.json lists the numbers the translation has. |
Responses#
| Status | Description | Media type | Schema |
|---|---|---|---|
| 200 | One book | application/json | #/components/schemas/book |
| 404 | No such document. The tree is static: a document the index documents do not list does not exist. | — | See contract |
Complete operation contract
{
"tags": [
"book"
],
"summary": "One book",
"description": "Every chapter and verse of one book with the translation's metadata and the book's title metadata and introduction.",
"operationId": "getBook",
"parameters": [
{
"name": "translation",
"in": "path",
"required": true,
"description": "The translation's abbreviation, as translations.json lists it.",
"schema": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9_-]{0,29}$",
"enum": [
"akjv",
"alb",
"aleppo",
"almeida",
"aov",
"arabicsv",
"asv",
"basicenglish",
"basque",
"bibelselskap",
"bkr",
"breton",
"burcbcm",
"calo",
"canisius",
"cep",
"chamorro",
"che1860",
"chiunl",
"cns",
"cnt",
"codex",
"coptic",
"cornilescu",
"croatia",
"csielizabeth",
"cus",
"cut",
"danish",
"danish1819",
"danish1871",
"darby",
"dari",
"douayrheims",
"easternarmenian",
"elberfelder",
"elberfelder1905",
"esperanto",
"estonian",
"finnish1776",
"gaelic",
"giovanni",
"gothic",
"japbungo",
"japdenmo",
"japkougo",
"japraguet",
"judson",
"karoli",
"kjv",
"kjva",
"klv",
"korean",
"koreankjv",
"latvian",
"lithuanian",
"livre",
"livretr",
"ls1910",
"luther1545",
"lxx",
"mal1910",
"manxgaelic",
"maori",
"martin",
"mg1865",
"moderngreek",
"modernhebrew",
"monkjv",
"ndebele",
"norsmb",
"peshitta",
"pohnold",
"pohnpeian",
"polgdanska",
"polugdanska",
"potawatomi",
"pyharaamattu1933",
"pyharaamattu1992",
"riveduta",
"rv1858",
"sahidic",
"schlachter",
"shona",
"srkdekavski",
"srkdijekav",
"sse",
"statenvertaling",
"statenvertalinga",
"swahili",
"swedish",
"swekarlxii",
"swekarlxii1873",
"synodal",
"tagalog",
"tausug",
"textusreceptus",
"thai",
"tischendorf",
"tpikjpb",
"turhadi",
"turkish",
"tyndale",
"ukranian",
"ukrogienko",
"uma",
"valera",
"vietnamese",
"vulgate",
"wb",
"web",
"westcotthort",
"westernarmenian",
"weymouth",
"wycliffe",
"ylt",
"zhuromsky"
]
}
},
{
"name": "book",
"in": "path",
"required": true,
"description": "GetBible book number: Genesis is 1, Matthew 40, Revelation 66, and established additional books continue to 89. Further source identities receive deterministic numbers from 1000000. books.json lists the numbers the translation has.",
"schema": {
"type": "integer",
"minimum": 1,
"maximum": 281474977710655
}
}
],
"responses": {
"200": {
"description": "One book",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/book"
}
}
}
},
"404": {
"description": "No such document. The tree is static: a document the index documents do not list does not exist."
}
}
}
GET /v3/{translation}/{book}.sha#
The SHA-1 of the book document
Forty hexadecimal digits and a line feed: the SHA-1 of the bytes of the book document.
Operation ID: getBookChecksum.
| Parameter | In | Required | Type | Example / default | Description |
|---|---|---|---|---|---|
translation |
path | Yes | string | kjv | The translation's abbreviation, as translations.json lists it. |
book |
path | Yes | integer | 1 | GetBible book number: Genesis is 1, Matthew 40, Revelation 66, and established additional books continue to 89. Further source identities receive deterministic numbers from 1000000. books.json lists the numbers the translation has. |
Responses#
| Status | Description | Media type | Schema |
|---|---|---|---|
| 200 | The SHA-1 of the book document | text/plain | #/components/schemas/checksum |
| 404 | No such document. The tree is static: a document the index documents do not list does not exist. | — | See contract |
Complete operation contract
{
"tags": [
"book"
],
"summary": "The SHA-1 of the book document",
"description": "Forty hexadecimal digits and a line feed: the SHA-1 of the bytes of the book document.",
"operationId": "getBookChecksum",
"parameters": [
{
"name": "translation",
"in": "path",
"required": true,
"description": "The translation's abbreviation, as translations.json lists it.",
"schema": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9_-]{0,29}$",
"enum": [
"akjv",
"alb",
"aleppo",
"almeida",
"aov",
"arabicsv",
"asv",
"basicenglish",
"basque",
"bibelselskap",
"bkr",
"breton",
"burcbcm",
"calo",
"canisius",
"cep",
"chamorro",
"che1860",
"chiunl",
"cns",
"cnt",
"codex",
"coptic",
"cornilescu",
"croatia",
"csielizabeth",
"cus",
"cut",
"danish",
"danish1819",
"danish1871",
"darby",
"dari",
"douayrheims",
"easternarmenian",
"elberfelder",
"elberfelder1905",
"esperanto",
"estonian",
"finnish1776",
"gaelic",
"giovanni",
"gothic",
"japbungo",
"japdenmo",
"japkougo",
"japraguet",
"judson",
"karoli",
"kjv",
"kjva",
"klv",
"korean",
"koreankjv",
"latvian",
"lithuanian",
"livre",
"livretr",
"ls1910",
"luther1545",
"lxx",
"mal1910",
"manxgaelic",
"maori",
"martin",
"mg1865",
"moderngreek",
"modernhebrew",
"monkjv",
"ndebele",
"norsmb",
"peshitta",
"pohnold",
"pohnpeian",
"polgdanska",
"polugdanska",
"potawatomi",
"pyharaamattu1933",
"pyharaamattu1992",
"riveduta",
"rv1858",
"sahidic",
"schlachter",
"shona",
"srkdekavski",
"srkdijekav",
"sse",
"statenvertaling",
"statenvertalinga",
"swahili",
"swedish",
"swekarlxii",
"swekarlxii1873",
"synodal",
"tagalog",
"tausug",
"textusreceptus",
"thai",
"tischendorf",
"tpikjpb",
"turhadi",
"turkish",
"tyndale",
"ukranian",
"ukrogienko",
"uma",
"valera",
"vietnamese",
"vulgate",
"wb",
"web",
"westcotthort",
"westernarmenian",
"weymouth",
"wycliffe",
"ylt",
"zhuromsky"
]
}
},
{
"name": "book",
"in": "path",
"required": true,
"description": "GetBible book number: Genesis is 1, Matthew 40, Revelation 66, and established additional books continue to 89. Further source identities receive deterministic numbers from 1000000. books.json lists the numbers the translation has.",
"schema": {
"type": "integer",
"minimum": 1,
"maximum": 281474977710655
}
}
],
"responses": {
"200": {
"description": "The SHA-1 of the book document",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/checksum"
}
}
}
},
"404": {
"description": "No such document. The tree is static: a document the index documents do not list does not exist."
}
}
}
GET /v3/{translation}/{book}/chapters.json#
Every chapter of one book
The chapter index of a book: every chapter with its number, name and reading layout, the URL its document was built for and the SHA-1 of that document.
Operation ID: getChapters.
| Parameter | In | Required | Type | Example / default | Description |
|---|---|---|---|---|---|
translation |
path | Yes | string | kjv | The translation's abbreviation, as translations.json lists it. |
book |
path | Yes | integer | 1 | GetBible book number: Genesis is 1, Matthew 40, Revelation 66, and established additional books continue to 89. Further source identities receive deterministic numbers from 1000000. books.json lists the numbers the translation has. |
Responses#
| Status | Description | Media type | Schema |
|---|---|---|---|
| 200 | Every chapter of one book | application/json | #/components/schemas/chapters-index |
| 404 | No such document. The tree is static: a document the index documents do not list does not exist. | — | See contract |
Complete operation contract
{
"tags": [
"book"
],
"summary": "Every chapter of one book",
"description": "The chapter index of a book: every chapter with its number, name and reading layout, the URL its document was built for and the SHA-1 of that document.",
"operationId": "getChapters",
"parameters": [
{
"name": "translation",
"in": "path",
"required": true,
"description": "The translation's abbreviation, as translations.json lists it.",
"schema": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9_-]{0,29}$",
"enum": [
"akjv",
"alb",
"aleppo",
"almeida",
"aov",
"arabicsv",
"asv",
"basicenglish",
"basque",
"bibelselskap",
"bkr",
"breton",
"burcbcm",
"calo",
"canisius",
"cep",
"chamorro",
"che1860",
"chiunl",
"cns",
"cnt",
"codex",
"coptic",
"cornilescu",
"croatia",
"csielizabeth",
"cus",
"cut",
"danish",
"danish1819",
"danish1871",
"darby",
"dari",
"douayrheims",
"easternarmenian",
"elberfelder",
"elberfelder1905",
"esperanto",
"estonian",
"finnish1776",
"gaelic",
"giovanni",
"gothic",
"japbungo",
"japdenmo",
"japkougo",
"japraguet",
"judson",
"karoli",
"kjv",
"kjva",
"klv",
"korean",
"koreankjv",
"latvian",
"lithuanian",
"livre",
"livretr",
"ls1910",
"luther1545",
"lxx",
"mal1910",
"manxgaelic",
"maori",
"martin",
"mg1865",
"moderngreek",
"modernhebrew",
"monkjv",
"ndebele",
"norsmb",
"peshitta",
"pohnold",
"pohnpeian",
"polgdanska",
"polugdanska",
"potawatomi",
"pyharaamattu1933",
"pyharaamattu1992",
"riveduta",
"rv1858",
"sahidic",
"schlachter",
"shona",
"srkdekavski",
"srkdijekav",
"sse",
"statenvertaling",
"statenvertalinga",
"swahili",
"swedish",
"swekarlxii",
"swekarlxii1873",
"synodal",
"tagalog",
"tausug",
"textusreceptus",
"thai",
"tischendorf",
"tpikjpb",
"turhadi",
"turkish",
"tyndale",
"ukranian",
"ukrogienko",
"uma",
"valera",
"vietnamese",
"vulgate",
"wb",
"web",
"westcotthort",
"westernarmenian",
"weymouth",
"wycliffe",
"ylt",
"zhuromsky"
]
}
},
{
"name": "book",
"in": "path",
"required": true,
"description": "GetBible book number: Genesis is 1, Matthew 40, Revelation 66, and established additional books continue to 89. Further source identities receive deterministic numbers from 1000000. books.json lists the numbers the translation has.",
"schema": {
"type": "integer",
"minimum": 1,
"maximum": 281474977710655
}
}
],
"responses": {
"200": {
"description": "Every chapter of one book",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/chapters-index"
}
}
}
},
"404": {
"description": "No such document. The tree is static: a document the index documents do not list does not exist."
}
}
}
GET /v3/{translation}/{book}/chapters.sha#
The SHA-1 of the chapter index
Forty hexadecimal digits and a line feed: the SHA-1 of the bytes of the chapter index.
Operation ID: getChaptersChecksum.
| Parameter | In | Required | Type | Example / default | Description |
|---|---|---|---|---|---|
translation |
path | Yes | string | kjv | The translation's abbreviation, as translations.json lists it. |
book |
path | Yes | integer | 1 | GetBible book number: Genesis is 1, Matthew 40, Revelation 66, and established additional books continue to 89. Further source identities receive deterministic numbers from 1000000. books.json lists the numbers the translation has. |
Responses#
| Status | Description | Media type | Schema |
|---|---|---|---|
| 200 | The SHA-1 of the chapter index | text/plain | #/components/schemas/checksum |
| 404 | No such document. The tree is static: a document the index documents do not list does not exist. | — | See contract |
Complete operation contract
{
"tags": [
"book"
],
"summary": "The SHA-1 of the chapter index",
"description": "Forty hexadecimal digits and a line feed: the SHA-1 of the bytes of the chapter index.",
"operationId": "getChaptersChecksum",
"parameters": [
{
"name": "translation",
"in": "path",
"required": true,
"description": "The translation's abbreviation, as translations.json lists it.",
"schema": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9_-]{0,29}$",
"enum": [
"akjv",
"alb",
"aleppo",
"almeida",
"aov",
"arabicsv",
"asv",
"basicenglish",
"basque",
"bibelselskap",
"bkr",
"breton",
"burcbcm",
"calo",
"canisius",
"cep",
"chamorro",
"che1860",
"chiunl",
"cns",
"cnt",
"codex",
"coptic",
"cornilescu",
"croatia",
"csielizabeth",
"cus",
"cut",
"danish",
"danish1819",
"danish1871",
"darby",
"dari",
"douayrheims",
"easternarmenian",
"elberfelder",
"elberfelder1905",
"esperanto",
"estonian",
"finnish1776",
"gaelic",
"giovanni",
"gothic",
"japbungo",
"japdenmo",
"japkougo",
"japraguet",
"judson",
"karoli",
"kjv",
"kjva",
"klv",
"korean",
"koreankjv",
"latvian",
"lithuanian",
"livre",
"livretr",
"ls1910",
"luther1545",
"lxx",
"mal1910",
"manxgaelic",
"maori",
"martin",
"mg1865",
"moderngreek",
"modernhebrew",
"monkjv",
"ndebele",
"norsmb",
"peshitta",
"pohnold",
"pohnpeian",
"polgdanska",
"polugdanska",
"potawatomi",
"pyharaamattu1933",
"pyharaamattu1992",
"riveduta",
"rv1858",
"sahidic",
"schlachter",
"shona",
"srkdekavski",
"srkdijekav",
"sse",
"statenvertaling",
"statenvertalinga",
"swahili",
"swedish",
"swekarlxii",
"swekarlxii1873",
"synodal",
"tagalog",
"tausug",
"textusreceptus",
"thai",
"tischendorf",
"tpikjpb",
"turhadi",
"turkish",
"tyndale",
"ukranian",
"ukrogienko",
"uma",
"valera",
"vietnamese",
"vulgate",
"wb",
"web",
"westcotthort",
"westernarmenian",
"weymouth",
"wycliffe",
"ylt",
"zhuromsky"
]
}
},
{
"name": "book",
"in": "path",
"required": true,
"description": "GetBible book number: Genesis is 1, Matthew 40, Revelation 66, and established additional books continue to 89. Further source identities receive deterministic numbers from 1000000. books.json lists the numbers the translation has.",
"schema": {
"type": "integer",
"minimum": 1,
"maximum": 281474977710655
}
}
],
"responses": {
"200": {
"description": "The SHA-1 of the chapter index",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/checksum"
}
}
}
},
"404": {
"description": "No such document. The tree is static: a document the index documents do not list does not exist."
}
}
}
GET /v3/{translation}/{book}/checksum.json#
The SHA-1 of every chapter document of one book
Every chapter number mapped to the SHA-1 of its document.
Operation ID: getChapterChecksums.
| Parameter | In | Required | Type | Example / default | Description |
|---|---|---|---|---|---|
translation |
path | Yes | string | kjv | The translation's abbreviation, as translations.json lists it. |
book |
path | Yes | integer | 1 | GetBible book number: Genesis is 1, Matthew 40, Revelation 66, and established additional books continue to 89. Further source identities receive deterministic numbers from 1000000. books.json lists the numbers the translation has. |
Responses#
| Status | Description | Media type | Schema |
|---|---|---|---|
| 200 | The SHA-1 of every chapter document of one book | application/json | #/components/schemas/checksum-index |
| 404 | No such document. The tree is static: a document the index documents do not list does not exist. | — | See contract |
Complete operation contract
{
"tags": [
"book"
],
"summary": "The SHA-1 of every chapter document of one book",
"description": "Every chapter number mapped to the SHA-1 of its document.",
"operationId": "getChapterChecksums",
"parameters": [
{
"name": "translation",
"in": "path",
"required": true,
"description": "The translation's abbreviation, as translations.json lists it.",
"schema": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9_-]{0,29}$",
"enum": [
"akjv",
"alb",
"aleppo",
"almeida",
"aov",
"arabicsv",
"asv",
"basicenglish",
"basque",
"bibelselskap",
"bkr",
"breton",
"burcbcm",
"calo",
"canisius",
"cep",
"chamorro",
"che1860",
"chiunl",
"cns",
"cnt",
"codex",
"coptic",
"cornilescu",
"croatia",
"csielizabeth",
"cus",
"cut",
"danish",
"danish1819",
"danish1871",
"darby",
"dari",
"douayrheims",
"easternarmenian",
"elberfelder",
"elberfelder1905",
"esperanto",
"estonian",
"finnish1776",
"gaelic",
"giovanni",
"gothic",
"japbungo",
"japdenmo",
"japkougo",
"japraguet",
"judson",
"karoli",
"kjv",
"kjva",
"klv",
"korean",
"koreankjv",
"latvian",
"lithuanian",
"livre",
"livretr",
"ls1910",
"luther1545",
"lxx",
"mal1910",
"manxgaelic",
"maori",
"martin",
"mg1865",
"moderngreek",
"modernhebrew",
"monkjv",
"ndebele",
"norsmb",
"peshitta",
"pohnold",
"pohnpeian",
"polgdanska",
"polugdanska",
"potawatomi",
"pyharaamattu1933",
"pyharaamattu1992",
"riveduta",
"rv1858",
"sahidic",
"schlachter",
"shona",
"srkdekavski",
"srkdijekav",
"sse",
"statenvertaling",
"statenvertalinga",
"swahili",
"swedish",
"swekarlxii",
"swekarlxii1873",
"synodal",
"tagalog",
"tausug",
"textusreceptus",
"thai",
"tischendorf",
"tpikjpb",
"turhadi",
"turkish",
"tyndale",
"ukranian",
"ukrogienko",
"uma",
"valera",
"vietnamese",
"vulgate",
"wb",
"web",
"westcotthort",
"westernarmenian",
"weymouth",
"wycliffe",
"ylt",
"zhuromsky"
]
}
},
{
"name": "book",
"in": "path",
"required": true,
"description": "GetBible book number: Genesis is 1, Matthew 40, Revelation 66, and established additional books continue to 89. Further source identities receive deterministic numbers from 1000000. books.json lists the numbers the translation has.",
"schema": {
"type": "integer",
"minimum": 1,
"maximum": 281474977710655
}
}
],
"responses": {
"200": {
"description": "The SHA-1 of every chapter document of one book",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/checksum-index"
}
}
}
},
"404": {
"description": "No such document. The tree is static: a document the index documents do not list does not exist."
}
}
}
GET /v3/{translation}/{book}/checksum.sha#
The SHA-1 of the chapter checksum index
Forty hexadecimal digits and a line feed: the SHA-1 of the bytes of the chapter checksum index.
Operation ID: getChapterChecksumsChecksum.
| Parameter | In | Required | Type | Example / default | Description |
|---|---|---|---|---|---|
translation |
path | Yes | string | kjv | The translation's abbreviation, as translations.json lists it. |
book |
path | Yes | integer | 1 | GetBible book number: Genesis is 1, Matthew 40, Revelation 66, and established additional books continue to 89. Further source identities receive deterministic numbers from 1000000. books.json lists the numbers the translation has. |
Responses#
| Status | Description | Media type | Schema |
|---|---|---|---|
| 200 | The SHA-1 of the chapter checksum index | text/plain | #/components/schemas/checksum |
| 404 | No such document. The tree is static: a document the index documents do not list does not exist. | — | See contract |
Complete operation contract
{
"tags": [
"book"
],
"summary": "The SHA-1 of the chapter checksum index",
"description": "Forty hexadecimal digits and a line feed: the SHA-1 of the bytes of the chapter checksum index.",
"operationId": "getChapterChecksumsChecksum",
"parameters": [
{
"name": "translation",
"in": "path",
"required": true,
"description": "The translation's abbreviation, as translations.json lists it.",
"schema": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9_-]{0,29}$",
"enum": [
"akjv",
"alb",
"aleppo",
"almeida",
"aov",
"arabicsv",
"asv",
"basicenglish",
"basque",
"bibelselskap",
"bkr",
"breton",
"burcbcm",
"calo",
"canisius",
"cep",
"chamorro",
"che1860",
"chiunl",
"cns",
"cnt",
"codex",
"coptic",
"cornilescu",
"croatia",
"csielizabeth",
"cus",
"cut",
"danish",
"danish1819",
"danish1871",
"darby",
"dari",
"douayrheims",
"easternarmenian",
"elberfelder",
"elberfelder1905",
"esperanto",
"estonian",
"finnish1776",
"gaelic",
"giovanni",
"gothic",
"japbungo",
"japdenmo",
"japkougo",
"japraguet",
"judson",
"karoli",
"kjv",
"kjva",
"klv",
"korean",
"koreankjv",
"latvian",
"lithuanian",
"livre",
"livretr",
"ls1910",
"luther1545",
"lxx",
"mal1910",
"manxgaelic",
"maori",
"martin",
"mg1865",
"moderngreek",
"modernhebrew",
"monkjv",
"ndebele",
"norsmb",
"peshitta",
"pohnold",
"pohnpeian",
"polgdanska",
"polugdanska",
"potawatomi",
"pyharaamattu1933",
"pyharaamattu1992",
"riveduta",
"rv1858",
"sahidic",
"schlachter",
"shona",
"srkdekavski",
"srkdijekav",
"sse",
"statenvertaling",
"statenvertalinga",
"swahili",
"swedish",
"swekarlxii",
"swekarlxii1873",
"synodal",
"tagalog",
"tausug",
"textusreceptus",
"thai",
"tischendorf",
"tpikjpb",
"turhadi",
"turkish",
"tyndale",
"ukranian",
"ukrogienko",
"uma",
"valera",
"vietnamese",
"vulgate",
"wb",
"web",
"westcotthort",
"westernarmenian",
"weymouth",
"wycliffe",
"ylt",
"zhuromsky"
]
}
},
{
"name": "book",
"in": "path",
"required": true,
"description": "GetBible book number: Genesis is 1, Matthew 40, Revelation 66, and established additional books continue to 89. Further source identities receive deterministic numbers from 1000000. books.json lists the numbers the translation has.",
"schema": {
"type": "integer",
"minimum": 1,
"maximum": 281474977710655
}
}
],
"responses": {
"200": {
"description": "The SHA-1 of the chapter checksum index",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/checksum"
}
}
}
},
"404": {
"description": "No such document. The tree is static: a document the index documents do not list does not exist."
}
}
}
GET /v3/{translation}/{book}/{chapter}.json#
One chapter
Every verse of one chapter with the translation's metadata, the book it belongs to, and its reading layout and introduction when the source supplies them.
Operation ID: getChapter.
| Parameter | In | Required | Type | Example / default | Description |
|---|---|---|---|---|---|
translation |
path | Yes | string | kjv | The translation's abbreviation, as translations.json lists it. |
book |
path | Yes | integer | 1 | GetBible book number: Genesis is 1, Matthew 40, Revelation 66, and established additional books continue to 89. Further source identities receive deterministic numbers from 1000000. books.json lists the numbers the translation has. |
chapter |
path | Yes | integer | 1 | Chapter number; chapters.json lists the chapters the book has. |
Responses#
| Status | Description | Media type | Schema |
|---|---|---|---|
| 200 | One chapter | application/json | #/components/schemas/chapter |
| 404 | No such document. The tree is static: a document the index documents do not list does not exist. | — | See contract |
Complete operation contract
{
"tags": [
"chapter"
],
"summary": "One chapter",
"description": "Every verse of one chapter with the translation's metadata, the book it belongs to, and its reading layout and introduction when the source supplies them.",
"operationId": "getChapter",
"parameters": [
{
"name": "translation",
"in": "path",
"required": true,
"description": "The translation's abbreviation, as translations.json lists it.",
"schema": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9_-]{0,29}$",
"enum": [
"akjv",
"alb",
"aleppo",
"almeida",
"aov",
"arabicsv",
"asv",
"basicenglish",
"basque",
"bibelselskap",
"bkr",
"breton",
"burcbcm",
"calo",
"canisius",
"cep",
"chamorro",
"che1860",
"chiunl",
"cns",
"cnt",
"codex",
"coptic",
"cornilescu",
"croatia",
"csielizabeth",
"cus",
"cut",
"danish",
"danish1819",
"danish1871",
"darby",
"dari",
"douayrheims",
"easternarmenian",
"elberfelder",
"elberfelder1905",
"esperanto",
"estonian",
"finnish1776",
"gaelic",
"giovanni",
"gothic",
"japbungo",
"japdenmo",
"japkougo",
"japraguet",
"judson",
"karoli",
"kjv",
"kjva",
"klv",
"korean",
"koreankjv",
"latvian",
"lithuanian",
"livre",
"livretr",
"ls1910",
"luther1545",
"lxx",
"mal1910",
"manxgaelic",
"maori",
"martin",
"mg1865",
"moderngreek",
"modernhebrew",
"monkjv",
"ndebele",
"norsmb",
"peshitta",
"pohnold",
"pohnpeian",
"polgdanska",
"polugdanska",
"potawatomi",
"pyharaamattu1933",
"pyharaamattu1992",
"riveduta",
"rv1858",
"sahidic",
"schlachter",
"shona",
"srkdekavski",
"srkdijekav",
"sse",
"statenvertaling",
"statenvertalinga",
"swahili",
"swedish",
"swekarlxii",
"swekarlxii1873",
"synodal",
"tagalog",
"tausug",
"textusreceptus",
"thai",
"tischendorf",
"tpikjpb",
"turhadi",
"turkish",
"tyndale",
"ukranian",
"ukrogienko",
"uma",
"valera",
"vietnamese",
"vulgate",
"wb",
"web",
"westcotthort",
"westernarmenian",
"weymouth",
"wycliffe",
"ylt",
"zhuromsky"
]
}
},
{
"name": "book",
"in": "path",
"required": true,
"description": "GetBible book number: Genesis is 1, Matthew 40, Revelation 66, and established additional books continue to 89. Further source identities receive deterministic numbers from 1000000. books.json lists the numbers the translation has.",
"schema": {
"type": "integer",
"minimum": 1,
"maximum": 281474977710655
}
},
{
"name": "chapter",
"in": "path",
"required": true,
"description": "Chapter number; chapters.json lists the chapters the book has.",
"schema": {
"type": "integer",
"minimum": 1
}
}
],
"responses": {
"200": {
"description": "One chapter",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/chapter"
}
}
}
},
"404": {
"description": "No such document. The tree is static: a document the index documents do not list does not exist."
}
}
}
GET /v3/{translation}/{book}/{chapter}.sha#
The SHA-1 of the chapter document
Forty hexadecimal digits and a line feed: the SHA-1 of the bytes of the chapter document.
Operation ID: getChapterChecksum.
| Parameter | In | Required | Type | Example / default | Description |
|---|---|---|---|---|---|
translation |
path | Yes | string | kjv | The translation's abbreviation, as translations.json lists it. |
book |
path | Yes | integer | 1 | GetBible book number: Genesis is 1, Matthew 40, Revelation 66, and established additional books continue to 89. Further source identities receive deterministic numbers from 1000000. books.json lists the numbers the translation has. |
chapter |
path | Yes | integer | 1 | Chapter number; chapters.json lists the chapters the book has. |
Responses#
| Status | Description | Media type | Schema |
|---|---|---|---|
| 200 | The SHA-1 of the chapter document | text/plain | #/components/schemas/checksum |
| 404 | No such document. The tree is static: a document the index documents do not list does not exist. | — | See contract |
Complete operation contract
{
"tags": [
"chapter"
],
"summary": "The SHA-1 of the chapter document",
"description": "Forty hexadecimal digits and a line feed: the SHA-1 of the bytes of the chapter document.",
"operationId": "getChapterChecksum",
"parameters": [
{
"name": "translation",
"in": "path",
"required": true,
"description": "The translation's abbreviation, as translations.json lists it.",
"schema": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9_-]{0,29}$",
"enum": [
"akjv",
"alb",
"aleppo",
"almeida",
"aov",
"arabicsv",
"asv",
"basicenglish",
"basque",
"bibelselskap",
"bkr",
"breton",
"burcbcm",
"calo",
"canisius",
"cep",
"chamorro",
"che1860",
"chiunl",
"cns",
"cnt",
"codex",
"coptic",
"cornilescu",
"croatia",
"csielizabeth",
"cus",
"cut",
"danish",
"danish1819",
"danish1871",
"darby",
"dari",
"douayrheims",
"easternarmenian",
"elberfelder",
"elberfelder1905",
"esperanto",
"estonian",
"finnish1776",
"gaelic",
"giovanni",
"gothic",
"japbungo",
"japdenmo",
"japkougo",
"japraguet",
"judson",
"karoli",
"kjv",
"kjva",
"klv",
"korean",
"koreankjv",
"latvian",
"lithuanian",
"livre",
"livretr",
"ls1910",
"luther1545",
"lxx",
"mal1910",
"manxgaelic",
"maori",
"martin",
"mg1865",
"moderngreek",
"modernhebrew",
"monkjv",
"ndebele",
"norsmb",
"peshitta",
"pohnold",
"pohnpeian",
"polgdanska",
"polugdanska",
"potawatomi",
"pyharaamattu1933",
"pyharaamattu1992",
"riveduta",
"rv1858",
"sahidic",
"schlachter",
"shona",
"srkdekavski",
"srkdijekav",
"sse",
"statenvertaling",
"statenvertalinga",
"swahili",
"swedish",
"swekarlxii",
"swekarlxii1873",
"synodal",
"tagalog",
"tausug",
"textusreceptus",
"thai",
"tischendorf",
"tpikjpb",
"turhadi",
"turkish",
"tyndale",
"ukranian",
"ukrogienko",
"uma",
"valera",
"vietnamese",
"vulgate",
"wb",
"web",
"westcotthort",
"westernarmenian",
"weymouth",
"wycliffe",
"ylt",
"zhuromsky"
]
}
},
{
"name": "book",
"in": "path",
"required": true,
"description": "GetBible book number: Genesis is 1, Matthew 40, Revelation 66, and established additional books continue to 89. Further source identities receive deterministic numbers from 1000000. books.json lists the numbers the translation has.",
"schema": {
"type": "integer",
"minimum": 1,
"maximum": 281474977710655
}
},
{
"name": "chapter",
"in": "path",
"required": true,
"description": "Chapter number; chapters.json lists the chapters the book has.",
"schema": {
"type": "integer",
"minimum": 1
}
}
],
"responses": {
"200": {
"description": "The SHA-1 of the chapter document",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/checksum"
}
}
}
},
"404": {
"description": "No such document. The tree is static: a document the index documents do not list does not exist."
}
}
}
Component schemas#
Types, required properties, nested objects, constraints and examples below are copied directly from the contract. A property omitted from a schema’s required array is optional, even when examples include it.
translation#
One whole translation: its metadata, the source module's description and distribution metadata, title metadata and introductions attached at the translation level, and every book with every chapter and verse. A bulk document; translations.json states its size through its url and sha.
View full translation schema
{
"title": "Translation",
"description": "One whole translation: its metadata, the source module's description and distribution metadata, title metadata and introductions attached at the translation level, and every book with every chapter and verse. A bulk document; translations.json states its size through its url and sha.",
"type": "object",
"properties": {
"translation": {
"type": "string",
"description": "Display name of the translation."
},
"abbreviation": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9_-]{0,29}$",
"description": "The translation's identifier and the first path segment of every one of its documents."
},
"lang": {
"type": "string",
"description": "Language code of the translation."
},
"language": {
"type": "string",
"description": "Language name; empty when the builder's tables have no name for the code."
},
"direction": {
"type": "string",
"description": "Writing direction of the text, LTR or RTL."
},
"encoding": {
"type": "string",
"description": "Character encoding declared by the source module. The generated documents are always UTF-8."
},
"description": {
"type": "string",
"description": "The source module's description of the translation."
},
"titles": {
"type": "array",
"minItems": 1,
"items": {
"$ref": "#/components/schemas/title"
},
"description": "Title metadata belonging to this level, in source order."
},
"introduction": {
"$ref": "#/components/schemas/introduction"
},
"books": {
"type": "array",
"items": {
"$ref": "#/components/schemas/book/$defs/entry"
},
"description": "The source module's books with verses, titles, or introductions, in source order. Empty canon positions without content are omitted."
},
"distribution_lcsh": {
"type": "string",
"description": "Library of Congress subject heading of the source module."
},
"distribution_version": {
"type": "string",
"description": "Version of the source module."
},
"distribution_version_date": {
"type": "string",
"description": "Release date of that version."
},
"distribution_abbreviation": {
"type": "string",
"description": "Abbreviation the source module uses for itself."
},
"distribution_about": {
"type": "string",
"description": "The source module's own description of the text."
},
"distribution_license": {
"type": "string",
"description": "Distribution licence of the text."
},
"distribution_sourcetype": {
"type": "string",
"description": "Markup of the source module, such as OSIS."
},
"distribution_source": {
"type": "string",
"description": "Provenance of the text as the source module states it."
},
"distribution_versification": {
"type": "string",
"description": "Versification system of the source module."
},
"distribution_history": {
"type": "object",
"description": "Every history entry of the source module, keyed as the module keys it.",
"additionalProperties": {
"type": "string"
}
}
},
"required": [
"translation",
"abbreviation",
"lang",
"language",
"direction",
"encoding",
"description",
"books",
"distribution_lcsh",
"distribution_version",
"distribution_version_date",
"distribution_abbreviation",
"distribution_about",
"distribution_license",
"distribution_sourcetype",
"distribution_source",
"distribution_versification",
"distribution_history"
],
"additionalProperties": false
}
book#
One book: the translation's metadata, the book's number and name, its title metadata and introduction when the source supplies them, and every chapter. Each nested chapter is what the standalone chapter document holds after the shared metadata. Books containing only title metadata or introduction text remain published with an empty chapters array.
View full book schema
{
"title": "Book",
"description": "One book: the translation's metadata, the book's number and name, its title metadata and introduction when the source supplies them, and every chapter. Each nested chapter is what the standalone chapter document holds after the shared metadata. Books containing only title metadata or introduction text remain published with an empty chapters array.",
"type": "object",
"properties": {
"translation": {
"type": "string",
"description": "Display name of the translation."
},
"abbreviation": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9_-]{0,29}$",
"description": "The translation's identifier and the first path segment of every one of its documents."
},
"lang": {
"type": "string",
"description": "Language code of the translation."
},
"language": {
"type": "string",
"description": "Language name; empty when the builder's tables have no name for the code."
},
"direction": {
"type": "string",
"description": "Writing direction of the text, LTR or RTL."
},
"encoding": {
"type": "string",
"description": "Character encoding declared by the source module. The generated documents are always UTF-8."
},
"nr": {
"type": "integer",
"minimum": 1,
"maximum": 281474977710655,
"description": "Stable GetBible book number. Established books keep numbers 1 through 89; additional source book identities receive deterministic extension numbers. The translation's books.json lists its actual book numbers."
},
"name": {
"type": "string",
"description": "Name of the book in the translation's language."
},
"titles": {
"type": "array",
"minItems": 1,
"items": {
"$ref": "#/components/schemas/title"
},
"description": "Title metadata belonging to this level, in source order."
},
"introduction": {
"$ref": "#/components/schemas/introduction"
},
"chapters": {
"type": "array",
"items": {
"$ref": "#/components/schemas/chapter/$defs/entry"
},
"description": "The content-bearing chapters of the book, in source order. Empty when the source supplies only book titles or introduction text."
}
},
"required": [
"translation",
"abbreviation",
"lang",
"language",
"direction",
"encoding",
"nr",
"name",
"chapters"
],
"additionalProperties": false,
"$defs": {
"entry": {
"title": "Book entry",
"description": "A book as nested in the translation document: the same members as the standalone book document after the shared metadata.",
"type": "object",
"properties": {
"nr": {
"type": "integer",
"minimum": 1,
"maximum": 281474977710655,
"description": "Stable GetBible book number. Established books keep numbers 1 through 89; additional source book identities receive deterministic extension numbers. The translation's books.json lists its actual book numbers."
},
"name": {
"type": "string",
"description": "Name of the book in the translation's language."
},
"titles": {
"type": "array",
"minItems": 1,
"items": {
"$ref": "#/components/schemas/title"
},
"description": "Title metadata belonging to this level, in source order."
},
"introduction": {
"$ref": "#/components/schemas/introduction"
},
"chapters": {
"type": "array",
"items": {
"$ref": "#/components/schemas/chapter/$defs/entry"
},
"description": "The content-bearing chapters of the book, in source order. Empty when the source supplies only book titles or introduction text."
}
},
"required": [
"nr",
"name",
"chapters"
],
"additionalProperties": false,
"anyOf": [
{
"properties": {
"chapters": {
"minItems": 1
}
}
},
{
"required": [
"titles"
]
},
{
"required": [
"introduction"
]
}
]
}
},
"anyOf": [
{
"properties": {
"chapters": {
"minItems": 1
}
}
},
{
"required": [
"titles"
]
},
{
"required": [
"introduction"
]
}
]
}
chapter#
One chapter: the translation's metadata, the book it belongs to, and its verses, with the optional reading layout and introduction. The same chapter members appear in the chapter nested in the book and translation documents.
View full chapter schema
{
"title": "Chapter",
"description": "One chapter: the translation's metadata, the book it belongs to, and its verses, with the optional reading layout and introduction. The same chapter members appear in the chapter nested in the book and translation documents.",
"type": "object",
"properties": {
"translation": {
"type": "string",
"description": "Display name of the translation."
},
"abbreviation": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9_-]{0,29}$",
"description": "The translation's identifier and the first path segment of every one of its documents."
},
"lang": {
"type": "string",
"description": "Language code of the translation."
},
"language": {
"type": "string",
"description": "Language name; empty when the builder's tables have no name for the code."
},
"direction": {
"type": "string",
"description": "Writing direction of the text, LTR or RTL."
},
"encoding": {
"type": "string",
"description": "Character encoding declared by the source module. The generated documents are always UTF-8."
},
"book_nr": {
"type": "integer",
"minimum": 1,
"maximum": 281474977710655,
"description": "Stable GetBible book number. Established books keep numbers 1 through 89; additional source book identities receive deterministic extension numbers. The translation's books.json lists its actual book numbers."
},
"book_name": {
"type": "string",
"description": "Name of the book in the translation's language."
},
"chapter": {
"type": "integer",
"minimum": 1,
"description": "Chapter number in the translation's own versification."
},
"name": {
"type": "string",
"description": "Book name and chapter, for example Genesis 1."
},
"introduction": {
"$ref": "#/components/schemas/introduction"
},
"editorial": {
"$ref": "#/components/schemas/editorial"
},
"verses": {
"type": "array",
"items": {
"$ref": "#/components/schemas/verse"
},
"description": "The verses of the chapter that have text, in verse order.",
"minItems": 1
}
},
"required": [
"translation",
"abbreviation",
"lang",
"language",
"direction",
"encoding",
"book_nr",
"book_name",
"chapter",
"name",
"verses"
],
"additionalProperties": false,
"$defs": {
"entry": {
"title": "Chapter entry",
"description": "A chapter as nested in a book or translation document: the same members as the standalone chapter document after the shared metadata. A chapter for which the source supplied an introduction or titles but no verse text is kept with an empty verses array and its titles, and has no standalone document; a chapter with verses carries its headings in editorial and never in titles.",
"type": "object",
"properties": {
"chapter": {
"type": "integer",
"minimum": 1,
"description": "Chapter number in the translation's own versification."
},
"name": {
"type": "string",
"description": "Book name and chapter, for example Genesis 1."
},
"introduction": {
"$ref": "#/components/schemas/introduction"
},
"editorial": {
"$ref": "#/components/schemas/editorial"
},
"verses": {
"type": "array",
"items": {
"$ref": "#/components/schemas/verse"
},
"description": "The verses of the chapter that have text, in verse order."
},
"titles": {
"type": "array",
"minItems": 1,
"items": {
"$ref": "#/components/schemas/title"
},
"description": "Title metadata of a chapter without published verses; a chapter with verses carries its headings in editorial instead."
}
},
"required": [
"chapter",
"name",
"verses"
],
"additionalProperties": false,
"if": {
"properties": {
"verses": {
"minItems": 1
}
}
},
"then": {
"not": {
"required": [
"titles"
]
}
},
"else": {
"not": {
"required": [
"editorial"
]
}
}
}
}
}
translations-index#
Every translation in the tree, keyed by abbreviation: the translation document's members except its books, with the URL the document was built for and the SHA-1 of its bytes.
View full translations-index schema
{
"title": "Translations index",
"description": "Every translation in the tree, keyed by abbreviation: the translation document's members except its books, with the URL the document was built for and the SHA-1 of its bytes.",
"type": "object",
"propertyNames": {
"pattern": "^[a-z0-9][a-z0-9_-]{0,29}$"
},
"additionalProperties": {
"type": "object",
"properties": {
"translation": {
"type": "string",
"description": "Display name of the translation."
},
"abbreviation": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9_-]{0,29}$",
"description": "The translation's identifier and the first path segment of every one of its documents."
},
"lang": {
"type": "string",
"description": "Language code of the translation."
},
"language": {
"type": "string",
"description": "Language name; empty when the builder's tables have no name for the code."
},
"direction": {
"type": "string",
"description": "Writing direction of the text, LTR or RTL."
},
"encoding": {
"type": "string",
"description": "Character encoding declared by the source module. The generated documents are always UTF-8."
},
"description": {
"type": "string",
"description": "The source module's description of the translation."
},
"titles": {
"type": "array",
"minItems": 1,
"items": {
"$ref": "#/components/schemas/title"
},
"description": "Title metadata belonging to this level, in source order."
},
"introduction": {
"$ref": "#/components/schemas/introduction"
},
"distribution_lcsh": {
"type": "string",
"description": "Library of Congress subject heading of the source module."
},
"distribution_version": {
"type": "string",
"description": "Version of the source module."
},
"distribution_version_date": {
"type": "string",
"description": "Release date of that version."
},
"distribution_abbreviation": {
"type": "string",
"description": "Abbreviation the source module uses for itself."
},
"distribution_about": {
"type": "string",
"description": "The source module's own description of the text."
},
"distribution_license": {
"type": "string",
"description": "Distribution licence of the text."
},
"distribution_sourcetype": {
"type": "string",
"description": "Markup of the source module, such as OSIS."
},
"distribution_source": {
"type": "string",
"description": "Provenance of the text as the source module states it."
},
"distribution_versification": {
"type": "string",
"description": "Versification system of the source module."
},
"distribution_history": {
"type": "object",
"description": "Every history entry of the source module, keyed as the module keys it.",
"additionalProperties": {
"type": "string"
}
},
"url": {
"type": "string",
"format": "uri",
"description": "The public URL the document was built for."
},
"sha": {
"type": "string",
"pattern": "^[0-9a-f]{40}$",
"description": "SHA-1 of the document's bytes, the same value its .sha file holds."
}
},
"required": [
"translation",
"abbreviation",
"lang",
"language",
"direction",
"encoding",
"description",
"distribution_lcsh",
"distribution_version",
"distribution_version_date",
"distribution_abbreviation",
"distribution_about",
"distribution_license",
"distribution_sourcetype",
"distribution_source",
"distribution_versification",
"distribution_history",
"url",
"sha"
],
"additionalProperties": false
}
}
books-index#
Every book of one translation, keyed by book number: the book document's members except its chapters, with the URL the document was built for and the SHA-1 of its bytes.
View full books-index schema
{
"title": "Books index",
"description": "Every book of one translation, keyed by book number: the book document's members except its chapters, with the URL the document was built for and the SHA-1 of its bytes.",
"type": "object",
"propertyNames": {
"pattern": "^[1-9][0-9]*$"
},
"additionalProperties": {
"type": "object",
"properties": {
"translation": {
"type": "string",
"description": "Display name of the translation."
},
"abbreviation": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9_-]{0,29}$",
"description": "The translation's identifier and the first path segment of every one of its documents."
},
"lang": {
"type": "string",
"description": "Language code of the translation."
},
"language": {
"type": "string",
"description": "Language name; empty when the builder's tables have no name for the code."
},
"direction": {
"type": "string",
"description": "Writing direction of the text, LTR or RTL."
},
"encoding": {
"type": "string",
"description": "Character encoding declared by the source module. The generated documents are always UTF-8."
},
"nr": {
"type": "integer",
"minimum": 1,
"maximum": 281474977710655,
"description": "Stable GetBible book number. Established books keep numbers 1 through 89; additional source book identities receive deterministic extension numbers. The translation's books.json lists its actual book numbers."
},
"name": {
"type": "string",
"description": "Name of the book in the translation's language."
},
"titles": {
"type": "array",
"minItems": 1,
"items": {
"$ref": "#/components/schemas/title"
},
"description": "Title metadata belonging to this level, in source order."
},
"introduction": {
"$ref": "#/components/schemas/introduction"
},
"url": {
"type": "string",
"format": "uri",
"description": "The public URL the document was built for."
},
"sha": {
"type": "string",
"pattern": "^[0-9a-f]{40}$",
"description": "SHA-1 of the document's bytes, the same value its .sha file holds."
}
},
"required": [
"translation",
"abbreviation",
"lang",
"language",
"direction",
"encoding",
"nr",
"name",
"url",
"sha"
],
"additionalProperties": false
}
}
chapters-index#
Every chapter of one book, keyed by chapter number: the chapter document's members except its verses, with the URL the document was built for and the SHA-1 of its bytes.
View full chapters-index schema
{
"title": "Chapters index",
"description": "Every chapter of one book, keyed by chapter number: the chapter document's members except its verses, with the URL the document was built for and the SHA-1 of its bytes.",
"type": "object",
"propertyNames": {
"pattern": "^[1-9][0-9]*$"
},
"additionalProperties": {
"type": "object",
"properties": {
"translation": {
"type": "string",
"description": "Display name of the translation."
},
"abbreviation": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9_-]{0,29}$",
"description": "The translation's identifier and the first path segment of every one of its documents."
},
"lang": {
"type": "string",
"description": "Language code of the translation."
},
"language": {
"type": "string",
"description": "Language name; empty when the builder's tables have no name for the code."
},
"direction": {
"type": "string",
"description": "Writing direction of the text, LTR or RTL."
},
"encoding": {
"type": "string",
"description": "Character encoding declared by the source module. The generated documents are always UTF-8."
},
"book_nr": {
"type": "integer",
"minimum": 1,
"maximum": 281474977710655,
"description": "Stable GetBible book number. Established books keep numbers 1 through 89; additional source book identities receive deterministic extension numbers. The translation's books.json lists its actual book numbers."
},
"book_name": {
"type": "string",
"description": "Name of the book in the translation's language."
},
"chapter": {
"type": "integer",
"minimum": 1,
"description": "Chapter number in the translation's own versification."
},
"name": {
"type": "string",
"description": "Book name and chapter, for example Genesis 1."
},
"introduction": {
"$ref": "#/components/schemas/introduction"
},
"editorial": {
"$ref": "#/components/schemas/editorial"
},
"url": {
"type": "string",
"format": "uri",
"description": "The public URL the document was built for."
},
"sha": {
"type": "string",
"pattern": "^[0-9a-f]{40}$",
"description": "SHA-1 of the document's bytes, the same value its .sha file holds."
}
},
"required": [
"translation",
"abbreviation",
"lang",
"language",
"direction",
"encoding",
"book_nr",
"book_name",
"chapter",
"name",
"url",
"sha"
],
"additionalProperties": false
}
}
checksum-index#
The SHA-1 of every translation, book or chapter document at one level of the tree, keyed as that level is addressed: by abbreviation at the root, by book number in a translation, by chapter number in a book. Index, checksum and description documents are not listed here; each has its own .sha sibling.
View full checksum-index schema
{
"title": "Checksum index",
"description": "The SHA-1 of every translation, book or chapter document at one level of the tree, keyed as that level is addressed: by abbreviation at the root, by book number in a translation, by chapter number in a book. Index, checksum and description documents are not listed here; each has its own .sha sibling.",
"type": "object",
"additionalProperties": {
"type": "string",
"pattern": "^[0-9a-f]{40}$",
"description": "SHA-1 of the document's bytes."
}
}
checksum#
The content of a .sha file: the SHA-1 of the bytes of the JSON document of the same name, as forty lowercase hexadecimal digits followed by a line feed.
View full checksum schema
{
"title": "Checksum",
"description": "The content of a .sha file: the SHA-1 of the bytes of the JSON document of the same name, as forty lowercase hexadecimal digits followed by a line feed.",
"type": "string",
"pattern": "^[0-9a-f]{40}\\n$"
}
verse#
One verse. text is the display text and never begins with a line ending. paragraph is present when the verse begins a paragraph. tokens and spans are present together when the source carries OSIS word markup.
View full verse schema
{
"title": "Verse",
"description": "One verse. `text` is the display text and never begins with a line ending. `paragraph` is present when the verse begins a paragraph. `tokens` and `spans` are present together when the source carries OSIS word markup.",
"type": "object",
"properties": {
"chapter": {
"type": "integer",
"minimum": 1,
"description": "Chapter number in the translation's own versification."
},
"verse": {
"type": "integer",
"minimum": 1,
"description": "Verse number in the translation's own versification."
},
"name": {
"type": "string",
"description": "Book name, chapter and verse, for example Genesis 1:1."
},
"text": {
"type": "string",
"minLength": 1,
"pattern": "^[^\\r\\n]",
"description": "The verse text. Line endings inside the verse are preserved; none begins it."
},
"paragraph": {
"const": true,
"description": "Present when the verse begins a paragraph."
},
"tokens": {
"type": "array",
"items": {
"$ref": "#/components/schemas/token"
},
"description": "Word-level tokens in reading order; present with spans when the source carries OSIS word markup."
},
"spans": {
"type": "array",
"items": {
"$ref": "#/components/schemas/span"
},
"description": "Annotations over token and word ranges; present with tokens."
}
},
"required": [
"chapter",
"verse",
"name",
"text"
],
"dependentRequired": {
"tokens": [
"spans"
],
"spans": [
"tokens"
]
},
"additionalProperties": false
}
token#
One word-level token of a verse or title. Tokens are listed in reading order. word_start and word_end locate the token in the whitespace-separated words of the display text (1-based, inclusive; 0 when the token could not be located). Every other member is an attribute of the source OSIS w element: multi-valued attributes are grouped by scheme and src is split into positions, any other attribute is kept as its string value.
View full token schema
{
"title": "Token",
"description": "One word-level token of a verse or title. Tokens are listed in reading order. `word_start` and `word_end` locate the token in the whitespace-separated words of the display text (1-based, inclusive; 0 when the token could not be located). Every other member is an attribute of the source OSIS w element: multi-valued attributes are grouped by scheme and `src` is split into positions, any other attribute is kept as its string value.",
"type": "object",
"properties": {
"token": {
"type": "string",
"minLength": 1,
"description": "The token text as it appears in the display text."
},
"word_start": {
"type": "integer",
"minimum": 0,
"description": "First whitespace-separated word of the display text the token covers, 1-based."
},
"word_end": {
"type": "integer",
"minimum": 0,
"description": "Last whitespace-separated word the token covers, inclusive."
},
"lemma": {
"type": "object",
"description": "Lexical identifiers grouped by OSIS scheme, for example {\"strong\": [\"H07225\"]}.",
"additionalProperties": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
}
},
"morph": {
"type": "object",
"description": "Morphology codes grouped by OSIS scheme.",
"additionalProperties": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
}
},
"xlit": {
"type": "object",
"description": "Transliterations grouped by OSIS scheme.",
"additionalProperties": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
}
},
"src": {
"type": "array",
"items": {
"type": [
"integer",
"string"
]
},
"description": "Source word positions of the token; strings only when the source value is not numeric."
},
"gloss": {
"type": "string",
"description": "Gloss supplied by the source."
},
"n": {
"type": "string",
"description": "The OSIS n attribute of the word."
},
"type": {
"type": "string",
"description": "The OSIS type attribute of the word."
},
"subType": {
"type": "string",
"description": "The OSIS subType attribute of the word."
},
"morphSegmented": {
"const": true,
"description": "Present when the word carries a morphological segment."
},
"variant": {
"const": true,
"description": "Present when the word is a textual variant."
},
"variantType": {
"type": "string",
"description": "The variant's subType when the source supplies one."
}
},
"required": [
"token",
"word_start",
"word_end"
],
"additionalProperties": {
"type": "string",
"description": "Any other attribute of the source w element, kept as its string value."
}
}
span#
An annotation over a range of tokens: the OSIS context element that marks them (divineName, transChange, hi, q, foreign, inscription, name, speaker, number, unit or seg), the exact text it marks, and the range in both addressings. token_start and token_end index the verse's tokens array (0-based, inclusive); word_start and word_end count whitespace-separated words of the display text (1-based, inclusive; 0 when the text could not be located).
View full span schema
{
"title": "Span",
"description": "An annotation over a range of tokens: the OSIS context element that marks them (divineName, transChange, hi, q, foreign, inscription, name, speaker, number, unit or seg), the exact text it marks, and the range in both addressings. `token_start` and `token_end` index the verse's tokens array (0-based, inclusive); `word_start` and `word_end` count whitespace-separated words of the display text (1-based, inclusive; 0 when the text could not be located).",
"type": "object",
"properties": {
"tag": {
"type": "string",
"minLength": 1,
"description": "Name of the OSIS element."
},
"span": {
"type": "string",
"description": "The exact text the element marks."
},
"attrs": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "Retained attributes of the element; absent when there are none."
},
"token_start": {
"type": "integer",
"minimum": 0,
"description": "Index of the first token the span covers."
},
"token_end": {
"type": "integer",
"minimum": 0,
"description": "Index of the last token the span covers, inclusive."
},
"word_start": {
"type": "integer",
"minimum": 0,
"description": "First whitespace-separated word of the display text the span covers, 1-based."
},
"word_end": {
"type": "integer",
"minimum": 0,
"description": "Last whitespace-separated word the span covers, inclusive."
}
},
"required": [
"tag",
"span",
"token_start",
"token_end",
"word_start",
"word_end"
],
"additionalProperties": false
}
editorial#
The reading layout of one chapter, in reading order. A heading is anchored before a verse; a paragraph is an inclusive range of verse numbers. order is the contiguous zero-based position of the entry. When paragraph entries are present they cover every verse of the chapter contiguously, from its first verse to its last. The array is absent when the chapter has neither headings nor explicit paragraph markers.
View full editorial schema
{
"title": "Editorial",
"description": "The reading layout of one chapter, in reading order. A heading is anchored before a verse; a paragraph is an inclusive range of verse numbers. `order` is the contiguous zero-based position of the entry. When paragraph entries are present they cover every verse of the chapter contiguously, from its first verse to its last. The array is absent when the chapter has neither headings nor explicit paragraph markers.",
"type": "array",
"minItems": 1,
"items": {
"oneOf": [
{
"$ref": "#/components/schemas/editorial/$defs/heading"
},
{
"$ref": "#/components/schemas/editorial/$defs/paragraph"
}
]
},
"$defs": {
"heading": {
"title": "Heading",
"type": "object",
"properties": {
"order": {
"type": "integer",
"minimum": 0,
"description": "Position of the entry in the array."
},
"type": {
"const": "heading"
},
"anchor": {
"type": "object",
"properties": {
"verse": {
"type": "integer",
"minimum": 1,
"description": "The verse the heading precedes."
},
"edge": {
"const": "before"
}
},
"required": [
"verse",
"edge"
],
"additionalProperties": false
},
"text": {
"type": "string",
"minLength": 1,
"description": "The heading text."
},
"heading_type": {
"type": "string",
"minLength": 1,
"description": "The OSIS title type, or unspecified when the source supplies none."
},
"canonical": {
"type": "boolean",
"description": "True only when the source explicitly marks the heading canonical."
}
},
"required": [
"order",
"type",
"anchor",
"text",
"heading_type",
"canonical"
],
"additionalProperties": false
},
"paragraph": {
"title": "Paragraph",
"type": "object",
"properties": {
"order": {
"type": "integer",
"minimum": 0,
"description": "Position of the entry in the array."
},
"type": {
"const": "paragraph"
},
"start": {
"type": "integer",
"minimum": 1,
"description": "First verse of the paragraph."
},
"end": {
"type": "integer",
"minimum": 1,
"description": "Last verse of the paragraph, inclusive."
}
},
"required": [
"order",
"type",
"start",
"end"
],
"additionalProperties": false
}
}
}
title#
Title metadata belonging to a translation or a book: its visible text, the OSIS title type when the source supplies one, the canonical flag and subtype the source states, and word-level tokens and spans when the title carries word markup.
View full title schema
{
"title": "Title",
"description": "Title metadata belonging to a translation or a book: its visible text, the OSIS title type when the source supplies one, the canonical flag and subtype the source states, and word-level tokens and spans when the title carries word markup.",
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "OSIS title type, such as main, chapter, section or psalm."
},
"text": {
"type": "string",
"minLength": 1,
"description": "The visible title text."
},
"canonical": {
"type": "boolean",
"description": "Whether the source marks the title canonical; absent when the source does not say."
},
"subtype": {
"type": "string",
"description": "OSIS subType of the title."
},
"tokens": {
"type": "array",
"items": {
"$ref": "#/components/schemas/token"
},
"description": "Word-level tokens in reading order; present with spans when the source carries OSIS word markup."
},
"spans": {
"type": "array",
"items": {
"$ref": "#/components/schemas/span"
},
"description": "Annotations over token and word ranges; present with tokens."
}
},
"required": [
"text"
],
"dependentRequired": {
"tokens": [
"spans"
],
"spans": [
"tokens"
]
},
"additionalProperties": false
}
introduction#
Introduction prose attached at its natural level: the translation (module or testament introductions), a book, or a chapter. Each entry is one source introduction.
View full introduction schema
{
"title": "Introduction",
"description": "Introduction prose attached at its natural level: the translation (module or testament introductions), a book, or a chapter. Each entry is one source introduction.",
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"properties": {
"text": {
"type": "string",
"minLength": 1,
"description": "The introduction text."
}
},
"required": [
"text"
],
"additionalProperties": false
}
}
Authentication contract#
{
"security": [],
"securitySchemes": {}
}
See access and tokens for public usage and token requests.