Models

Update Model

Rename, change the symbol, favorite, organize with private labels, toggle sharing, set the nightly refresh, or move the default view.

auto_update and notify_email need a built model (409 not_ready). start_date and start_rule only move where the default view begins; nothing is recomputed. The backtest's start date is an execution input, separate from this view window.

patch/v1/models/{model}

Request

  • Base URL: https://api.ensemble.markets (the document declares no server; this is the origin it was published from)
  • URL: https://api.ensemble.markets/v1/models/{model}
  • Auth: HTTP bearer

Path parameters

modelstring required

Model ID (model_... or legacy m-...), slug, symbol or exact name

Request body

namestring nullable

Update model name

symbolstring nullable

Update model symbol

is_publicboolean nullable

Toggle public sharing

is_favoriteboolean nullable

Favorite (true) or unfavorite (false) this model; omitted or null leaves it unchanged

labelsstring[] nullable

Replace private organizational labels; [] clears them, omitted or null leaves them unchanged

auto_updateboolean nullable

Enable (true) automatic updates for this model and all descendants, or disable (false) this model alone. Child executions also use credits. Disabling a child required by an enabled parent returns 409 auto_update_required_by_parents with parent links. Requires a built model.

notify_emailboolean nullable

Email the owner when a nightly refresh produces a new target allocation. Requires a built model.

start_datestring date nullable

Where the default view of the history begins (YYYY-MM-DD). The full history is always computed and full_history=true on any history read reveals it; omission lets start_rule choose. The backtest's start date is an execution input, separate from this view window. Moves the default view only; nothing is rerun. Send null to clear.

start_rule'two_members' | 'all_members' | 'first_member' nullable

Where the default view begins when no start_date is set. two_members (default): the first day two universe members have data, the earliest a rebalance between them means anything. all_members: the first day every member has data. first_member: the first day any member has data, the full history. Changing it moves the default view only; no rerun.

Example request

{
  "start_date": "2020-01-01"
}

Response

Successful Response

idstring required

Model ID (model_... or legacy m-...)

namestring nullable

May be null if the build failed before naming

symbolstring nullable

May be null if the build failed before naming

status'building' | 'active' | 'updating' | 'paused' | 'blocked' | 'failed' required

building: no results yet; active: results served and refreshed nightly; updating: a rebuild or refresh is running (results keep serving); blocked: updates await a failed or unavailable dependency; paused: results served, nightly refresh off; failed: the build never produced a usable model

warningstring nullable

Something went wrong without changing the status: a failed rebuild, a paused auto-update, or overdue data

depthinteger

0 when the model holds assets only; otherwise one more than its deepest member

as_ofstring date nullable

Last market session covered by the results

auto_updateboolean

Whether the nightly refresh is on

is_publicboolean required
is_favoriteboolean nullable

Owner's favorite state; null for non-owner readers

labelsstring[] nullable

Owner's private organizational labels; null for non-owner readers

urlstring nullable

Tear sheet URL; set once the model has built

created_atstring date-time required
updated_atstring date-time required
descriptionstring nullable
approved_revision_idstring nullable
editing_availableboolean
promptstring required
universestring[] nullable

Symbols the model's code actually trades, as recorded by the runtime: tickers, member model IDs, or both. Null until a run has succeeded.

script_urlstring nullable

Download URL for the standalone Python implementation (runtime harness inlined, served as text/x-python). Null until code exists.

start_datestring date nullable

Where the default view of the history begins (YYYY-MM-DD). The full history is always computed and full_history=true on any history read reveals it; omission lets start_rule choose. The backtest's start date is an execution input, separate from this view window.

start_rule'two_members' | 'all_members' | 'first_member'

Where the default view begins when no start_date is set. two_members (default): the first day two universe members have data, the earliest a rebalance between them means anything. all_members: the first day every member has data. first_member: the first day any member has data, the full history.

inputs_schemaobject nullable

JSON Schema for inputs on a run, with defaults: the script's declared inputs followed by the platform's start_date (format date, default null). A run at the defaults computes the full history and goes live; a run with a start_date trades nothing before it and is a snapshot.

live_run_idstring nullable

The default run whose result is the live history

estimate_centsinteger nullable

On the 202 from create and rebuild: what the queued build holds against the balance, in cents. The charge that lands when it finishes replaces this figure. Null on every other read.

build_idstring nullable

The build that produced the current script; on a failed program, the failed build, so getBuild shows what was billed. getBuild returns it.

is_ownerboolean

True when the caller owns this model

Changes

No recorded changes to this operation across all 1 revision of this API.