HTTP API

Biome

GET/api/v1/biomes
GET
/api/v1/biomes

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Query Parameters

q?string

Full-text search query applied to the biome name

page?integer

1-indexed page number

Formatint64
Range0 <= value
page_size?integer

Page size

Formatint64
Range0 <= value
sort_by?string

Sort field (created_at, name)

sort_order?string

Sort order (asc or desc)

Value in

  • "asc"
  • "desc"
filter?array<string>

Additional filter expressions in the form field:operator:value

Response Body

application/json

curl -X GET "https://example.com/api/v1/biomes"
{  "biomes": [    {      "biome_id": "string",      "checkpoint_interval_virtual_hours": 0.1,      "created_at": "2019-08-24T14:15:22Z",      "created_by": "string",      "integrator": {        "max_step_virtual_hours": 0.1,        "method": "rk4"      },      "metadata": null,      "name": "string",      "regions": {        "geo_index": "string",        "migration_enabled": true,        "migration_rate": 0.1      },      "time_base": {        "use_virtual_time": true,        "world_id": "string"      },      "updated_at": "2019-08-24T14:15:22Z"    }  ],  "pagination": {    "has_more": true,    "page": 0,    "page_size": 0,    "total": 0  }}
POST/api/v1/biomes
POST
/api/v1/biomes

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/api/v1/biomes" \  -H "Content-Type: application/json" \  -d '{    "name": "string"  }'
{  "biome_id": "string",  "checkpoint_interval_virtual_hours": 0.1,  "created_at": "2019-08-24T14:15:22Z",  "created_by": "string",  "integrator": {    "max_step_virtual_hours": 0.1,    "method": "rk4"  },  "metadata": null,  "name": "string",  "regions": {    "geo_index": "string",    "migration_enabled": true,    "migration_rate": 0.1  },  "time_base": {    "use_virtual_time": true,    "world_id": "string"  },  "updated_at": "2019-08-24T14:15:22Z"}
POST/api/v1/biomes/checkpoint/internal
POST
/api/v1/biomes/checkpoint/internal

Request Body

application/json

Signed webhook delivery envelope carrying the checkpoint tick. Authenticated solely by the Snug-Signature HMAC header; no bearer token.

TypeScript Definitions

Use the request body type in TypeScript.

body*string

Response Body

application/json

curl -X POST "https://example.com/api/v1/biomes/checkpoint/internal" \  -H "Content-Type: application/json" \  -d 'string'
{  "alerts": [    {      "above": 0,      "at_virtual": 0.1,      "band": "string",      "below": 0,      "direction": "entered",      "hook": "string",      "population_id": "string",      "size": 0.1,      "slug": "string"    }  ],  "at_virtual": 0.1,  "biome_id": "string",  "populations_advanced": 0}
GET/api/v1/biomes/{biome_id}
GET
/api/v1/biomes/{biome_id}

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

biome_id*string

Response Body

application/json

curl -X GET "https://example.com/api/v1/biomes/string"
{  "biome_id": "string",  "checkpoint_interval_virtual_hours": 0.1,  "created_at": "2019-08-24T14:15:22Z",  "created_by": "string",  "integrator": {    "max_step_virtual_hours": 0.1,    "method": "rk4"  },  "metadata": null,  "name": "string",  "regions": {    "geo_index": "string",    "migration_enabled": true,    "migration_rate": 0.1  },  "time_base": {    "use_virtual_time": true,    "world_id": "string"  },  "updated_at": "2019-08-24T14:15:22Z"}
DELETE/api/v1/biomes/{biome_id}
DELETE
/api/v1/biomes/{biome_id}

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

biome_id*string

Response Body

application/json

curl -X DELETE "https://example.com/api/v1/biomes/string"
{  "biome_id": "string",  "message": "string"}
POST/api/v1/biomes/{biome_id}/checkpoint
POST
/api/v1/biomes/{biome_id}/checkpoint

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

biome_id*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/api/v1/biomes/string/checkpoint" \  -H "Content-Type: application/json" \  -d '{}'
{  "alerts": [    {      "above": 0,      "at_virtual": 0.1,      "band": "string",      "below": 0,      "direction": "entered",      "hook": "string",      "population_id": "string",      "size": 0.1,      "slug": "string"    }  ],  "at_virtual": 0.1,  "biome_id": "string",  "populations_advanced": 0}
POST/api/v1/biomes/{biome_id}/harvest
POST
/api/v1/biomes/{biome_id}/harvest

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

