# Order programs: revise, screen, start

URL: /code/mcp/order/verbs-revise · Id: `page:code/mcp/order/verbs-revise`

> The Order Verbs revise, screen, start as MCP do programs, with inputs, result, refusals and an example.

Reference for [Order](/business/nouns/order), one group of [Order programs](/code/mcp/order).

### Order.revise
Revise sends delivered lines back for one counted revision, with the changes the Customer asks for. [Verb page](/business/nouns/order/revise?interface=mcp).

```text
do: return await $.Order.revise(input)
```

Emits [`Order.revised`](/business/events/Order.revised).

**Inputs**

| Input | Type | Required | Description |
| --- | --- | --- | --- |
| `order` | [Order](/business/nouns/order) | Yes | The delivered Order. |
| `lines` | `json` | No | The lines sent back; every delivered line when absent. |
| `changes` | `text` | Yes | What the Customer wants changed, such as a shorter summary. |

**Returns**

| Output | Type | Required | Description |
| --- | --- | --- | --- |
| `order` | [Order](/business/nouns/order) | Yes | The Order, its `fulfillment` set to `revising`. |

**Refuses when**

| Check | Error | Fix | Then call |
| --- | --- | --- | --- |
| The key is valid, but its scopes do not allow this operation. | [`forbidden`](/code/api/errors/forbidden) | Use a key whose scopes cover the operation, or ask an owner of the namespace to grant them. | None. |

**Example**

```json
{
  "name": "do",
  "arguments": {
    "code": "return await $.Order.revise({ order: 'order_dswDnxf2vt', changes: 'Example changes' })"
  }
}
```

### Order.screen
Screen scores an Order’s payment before it is charged and allows, authenticates, holds or blocks it by the Startup’s risk Policy. [Verb page](/business/nouns/order/screen?interface=mcp).

```text
do: return await $.Order.screen(input)
```

Emits [`Order.screened`](/business/events/Order.screened).

**Inputs**

| Input | Type | Required | Description |
| --- | --- | --- | --- |
| `order` | [Order](/business/nouns/order) | Yes | The placed Order whose payment is screened. |

**Returns**

| Output | Type | Required | Description |
| --- | --- | --- | --- |
| `outcome` | `string` | Yes | `allow` charges, `authenticate` asks the buyer to confirm with their card issuer, `review` waits for an Approval, `block` cancels. |
| `risk` | `number` | Yes | The payment’s risk score from 0 to 99, as Stripe scored it. |
| `rule` | `string` | No | The risk Policy rule that decided the outcome, when one did. |
| `order` | [Order](/business/nouns/order) | Yes | The Order screened. |

**Refuses when**

| Check | Error | Fix | Then call |
| --- | --- | --- | --- |
| The key is valid, but its scopes do not allow this operation. | [`forbidden`](/code/api/errors/forbidden) | Use a key whose scopes cover the operation, or ask an owner of the namespace to grant them. | None. |

**Example**

```json
{
  "name": "do",
  "arguments": {
    "code": "return await $.Order.screen({ order: 'order_dswDnxf2vt' })"
  }
}
```

### Order.start
Start checks a Service Order’s inputs against its brief, then moves it from intake to working and starts its deadline. [Verb page](/business/nouns/order/start?interface=mcp).

```text
do: return await $.Order.start(input)
```

Emits [`Order.started`](/business/events/Order.started).

**Inputs**

| Input | Type | Required | Description |
| --- | --- | --- | --- |
| `order` | [Order](/business/nouns/order) | Yes | The Order in intake. |
| `received` | `json` | Yes | What the Customer supplied, measured as the brief measures it, such as a 79,400-word manuscript. |

**Returns**

| Output | Type | Required | Description |
| --- | --- | --- | --- |
| `order` | [Order](/business/nouns/order) | Yes | The Order, its `fulfillment` set to `working`, or still `intake` while a Question is open. |

**Refuses when**

| Check | Error | Fix | Then call |
| --- | --- | --- | --- |
| The key is valid, but its scopes do not allow this operation. | [`forbidden`](/code/api/errors/forbidden) | Use a key whose scopes cover the operation, or ask an owner of the namespace to grant them. | None. |

**Example**

```json
{
  "name": "do",
  "arguments": {
    "code": "return await $.Order.start({ order: 'order_dswDnxf2vt', received: {} })"
  }
}
```