---
title: "The manifest of a build"
method: GET
path: "/manifest.json"
---

# The manifest of a build

`GET /manifest.json`

## Request

- Base URL: `https://tickerinside.com/api/v1`
- URL: `https://tickerinside.com/api/v1/manifest.json`
- Auth: none required

Written last by every build: when it ran, the version of the API's shape and of the calculations, each source with its version, date and age in days, and one sha256 for each family of files. The sha256 of every file under /api/v1/ is in /api/v1/sha256sums.txt.gz, in the format of sha256sum. Give built_at and calculation.version beside a figure to cite the exact state it comes from. The list holds every file under /api/v1/ but the manifest and the list. A family's sha256 is the digest of its lines of the list, so it is the same on two nights whose files of that family did not change.

## Response `200`

The file. The example is a real answer, shortened: long lists and maps keep their first entries.

- Manifest
  - `manifest_version` number, nullable, required: The version of this file's own shape: 1. A field added keeps it.
  - `built_at` string, nullable, required: When the build that wrote every file listed here ran, in UTC. Give it beside a figure to cite the exact state it comes from.
  - `build_date` string, nullable, required: The day of built_at.
  - `schema` object, required: The version of the API's shape; its fields are described below.
    - `api` string, nullable, required: The version in the path: v1. Inside it, fields are added, never removed or retyped.
    - `digest` string, nullable, required: The sha256 of the tables the API reference and the OpenAPI description are written from: the names of the fields and codes and the types they fix, without their words. It is read from the code, never from a night's files, so the night's data never moves it; a field, a code or a type added to those tables does.
    - `openapi` string, nullable, required: The OpenAPI description.
  - `calculation` object, required: The version of the calculations; its fields are described below.
    - `version` string, nullable, required: The first 16 hexadecimal characters of the sha256 of the method ids and the versions under readers: it moves when any of them does, and on no other night.
    - `methods` object[], nullable, required: Each method of methods.json, as id and since, the first day figures were published under it.
      - `id` string, nullable
      - `since` string, nullable
    - `readers` object, required: The version of each reader and computation named here, by name: it rises when what it makes of the same input changes, and for issuer_file_read, price_read, returns_and_risk and computed_answers with any change to their code. key_scheme is how securities are keyed (2: a line abroad carries its market). Code not named here moves no version: a figure it corrects is recorded in corrections.json.
  - `sources` object[], required: Each source of the data with its version, date and age in days on the day of the build; their fields are described below.
    - `id` string, nullable, required: The source: prices, a layer of fund files by its source_layer (issuer, sec_nport and the others), or directory, Nasdaq Trader's symbol directory.
    - `name` string, nullable, required: The source in words.
    - `version` string, nullable, required: The source's own version where it has one: the SEC's quarterly data set read (2026q2) for sec_nport, the file's date for the directory; null otherwise.
    - `date` string, nullable, required: The date of the data: the last close for prices, the newest holdings date of the layer's fund files, the directory's file date.
    - `age_days` integer, nullable, required: Days from date to the day of the build.
    - `oldest` string, nullable, required: The oldest holdings date of the layer's fund files; null for prices and the directory.
    - `oldest_age_days` integer, nullable, required: Days from oldest to the day of the build.
    - `median_age_days` integer, nullable, required: The median, over the layer's fund files, of the days from their holdings date to the day of the build.
    - `funds` integer, nullable, required: How many fund files of the layer; null for prices and the directory.
  - `files` object, required: The list of every file with its sha256; its fields are described below.
    - `count` number, nullable, required: How many files are listed: every file under /api/v1/ but this one and the list.
    - `bytes` number, nullable, required: Their size, added up.
    - `list` string, nullable, required: The list, gzipped: /api/v1/sha256sums.txt.gz.
    - `list_sha256` string, nullable, required: The sha256 of the list once unzipped.
    - `format` string, nullable, required: How the list is written, and the command that checks a copy against it.
  - `families` object, required: One entry per family of files, keyed by a directory followed by a slash (fund/) or by the name of a file at the top (index.json): files, the number of files, bytes, their size, and sha256, the digest of the family's lines of the list, in their order, each ending with a newline.
  - `methods_url` string, nullable, required: The methods of the computed figures, /api/v1/methods.json.
  - `contract` string, nullable, required: The data contract this file belongs to: /contract/.
  - `docs` string, nullable, required: Where this file is documented.
  - `license` string, nullable, required: The licence the file is published under.
  - `attribution` string, nullable, required: How to credit the data: a link to this file where the medium allows one, the name where it does not.

## Other responses

- `304`: Not modified: the ETag of your copy, sent in If-None-Match, is still current. Files are cached five minutes.
- `503`: The file could not be served just then: retry after a minute. uptime says whether the site fails its own checks.

---

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