biome_id*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/api/v1/biomes/string/harvest" \  -H "Content-Type: application/json" \  -d '{    "events": [      {        "at_virtual": 0.1,        "delta": 0.1,        "population_id": "string"      }    ]  }'
{  "accepted": 0,  "duplicates": 0}
GET/api/v1/biomes/{biome_id}/interactions
GET
/api/v1/biomes/{biome_id}/interactions

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

biome_id*string

Response Body

application/json

curl -X GET "https://example.com/api/v1/biomes/string/interactions"
{  "interactions": [    {      "biome_id": "string",      "coefficients": {        "property1": 0.1,        "property2": 0.1      },      "interaction_id": "string",      "interaction_type": "predator_prey",      "source_population": "string",      "target_population": "string"    }  ]}
POST/api/v1/biomes/{biome_id}/interactions
POST
/api/v1/biomes/{biome_id}/interactions

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

biome_id*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/api/v1/biomes/string/interactions" \  -H "Content-Type: application/json" \  -d '{    "interaction_type": "predator_prey",    "source_population": "string",    "target_population": "string"  }'
{  "biome_id": "string",  "coefficients": {    "property1": 0.1,    "property2": 0.1  },  "interaction_id": "string",  "interaction_type": "predator_prey",  "source_population": "string",  "target_population": "string"}
GET/api/v1/biomes/{biome_id}/interactions/{interaction_id}
GET
/api/v1/biomes/{biome_id}/interactions/{interaction_id}

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

biome_id*string
interaction_id*string

Response Body

application/json

curl -X GET "https://example.com/api/v1/biomes/string/interactions/string"
{  "biome_id": "string",  "coefficients": {    "property1": 0.1,    "property2": 0.1  },  "interaction_id": "string",  "interaction_type": "predator_prey",  "source_population": "string",  "target_population": "string"}
PATCH/api/v1/biomes/{biome_id}/interactions/{interaction_id}
PATCH
/api/v1/biomes/{biome_id}/interactions/{interaction_id}

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

biome_id*string
interaction_id*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X PATCH "https://example.com/api/v1/biomes/string/interactions/string" \  -H "Content-Type: application/json" \  -d '{}'
{  "biome_id": "string",  "coefficients": {    "property1": 0.1,    "property2": 0.1  },  "interaction_id": "string",  "interaction_type": "predator_prey",  "source_population": "string",  "target_population": "string"}
DELETE/api/v1/biomes/{biome_id}/interactions/{interaction_id}
DELETE
/api/v1/biomes/{biome_id}/interactions/{interaction_id}

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

biome_id*string
interaction_id*string

Response Body

application/json

curl -X DELETE "https://example.com/api/v1/biomes/string/interactions/string"
{  "interaction_id": "string",  "message": "string"}
POST/api/v1/biomes/{biome_id}/interventions
POST
/api/v1/biomes/{biome_id}/interventions

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

biome_id*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/api/v1/biomes/string/interventions" \  -H "Content-Type: application/json" \  -d '{    "effective_from_virtual": 0.1,    "intervention_type": "restock",    "population_id": "string"  }'
{  "effective_from_virtual": 0.1,  "intervention_id": "string",  "population_id": "string"}
GET/api/v1/biomes/{biome_id}/populations
GET
/api/v1/biomes/{biome_id}/populations

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

biome_id*string

Response Body

application/json

curl -X GET "https://example.com/api/v1/biomes/string/populations"
{  "populations": [    {      "alert_bands": [        {          "above": 0,          "below": 0,          "hook": "string",          "name": "string"        }      ],      "biome_id": "string",      "birth_rate": 0.1,      "carrying_capacity": 0.1,      "checkpoint_at_virtual": 0.1,      "checkpoint_size": 0.1,      "death_rate": 0.1,      "kind": "species",      "name": "string",      "population_id": "string",      "slug": "string"    }  ]}
POST/api/v1/biomes/{biome_id}/populations
POST
/api/v1/biomes/{biome_id}/populations

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

