---
title: "Get a document"
method: GET
path: "/entity/{path}"
---

# Get a document

`GET /entity/{path}`

## Request

- Base URL: `https://vineverse.bible/api/v1`
- URL: `https://vineverse.bible/api/v1/entity/{path}`
- Auth: none required

Any document by path:
  • People — people/moses
  • Places — places/bethel-1
  • Themes — themes/faith
  • Lexemes — lexemes/h430
  • Commandments — commandments/001-know-there-is-a-g-d
  • Events — sa/events/exodus-from-egypt
  • Epochs — epochs/david-reigns-in-jerusalem
  • Books — bible/john
  • Chapters — bible/john/3
  • Sources — sources/bibledata
  • Datasets — references/cross-references
  • Schema — schema/relations

Returns the document's structured fields, its typed relations in BOTH directions, what links to it, and optionally its full text. The inbound direction matters: the corpus stores each relation once, on one side only, so a person's parents live on their parents' documents and only `relations.inbound` recovers them.

Set body=true for the prose — a lexeme's Strong's definition, a commandment's Hebrew and a theme's outline of verses live in the body and nowhere else.

Where several people or places share a name the path is disambiguated with a number (people/zechariah-14, places/bethel-1) — search_concepts first if unsure. A collection path such as "themes" or "sources" returns what that collection holds.

## Path parameters

- `path` string, required

## Query parameters

- `body` boolean
- `backlinks` integer

## Response `200`

The document, its relations, links and backlinks.

- Entity
  - `id` string, required: Site route, e.g. "/people/moses". Strip the leading slash to use it as a path.
  - `title` string, required
  - `type` 'Person' | 'Place' | 'Theme' | 'Lexeme' | 'Commandment' | 'Event' | 'Epoch' | 'Book' | 'Chapter' | 'Source' | 'Dataset' | 'Relation Vocabulary', required: Which collection the document belongs to.
  - `description` string
  - `degree` integer, required: Number of graph edges touching this document.
  - `lat` number: Places only.
  - `lon` number: Places only.
  - `strongs` string: Lexemes only, e.g. "H430".
  - `osis` string: Scripture documents and commandments only.
  - `shareAlike` boolean: Present, and always true, only on CC BY-SA 4.0 documents. A listing has one licence block for many documents and cannot say which are viral, so it says it here instead. Filtering on the "/sa/" id prefix is NOT equivalent — it misses /sources/theographic.
  - `collection` object
    - `type` string
    - `label` string
    - `route` string
  - `tags` string[]
  - `status` 'draft' | 'stable' | 'deprecated'
  - `trustTier` 'unverified' | 'machine-confirmed' | 'human-reviewed'
  - `stale` boolean
  - `words` integer
  - `sources` Source[]
    - `id` string
    - `resource` string, required
    - `title` string
    - `author` string
    - `usage_count` integer
    - `last_modified` string
  - `generated` object
    - `by` string
    - `at` string
  - `extension` object: The x-bk block: the type-specific structured fields. Places carry lat, lon, identifications[] and name_variants; lexemes carry strongs, word, part_of_speech, occurrences and first_occurrence; epochs carry start_year_ah, end_year_ah, length_years and epoch_type; commandments carry commandment_number, polarity, osis and parashah; people carry sex, tribe, verse_count, first_reference and last_reference. `relations` here is the raw outbound mirror — prefer the resolved `relations` field above it.
  - `relations` object
    - `outbound` Relation[]
      - `predicate` string
      - `from` string: The verse the edge is anchored to, for chapter documents.
      - `target` string
      - `targetType` string
      - `title` string
      - `surface` string: The exact words in the verse that name the target, e.g. "Rabbi".
      - `note` string: The source's own sub-heading for the connection.
      - `verses` integer
      - `source` string: Which upstream dataset asserted this edge.
    - `inbound` InboundRelation[]
      - `predicate` string
      - `statedAs` string
      - `source` string: Route of the document that asserts the edge.
      - `title` string
      - `sourceType` string
      - `from` string
      - `surface` string
      - `note` string
  - `linkCount` integer
  - `links` NodeSummary[]
    - `id` string, required: Site route, e.g. "/people/moses". Strip the leading slash to use it as a path.
    - `title` string, required
    - `type` 'Person' | 'Place' | 'Theme' | 'Lexeme' | 'Commandment' | 'Event' | 'Epoch' | 'Book' | 'Chapter' | 'Source' | 'Dataset' | 'Relation Vocabulary', required: Which collection the document belongs to.
    - `description` string
    - `degree` integer, required: Number of graph edges touching this document.
    - `lat` number: Places only.
    - `lon` number: Places only.
    - `strongs` string: Lexemes only, e.g. "H430".
    - `osis` string: Scripture documents and commandments only.
    - `shareAlike` boolean: Present, and always true, only on CC BY-SA 4.0 documents. A listing has one licence block for many documents and cannot say which are viral, so it says it here instead. Filtering on the "/sa/" id prefix is NOT equivalent — it misses /sources/theographic.
  - `backlinkCount` integer: True total, before the cap.
  - `backlinksTruncated` boolean
  - `backlinks` NodeSummary[]
    - `id` string, required: Site route, e.g. "/people/moses". Strip the leading slash to use it as a path.
    - `title` string, required
    - `type` 'Person' | 'Place' | 'Theme' | 'Lexeme' | 'Commandment' | 'Event' | 'Epoch' | 'Book' | 'Chapter' | 'Source' | 'Dataset' | 'Relation Vocabulary', required: Which collection the document belongs to.
    - `description` string
    - `degree` integer, required: Number of graph edges touching this document.
    - `lat` number: Places only.
    - `lon` number: Places only.
    - `strongs` string: Lexemes only, e.g. "H430".
    - `osis` string: Scripture documents and commandments only.
    - `shareAlike` boolean: Present, and always true, only on CC BY-SA 4.0 documents. A listing has one licence block for many documents and cannot say which are viral, so it says it here instead. Filtering on the "/sa/" id prefix is NOT equivalent — it misses /sources/theographic.
  - `body` string: Markdown source. Only when body=true.
  - `licence` Licence: Carried on every response. The obligation is inherited by anyone who redistributes the data, not discharged by us. `document` is the licence of the specific document fetched, which is CC-BY-SA-4.0 for anything under sa/ and is the value to honour over the blanket statement.
    - `text` string
    - `data` string
    - `document` string: SPDX-style id for this document, e.g. "CC-BY-4.0".
    - `shareAlike` string
    - `reason` string
    - `attribution` string, uri

## Other responses

- `400`: The reference or parameter could not be parsed.
- `404`: No such document.
- `429`: Too many requests. Carries Retry-After. See the rate limit note in `info`.

---

[API](https://skmtc.dev/vineverse/apis/vineverse-api.md) · [All operations](https://skmtc.dev/vineverse/apis/vineverse-api/llms.txt) · [OpenAPI document](https://skmtc.dev/vineverse/apis/vineverse-api/revisions/39d053a686bb?raw)
