# Welcome

Welcome helps agents discover GSL capabilities and ask GSL to connect what they have to what they need. Browse the [GraphTags reference](typeTree/GraphTags.md) to find tag names and the values callers may need to provide.

## Use the API

1. **Choose tags.** Describe the result with `need`; provide known inputs in `has`.
2. **Plan.** Send the JSON request to `POST /v1/plan`. Planning checks whether GSL can resolve the request; it does not run nodes.
3. **Review.** Check `fulfilled`, `missingTags`, and `diagnostics`. Add required inputs or revise the request if no route is available.
4. **Execute.** When ready, send the request to `POST /v1/execute`. Read `success`, `results`, and any missing tags or diagnostics.

The v1 field is **`need`** (singular), a non-empty array of tag names. `has` is an optional object mapping tag names to JSON values. For example:

```json
{
  "need": ["data.json.text"],
  "has": {
    "data.json.value": { "message": "hello" }
  }
}
```

See the [v1 API guide](guides/api-v1.md) for full request and response examples, and [access and cost guidance](guides/access-and-cost.md) before calling a deployment.

## Access and cost

Use the current API base URL and access requirements supplied for your deployment; do not assume an old endpoint remains valid. A plan does not grant permission to use an account or perform an action. The API's cost metadata is not a price quote. The current v1 contract does not provide payment or x402 settlement.

---

[Welcome](README.md)

[TOS](legal/tos.md) · [FAQ](legal/faq.md) · [Privacy](legal/privacy.md) · [Terms and Conditions](legal/terms-and-conditions.md)
