<commit_before><ul>
  <li><a href="#endpoint-index">Endpoint index</a></li>
  <li><a href="#data-model">Data model</a></li>
  <li><a href="#version">Version</a></li>
  <li><a href="#schema">Schema</a></li>
  <li><a href="#parameters">Parameters</a></li>
  <li><a href="#errors">Errors</a></li>
  <li><a href="#pagination">Pagination</a></li>
  <li><a href="#rate-limiting">Rate limiting</a></li>
</ul>

### Endpoint index

You can jump directly to the <strong><a href="/api/1/">endpoint
index</a></strong>, which lists all available API functionalities, or read on
for more general information about the API.


### Data model

The [Software Heritage](https://www.softwareheritage.org/) project harvests
publicly available source code by tracking software distribution channels such
as version control systems, tarball releases, and distribution packages.

All retrieved source code and related metadata are stored in the Software
Heritage archive, that is conceptually
a [Merkle DAG](https://en.wikipedia.org/wiki/Merkle_tree). All nodes in the
graph are content-addressable, i.e., their node identifiers are computed by
hashing their content and, transitively, that of all nodes reachable from them;
and no node or edge is ever removed from the graph: the Software Heritage
archive is an append-only data structure.

The following types of objects (i.e., graph nodes) can be found in the Software
Heritage archive <small>(for more information see
the
[Software Heritage glossary](https://wiki.softwareheritage.org/index.php?title=Glossary))</small>:

- **Content**: a specific version of a file stored in the archive, identified
  by its cryptographic hashes (currently: SHA1, Git-like "salted" SHA1,
  SHA256). Note that content objects are nameless; their names are
  context-dependent and stored as part of directory entries (see below).<br />
  *Also known as:* "blob"
- **Directory**: a list of directory entries, where each entry can point to
  content objects ("file entries"), revisions ("revision entries"), or<commit_msg>Change the glossary URL from the wiki to the doc.<commit_after><ul>
  <li><a href="#endpoint-index">Endpoint index</a></li>
  <li><a href="#data-model">Data model</a></li>
  <li><a href="#version">Version</a></li>
  <li><a href="#schema">Schema</a></li>
  <li><a href="#parameters">Parameters</a></li>
  <li><a href="#errors">Errors</a></li>
  <li><a href="#pagination">Pagination</a></li>
  <li><a href="#rate-limiting">Rate limiting</a></li>
</ul>

### Endpoint index

You can jump directly to the <strong><a href="/api/1/">endpoint
index</a></strong>, which lists all available API functionalities, or read on
for more general information about the API.


### Data model

The [Software Heritage](https://www.softwareheritage.org/) project harvests
publicly available source code by tracking software distribution channels such
as version control systems, tarball releases, and distribution packages.

All retrieved source code and related metadata are stored in the Software
Heritage archive, that is conceptually
a [Merkle DAG](https://en.wikipedia.org/wiki/Merkle_tree). All nodes in the
graph are content-addressable, i.e., their node identifiers are computed by
hashing their content and, transitively, that of all nodes reachable from them;
and no node or edge is ever removed from the graph: the Software Heritage
archive is an append-only data structure.

The following types of objects (i.e., graph nodes) can be found in the Software
Heritage archive <small>(for more information see
the
[Software Heritage glossary](https://docs.softwareheritage.org/devel/glossary.html))</small>:

- **Content**: a specific version of a file stored in the archive, identified
  by its cryptographic hashes (currently: SHA1, Git-like "salted" SHA1,
  SHA256). Note that content objects are nameless; their names are
  context-dependent and stored as part of directory entries (see below).<br />
  *Also known as:* "blob"
- **Directory**: a list of directory entries, where each entry can point to
  content objects ("file entries"), revisions ("revision entries"), or
{'fraction_non_alphanumeric': 0.12551892551892552, 'fraction_numerical': 0.0029304029304029304, 'mean_word_length': 5.15015015015015, 'pattern_counts': {'":': 0, '<': 85, '<?xml version=': 0, '>': 85, 'https://': 6, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5890145', 'n_tokens_mistral': 1154, 'n_tokens_neox': 1118, 'n_words': 466}