biome_id*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/api/v1/biomes/string/populations" \  -H "Content-Type: application/json" \  -d '{    "birth_rate": 0.1,    "carrying_capacity": 0.1,    "death_rate": 0.1,    "initial_size": 0.1,    "name": "string",    "slug": "string"  }'
{  "alert_bands": [    {      "above": 0,      "below": 0,      "hook": "string",      "name": "string"    }  ],  "biome_id": "string",  "birth_rate": 0.1,  "carrying_capacity": 0.1,  "checkpoint_at_virtual": 0.1,  "checkpoint_size": 0.1,  "death_rate": 0.1,  "kind": "species",  "name": "string",  "population_id": "string",  "slug": "string"}
GET/api/v1/biomes/{biome_id}/populations/{population_id}
GET
/api/v1/biomes/{biome_id}/populations/{population_id}

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

biome_id*string
population_id*string

Response Body

application/json

curl -X GET "https://example.com/api/v1/biomes/string/populations/string"
{  "alert_bands": [    {      "above": 0,      "below": 0,      "hook": "string",      "name": "string"    }  ],  "biome_id": "string",  "birth_rate": 0.1,  "carrying_capacity": 0.1,  "checkpoint_at_virtual": 0.1,  "checkpoint_size": 0.1,  "death_rate": 0.1,  "kind": "species",  "name": "string",  "population_id": "string",  "slug": "string"}
PATCH/api/v1/biomes/{biome_id}/populations/{population_id}
PATCH
/api/v1/biomes/{biome_id}/populations/{population_id}

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

biome_id*string
population_id*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X PATCH "https://example.com/api/v1/biomes/string/populations/string" \  -H "Content-Type: application/json" \  -d '{}'
{  "alert_bands": [    {      "above": 0,      "below": 0,      "hook": "string",      "name": "string"    }  ],  "biome_id": "string",  "birth_rate": 0.1,  "carrying_capacity": 0.1,  "checkpoint_at_virtual": 0.1,  "checkpoint_size": 0.1,  "death_rate": 0.1,  "kind": "species",  "name": "string",  "population_id": "string",  "slug": "string"}
DELETE/api/v1/biomes/{biome_id}/populations/{population_id}
DELETE
/api/v1/biomes/{biome_id}/populations/{population_id}

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

biome_id*string
population_id*string

Response Body

application/json

curl -X DELETE "https://example.com/api/v1/biomes/string/populations/string"
{  "message": "string",  "population_id": "string"}
GET/api/v1/biomes/{biome_id}/projections
GET
/api/v1/biomes/{biome_id}/projections

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

biome_id*string

Query Parameters

horizon_virtual_hours*number

Forward horizon in virtual hours

Formatdouble
samples?integer

Number of downsampled trajectory points to return

Formatint64
Range0 <= value

Response Body

application/json

curl -X GET "https://example.com/api/v1/biomes/string/projections?horizon_virtual_hours=0.1"
{  "equilibria": {    "property1": 0.1,    "property2": 0.1  },  "trajectory": [    {      "at_virtual": 0.1,      "sizes": {        "property1": 0.1,        "property2": 0.1      }    }  ],  "warnings": [    {      "cause": "string",      "confidence": 0.1,      "eta_virtual_hours": 0,      "pair": [        "string"      ],      "population_id": "string",      "type": "EXTINCTION_RISK"    }  ]}
GET/api/v1/biomes/{biome_id}/state
GET
/api/v1/biomes/{biome_id}/state

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

biome_id*string

Query Parameters

at_virtual?number

Optional as-of virtual time; defaults to "now"

Formatdouble
region?string

Optional region scoping

Response Body

application/json

curl -X GET "https://example.com/api/v1/biomes/string/state"
{  "at_virtual": 0.1,  "populations": [    {      "by_region": {        "property1": 0.1,        "property2": 0.1      },      "id": "string",      "size": 0.1,      "trend": "rising"    }  ]}
POST/api/v1/biomes/{biome_id}/subscribe
POST
/api/v1/biomes/{biome_id}/subscribe

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

biome_id*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/api/v1/biomes/string/subscribe" \  -H "Content-Type: application/json" \  -d '{}'
{  "channel": "string",  "registered": true,  "websocket_topic": "string"}

On this page