Scale Intelligence■ Docs
Docs / Reference / read: fit frame

read: fit frame.

Reads the frame of one fit search to The answer gives the markets ranked, the offering sculpted for each buyer profile, the tactics proposed to test the fit, the verdict for each market, and the set of options that compares them

Figure 1POST /v1/read/fit_framespecified
CALLERyour app or an agentholds the keyAPI GATEWAY/v1/read/fit_frame4 headersCORE: READrung brandgrant readRECORDreads or writesCARD, 200body FitSearchFrameThe input is FitFrameInput. Every response carries the contract's hash.flows forwardthe result
The caller sends FitFrameInput to /v1/read/fit_frame. The platform returns a card whose body is FitSearchFrame.
POST/v1/read/fit_frame

Read a search’s frame. The call needs the brand rung under a token with the read grant, and it is served by either, by the size bound.

The route takes FitFrameInput and returns a card whose body is FitSearchFrame.

Request body#

The request body is FitFrameInput.

fieldtyperequirednote
searchidyes

Response#

The route returns a card whose body is FitSearchFrame. 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.

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 brand rung and a token with the read grant. The platform or the desktop app serves this route.

Example#

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

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

MCP tool#

The MCP tool si.read.fit_frame takes the same input and returns the same card. The tool only reads data. An MCP host that renders cards draws this card from ui://scale-intelligence/cards/FitSearchFrame. The tool’s page describes it.

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

{
  "search": "…"
}
Without a key, this page shows the request only. The request body is FitFrameInput, and the route returns a card whose body is FitSearchFrame.

Claims#

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