Rank catalog model profiles by agent-supplied criteria.
Rank catalog model profiles by agent-supplied criteria. - Rensei REST API operation reference.
AuthorizationBearer <rsk_live_*>Rensei API key presented as Authorization: Bearer rsk_live_. Required API-key scopes are recorded per operation in x-rensei-required-scopes.
projectId*string1 <= lengthapplication/json- body
requiredCapabilityTags?array<string>maxPriceInputPerMtokCents?number0 <= valuemaxPriceOutputPerMtokCents?number0 <= valuemaxCostPerTaskCents?number0 <= valueexpectedInputTokens?integer0 <= value <= 9007199254740991expectedOutputTokens?integer0 <= value <= 9007199254740991minThroughputTps?number0 <= valuemaxLatencySeconds?number0 <= valueminContextWindow?integer0 <= value <= 9007199254740991minMaxOutputTokens?integer0 <= value <= 9007199254740991requiredInputModalities?array<string>requiredOutputModalities?array<string>requiredHarness?stringsupportedParameters?array<string>objective?string"lowest-cost""largest-context""highest-benchmark"benchmarkRank?minBenchmark?limit?integer1 <= value <= 25Ranked catalog candidates with reasons and source provenance. minThroughputTps and maxLatencySeconds are inclusive bounds on the latest llm-stats throughput_tps (tokens/second) and latency_s (seconds). Missing or non-finite requested metrics and bound failures appear in excluded with reasons. maxCostPerTaskCents requires expectedInputTokens and expectedOutputTokens; estimates use uncached catalog input/output prices in cents per million tokens. Unpriced and over-budget rows appear in excluded with reasons; accepted rows carry estimatedCostPerTaskCents. Every returned result carries a granting profileId — a catalog entry with no profile grant for this project/org/system scope is excluded from results entirely rather than returned with a null id. Pass minBenchmark {source, metric, minValue} to require a minimum benchmark result on a candidate's latest snapshot (a model with no numeric value for the pair is excluded, reported as floors-too-high), or objective: highest-benchmark with benchmarkRank {source, metric} to rank by that value highest-first (models without a value sort last and say why). A benchmark ranking first checks per-eval SCALE comparability across the pool: mixed or unrankable scales refuse with benchmark-scale-mismatch instead of ordering numbers that mean different things. Each candidate's benchmarks list carries the latest snapshot values with source and observed date, plus per-eval scores (benchmark id, scale, version, observed date) at full source precision. Artificial Analysis entries are effort-qualified: one entry per effort (null for a base observation), and a floor or rank reads only the entry at the granting profile's own effort, never another effort's number. status distinguishes why results may be empty: runner-capacity-unavailable (the project has no runner-capable execution pool) and verification-budget-exhausted (ranked candidates existed but the bounded launch-verification pass could not confirm one within budget — narrowing the criteria may help) are both distinct from credentials-missing (candidates existed and were all tried, none resolve today). Candidates are verified against the real launch resolver in ranked order, sequentially, under a BOUNDED attempt budget of min(max(3 × limit, 30), 40) resolutions — at most 40 for any request, the accepted worst case (~250 statements). truncated: true means that budget ran out before every ranked candidate was tried, so a launchable row may exist past the point this answer looked; a short results page with truncated: false is a complete answer. Retrying with a larger limit buys a larger budget, but only within that ceiling: the spread between the default page and the maximum page is 30 attempts to 40, not more, so limit is a narrow recovery lever rather than an unbounded one.
application/json- response
status*string"ok""no-candidates-in-pool""credentials-missing""floors-too-high""price-unknown""benchmark-scale-mismatch""runner-capacity-unavailable""verification-budget-exhausted"truncated*booleanexcluded?array<>results*array<>curl -X POST 'https://app.rensei.ai/api/projects/string/model-profiles/catalog/select' \ -H 'Content-Type: application/json' \ -d '{}'{ "status": "ok", "truncated": true, "excluded": [ { "catalogId": "string", "reasons": [ "string" ], "estimatedCostPerTaskCents": 0 } ], "results": [ { "catalogId": "string", "profileId": "string", "rank": 0, "estimatedCostPerTaskCents": 0, "reasons": [ "string" ], "provenance": { "property1": { "source": "string", "observedAt": "string" }, "property2": { "source": "string", "observedAt": "string" } }, "supportedParameters": [ "string" ], "benchmarks": [ { "source": "string", "sourceVersion": "string", "observedDate": "string", "sourceModelName": "string", "metrics": null, "scores": [ { "benchmarkId": "string", "metric": "string", "value": 0, "scale": "ratio-0-1", "version": "string", "observedDate": "string" } ], "effort": "xhigh" } ] } ]}Read the bounded human-view knowledge-graph projection for a project.
Returns the curated, bounded human-view knowledge graph (nodes + edges with server-computed layout positions) for a project, scoped to the authenticated org. Deliberately bounded by a freshness window (default 30 days; widen with ?window=<days> or ?window=all) and top-N importance caps - the agent-facing full graph is not windowed. This is a platform-owned read projection, not a memory write surface.
List a project's resource palette, grouped by kind.
Returns the project's unified resource palette grouped by kind (repo, tracker, ...), optionally filtered to a single ?kind. Bearer-reachable read scoped to project-viewer access; a signed-in caller with no project access or a cross-tenant project gets 403, and a machine credential naming a project outside its org (or one that does not exist) gets 404.