# uip api-workflow build

> `uip api-workflow build` compiles an API Workflow project without packaging it. Use it as a fast type/syntax gate in CI or inner-loop iteration; reach for [`uip api-workflow pack`](./uip-api-workflow-pack.md) when you also need a `.nupkg`.

`uip api-workflow build` compiles an API Workflow project without packaging it. Use it as a fast type/syntax gate in CI or inner-loop iteration; reach for [`uip api-workflow pack`](./uip-api-workflow-pack.md) when you also need a `.nupkg`.

## Synopsis

```
uip api-workflow build <projectPath>
```

- `<projectPath>` — path to the API Workflow project directory or `.uip` file.

## Options

`build` takes no options beyond `--help`. Customize package metadata or signing through [`uip api-workflow pack`](./uip-api-workflow-pack.md) instead.

## Examples

```bash
# Build a project — fail the step on any compile error
uip api-workflow build ./my-workflow

# Capture the JSON result for downstream pipeline steps
uip api-workflow build ./my-workflow --output json
```

## Data shape (--output json)

```json
{
  "Code": "ApiWorkflowBuild",
  "Data": { "Success": true }
}
```

On a compile failure, the tool exits with code `1` and emits a `Failure` result with build diagnostics in `Instructions`.

## When to use build vs pack

| Use case | Command |
|---|---|
| Validate a project compiles in CI before merging | `uip api-workflow build` |
| Produce a `.nupkg` for upload | [`uip api-workflow pack`](./uip-api-workflow-pack.md) |
| Execute the workflow locally for a smoke test | [`uip api-workflow run`](./uip-api-workflow-run.md) |

## Related

- [uip api-workflow pack](./uip-api-workflow-pack.md) — build *and* package into a `.nupkg`.
- [uip api-workflow run](./uip-api-workflow-run.md) — execute the workflow locally.

## See also

- [API Workflow tool overview](./uip-api-workflow.md)
- [Global options](./global-options.md)
- [Exit codes](./exit-codes.md)
