---
title: "Build Coexistence Matrix Endpoint"
method: POST
path: "/v1/cron/build-coexistence-matrix"
tags: ["cron", "cron"]
---

# Build Coexistence Matrix Endpoint

`POST /v1/cron/build-coexistence-matrix`

## Request

- Base URL: `https://api.etymolt.com`
- URL: `https://api.etymolt.com/v1/cron/build-coexistence-matrix`
- Auth: none declared

Build the v2 coexistence-signal class-relatedness matrix in a
DETACHED subprocess and write to /data/class_relatedness_matrix_v2.json.

Post-run, the loader picks up the newer disk file (see
services.class_relatedness._load_matrix which prefers newer version
over the embedded v2-densified fallback).

Wall-clock: ~5-30 minutes depending on marks-table size (~14M rows
after backfill).  Runs in a detached subprocess like the pipeline
endpoints so the HTTP call returns immediately.

## Query parameters

- `min_wordmarks` integer

## Headers

- `authorization` string, nullable
- `X-Etymolt-Key` string, nullable

## Response `200`

Successful Response

- object

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/etymolt/apis/etymolt-verify-ai-generated-brand-names.md) · [All operations](https://skmtc.dev/etymolt/apis/etymolt-verify-ai-generated-brand-names/llms.txt) · [OpenAPI document](https://skmtc.dev/etymolt/apis/etymolt-verify-ai-generated-brand-names/revisions/7228ffa1efa7?raw)
