Skip to content

ECS System

GET/api/v1/ecs/{index}/systems
GET
/api/v1/ecs/{index}/systems

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

index*string

Query Parameters

filter?

Conditions as filter[][]=. Conditions on different fields all apply. in (any of) and all (every one of, on fields holding several values) take a comma-separated list (\, for a literal comma). exists takes true or false. Datetimes are RFC 3339, now, or a time before now such as -30m, -6h or -7d.

sort?string

Comma-separated sort keys, - for descending, at most 1. Keys: name, priority. Default: priority.

limit?integer

Rows per page, 1 to 100 (default 25).

Range1 <= value <= 100
cursor?string

The page.next_cursor of the previous page. Cannot be combined with page.

page?integer

A 1-based page number, for jumping. Cannot be combined with cursor.

Range1 <= value
total?boolean

Set to true to include the number of matching rows in page.total.

Response Body

application/json

curl -X GET "https://example.com/api/v1/ecs/string/systems"
{  "page": {    "has_more": true,    "next_cursor": "string",    "page": 0,    "total": 0  },  "systems": [    {      "component_versions": {        "property1": [          0        ],        "property2": [          0        ]      },      "created_at": "string",      "dependencies": {        "runs_after": [          "string"        ],        "runs_before": [          "string"        ]      },      "description": "string",      "enabled": true,      "group": "string",      "include_resources": [        "string"      ],      "name": "string",      "priority": 0,      "query": {        "filters": [          {            "component": "string",            "field": "string",            "op": "eq",            "value": null          }        ],        "has_all": [          "string"        ],        "has_any": [          "string"        ],        "has_none": [          "string"        ]      },      "system_id": "string",      "timeout_ms": 0    }  ]}
POST/api/v1/ecs/{index}/systems
POST
/api/v1/ecs/{index}/systems

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

index*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/ecs/string/systems" \  -H "Content-Type: application/json" \  -d '{    "name": "string",    "query": {      "filters": [        {          "component": "string",          "field": "string",          "op": "eq",          "value": null        }      ],      "has_all": [        "string"      ],      "has_any": [        "string"      ],      "has_none": [        "string"      ]    }  }'
{  "component_versions": {    "property1": [      0    ],    "property2": [      0    ]  },  "created_at": "string",  "dependencies": {    "runs_after": [      "string"    ],    "runs_before": [      "string"    ]  },  "description": "string",  "enabled": true,  "group": "string",  "include_resources": [    "string"  ],  "name": "string",  "priority": 0,  "query": {    "filters": [      {        "component": "string",        "field": "string",        "op": "eq",        "value": null      }    ],    "has_all": [      "string"    ],    "has_any": [      "string"    ],    "has_none": [      "string"    ]  },  "system_id": "string",  "timeout_ms": 0}
GET/api/v1/ecs/{index}/systems/execution-order
GET
/api/v1/ecs/{index}/systems/execution-order

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

index*string

Response Body

application/json

curl -X GET "https://example.com/api/v1/ecs/string/systems/execution-order"
[  "string"]
GET/api/v1/ecs/{index}/systems/{name}
GET
/api/v1/ecs/{index}/systems/{name}

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

index*string
name*string

Response Body

application/json

curl -X GET "https://example.com/api/v1/ecs/string/systems/string"
{  "component_versions": {    "property1": [      0    ],    "property2": [      0    ]  },  "created_at": "string",  "dependencies": {    "runs_after": [      "string"    ],    "runs_before": [      "string"    ]  },  "description": "string",  "enabled": true,  "group": "string",  "include_resources": [    "string"  ],  "name": "string",  "priority": 0,  "query": {    "filters": [      {        "component": "string",        "field": "string",        "op": "eq",        "value": null      }    ],    "has_all": [      "string"    ],    "has_any": [      "string"    ],    "has_none": [      "string"    ]  },  "system_id": "string",  "timeout_ms": 0}
DELETE/api/v1/ecs/{index}/systems/{name}
DELETE
/api/v1/ecs/{index}/systems/{name}

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

index*string
name*string

Response Body

curl -X DELETE "https://example.com/api/v1/ecs/string/systems/string"
Empty
PUT/api/v1/ecs/{index}/systems/{name}
PUT
/api/v1/ecs/{index}/systems/{name}

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

