---
title: "Run targets · intentic sandbox API"
description: "The programs each repository declares, run on one of your own computers. Every route in the run targets group of the intentic sandbox API."
url: "https://intentic.dev/api/runs/"
---

The workspace

# Run targets

The programs each repository declares, run on one of your own computers

A repository can declare programs that run on the owner's own machines rather than in the sandbox. One read lists what each repository declares and which of your computers could run one now; the other builds a target here, carries the build over and starts it there, in a terminal you can watch. The computer still decides whether it accepts programs this sandbox sends.

**GET`/runs/targets` What each repository can run on your computers**

Every repository that declares run targets at `.intentic/run.json`, and which of your computers could run one now.

### What you send

Nothing. Call it as it is.

### What comes back

| Field | Type |
| --- | --- |
| `repos` | object[] |
| `repo` | string |
| `path` | string |
| `targets` | object[] |
| `name` | string |
| `description` | string |
| `device` | string |
| `build` | string |
| `artifact` | string | object |
| `program` | string |
| `args` | string[] |
| `env` | object |
| `isolated` | boolean |
| `reach` | integer[] |
| `error` | string |
| `devices` | object[] |
| `id` | string |
| `online` | boolean |
| `programs` | boolean |
| `allowed` | boolean |

Try it answered in this tab

curl

```bash
curl "$SANDBOX/runs/targets" \
 -H "x-intentic-control: $INTENTIC_TOKEN"
```

TypeScript

```typescript
import { sandbox } from "@intentic/sandbox-client";

const result = await sandbox.runs.targets();
```

**POST`/runs/start` Run a target on one of your computers**

Builds it in the sandbox, carries the build to the computer and starts it there, in a terminal you can watch. The computer still decides: its "Run programs this sandbox sends" switch has to be on.

### What you send

| Field | Type | Where |
| --- | --- | --- |
| `repo` required | string | body |
| `target` required | string | body |
| `device` required | string | body |

### What comes back

| Field | Type |
| --- | --- |
| `session` | string |

Try it answered in this tab

curl

```bash
curl -X POST "$SANDBOX/runs/start" \
 -H "x-intentic-control: $INTENTIC_TOKEN" \
 -H "content-type: application/json" \
 -d '{"repo":"root","target":"…","device":"…"}'
```

TypeScript

```typescript
import { sandbox } from "@intentic/sandbox-client";

const result = await sandbox.runs.start({
 "repo": "root",
 "target": "…",
 "device": "…"
});
```

More in The workspace

[Previous ← Panels](https://intentic.dev/api/panels/)[Next Ports →](https://intentic.dev/api/ports/)
