Scale Intelligence■ Docs
Docs / Reference / work: build facet

work: build facet.

A facet kind, a seed (a predicate, a list of communities, or a place from the gazetteer), the scope, and the positive and negative controls to the facet's register with every candidate kept or dropped and its reason in words, its people, its pairs and its trend, and the facet not ready until its calibration is read

Figure 1POST /v1/work/build_facetspecified
CALLERyour app or an agentholds the keyAPI GATEWAY/v1/work/build_facet4 headersCORE: WORKrung strategygrant workRECORDreads or writesTASK, 202body FacetThe input is BuildFacetInput. Every response carries the contract's hash.flows forwardthe result
The caller sends BuildFacetInput to /v1/work/build_facet. The platform returns a card whose body is Facet.
POST/v1/work/build_faceta task, 202

Build a facet. The call needs the strategy rung under a token with the work grant, and it is served by either, by the size bound.

The route takes BuildFacetInput and returns a card whose body is Facet.

Request body#

The request body is BuildFacetInput.

fieldtyperequirednote
facet_kindFacetKindyes
seedtextyes
againboolnowhen true, the same seed is built again as new work, for a presence that changed since the last build; without it the same seed under the same measure is the same work and returns the run already made
asked_again_attimenoset by the tool from the ask, so the run’s key differs; never typed by hand
scopeScopeyes

Response#

The route returns a card whose body is Facet. Every card ends with a foot that states the basis of each number, the scope of the call, and the time when the facts were true. This route runs as a long step and returns a task with status 202. POST /v1/work/status returns the task’s progress, and POST /v1/work/cancel stops the task.

Headers#

headerrequiredmeaning
Scale-Scopeyesthe scope the call runs in: tenant/, then /brand/, then /strategy/
Scale-As-True-Onnothe date the facts must have been true on; defaults to now
Scale-As-Known-Onnothe date the facts must have been known on; defaults to now
Scale-Keynofor a change, the key made from the input; a repeat under the same key returns the unit held and writes nothing

A caller needs the strategy rung and a token with the work grant. The platform or the desktop app serves this route.

Example#

The example sends the smallest body that BuildFacetInput allows. The build validates it against the schema of BuildFacetInput.

Example
curl -X POST https://api.scaleintelligence.co/v1/work/build_facet \
  -H "Scale-Key: $SCALE_KEY" -H "Scale-Scope: tenant/<id>" \
  -H "content-type: application/json" \
  -d '{ "facet_kind": "…", "seed": "…", "scope": { "level": "shared" } }'
import { client } from "@scale/sdk";
const answer = await client.work.build_facet({
    "facet_kind": "…",
    "seed": "…",
    "scope": {
      "level": "shared"
    }
  });
// answer.body is a Facet. answer.foot holds the basis, the scope and the time.
import requests
answer = requests.post("https://api.scaleintelligence.co/v1/work/build_facet",
    headers={"Scale-Key": KEY, "Scale-Scope": "tenant/<id>"},
    json={
      "facet_kind": "…",
      "seed": "…",
      "scope": {
        "level": "shared"
      }
    }).json()
let answer: Card = client.post("https://api.scaleintelligence.co/v1/work/build_facet")
    .header("Scale-Key", key).header("Scale-Scope", "tenant/<id>")
    .json(&BuildFacetInput { /* the fields of the page */ }).send().await?.json().await?;

MCP tool#

The MCP tool si.work.build_facet takes the same input and returns the same card. The tool changes data and needs a grant. An MCP host that renders cards draws this card from ui://scale-intelligence/cards/Facet. The tool’s page describes it.

POST /v1/work/build_facet
Scale-Scope: …
Scale-As-True-On: …
Scale-As-Known-On: …
Scale-Key: …
content-type: application/json

{
  "facet_kind": "…",
  "seed": "…",
  "scope": {
    "level": "shared"
  }
}
Without a key, this page shows the request only. The request body is BuildFacetInput, and the route returns a card whose body is Facet.

Claims#

claimstateroute or tool
The platform serves the route /v1/work/build_facet at contract 0476e35e6e275db5.target/v1/work/build_facet