> ## Documentation Index
> Fetch the complete documentation index at: https://docs.remyx.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Request a validation

> Start or confirm a validation of a pull request.

Related guide: [Evaluate a pull request](https://docs.remyx.ai/platform/agents/validate.md) · Example: [Run your first validation](https://docs.remyx.ai/tutorials/validate-first-run.md)

```
POST /api/v1.0/validate/runs
```

Start, or confirm, a validation of a PR. This is the same state machine the `@remyx-ai validate` comment drives, so confirming a proposal is invoking this again once the spec is committed. Returns `202`; progress and the verdict are posted on the PR.

| Field | Type | Required | Description |
| - | - | - | - |
| `repo` | string | Yes | `owner/name` |
| `pr_number` | integer | Yes | |
| `guidance` | string | No | What to measure, in plain language; ignored with a warning when the PR carries a committed spec |
| `model_provider` | string | No | One-off override of the provider that designs the test |
| `model` | string | No | One-off model override |

The caller must own the repo's App installation or be able to reach it.

```bash theme={null}
curl -X POST https://engine.remyx.ai/api/v1.0/validate/runs \
  -H "Authorization: Bearer $REMYXAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"repo": "owner/name", "pr_number": 42,
       "guidance": "does the new scheduler keep eval loss within 1% at half the steps"}'
```

The response carries an `outcome` and the `message` that was posted on the PR. `started` and `proposed` return `202`. Every other outcome maps to the status in the [Troubleshooting reference](https://docs.remyx.ai/platform/agents/validate-troubleshooting.md#error-reference). Fields shown are a subset.

```json 202, a proposal was launched theme={null}
{"outcome": "proposed", "message": "…", "repo": "owner/name", "pr_number": 42,
 "head_sha": "…", "proposal_id": "…", "proposal_status": "proposing"}
```

```json 202, the run started theme={null}
{"outcome": "started", "message": "…", "repo": "owner/name", "pr_number": 42,
 "head_sha": "…", "run_id": "…", "status": "…", "compute_tier": "cpu", "estimate": "…"}
```

```json 402, refused theme={null}
{"outcome": "gated", "message": "⛔ **Not started — …** … Nothing was used."}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.