index*string
name*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X PUT "https://example.com/api/v1/ecs/string/systems/string" \  -H "Content-Type: application/json" \  -d '{}'
{  "component_versions": {    "property1": [      0    ],    "property2": [      0    ]  },  "created_at": "string",  "dependencies": {    "runs_after": [      "string"    ],    "runs_before": [      "string"    ]  },  "description": "string",  "enabled": true,  "group": "string",  "include_resources": [    "string"  ],  "name": "string",  "priority": 0,  "query": {    "filters": [      {        "component": "string",        "field": "string",        "op": "eq",        "value": null      }    ],    "has_all": [      "string"    ],    "has_any": [      "string"    ],    "has_none": [      "string"    ]  },  "system_id": "string",  "timeout_ms": 0}
POST/api/v1/ecs/{index}/systems/{name}/disable
POST
/api/v1/ecs/{index}/systems/{name}/disable

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

index*string
name*string

Response Body

application/json

curl -X POST "https://example.com/api/v1/ecs/string/systems/string/disable"
{  "component_versions": {    "property1": [      0    ],    "property2": [      0    ]  },  "created_at": "string",  "dependencies": {    "runs_after": [      "string"    ],    "runs_before": [      "string"    ]  },  "description": "string",  "enabled": true,  "group": "string",  "include_resources": [    "string"  ],  "name": "string",  "priority": 0,  "query": {    "filters": [      {        "component": "string",        "field": "string",        "op": "eq",        "value": null      }    ],    "has_all": [      "string"    ],    "has_any": [      "string"    ],    "has_none": [      "string"    ]  },  "system_id": "string",  "timeout_ms": 0}
POST/api/v1/ecs/{index}/systems/{name}/enable
POST
/api/v1/ecs/{index}/systems/{name}/enable

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

index*string
name*string

Response Body

application/json

curl -X POST "https://example.com/api/v1/ecs/string/systems/string/enable"
{  "component_versions": {    "property1": [      0    ],    "property2": [      0    ]  },  "created_at": "string",  "dependencies": {    "runs_after": [      "string"    ],    "runs_before": [      "string"    ]  },  "description": "string",  "enabled": true,  "group": "string",  "include_resources": [    "string"  ],  "name": "string",  "priority": 0,  "query": {    "filters": [      {        "component": "string",        "field": "string",        "op": "eq",        "value": null      }    ],    "has_all": [      "string"    ],    "has_any": [      "string"    ],    "has_none": [      "string"    ]  },  "system_id": "string",  "timeout_ms": 0}
POST/api/v1/ecs/{index}/systems/{name}/execute
POST
/api/v1/ecs/{index}/systems/{name}/execute

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

index*string
name*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/ecs/string/systems/string/execute" \  -H "Content-Type: application/json" \  -d '{}'
{  "dry_run": true,  "entity_count": 0,  "execution_time_ms": 0,  "mutations_applied": 0,  "name": "string",  "tick": 0}
POST/api/v1/ecs/{index}/systems/{name}/pause
POST
/api/v1/ecs/{index}/systems/{name}/pause

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

index*string
name*string

Response Body

application/json

curl -X POST "https://example.com/api/v1/ecs/string/systems/string/pause"
{  "name": "string",  "paused": true,  "paused_at": "string"}
POST/api/v1/ecs/{index}/systems/{name}/resume
POST
/api/v1/ecs/{index}/systems/{name}/resume

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

index*string
name*string

Response Body

application/json

curl -X POST "https://example.com/api/v1/ecs/string/systems/string/resume"
{  "name": "string",  "paused": true,  "resumed_at": "string"}
GET/api/v1/ecs/{index}/systems/{name}/stats
GET
/api/v1/ecs/{index}/systems/{name}/stats

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

index*string
name*string

Response Body

application/json

curl -X GET "https://example.com/api/v1/ecs/string/systems/string/stats"
{  "name": "string",  "stats": {    "avg_entity_count": 0.1,    "avg_execution_time_ms": 0.1,    "avg_mutations_per_tick": 0.1,    "error_count": 0,    "execution_count": 0,    "last_error": "string",    "last_execution": "string"  }}