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

# Sail

> Bring Sail cost into CostGraph, pulled by us or pushed by you

Sail runs Sailboxes, fast-booting virtual machines for long-running agents, metered per minute while they run.

CostGraph reads Sail as **FOCUS 1.2** records at a grain of one record per Sailbox per day. Spend is estimated from Sail's published prices and can differ from your invoice.

## Choose how the data reaches us

<CardGroup cols={2}>
  <Card title="CostGraph pulls it" icon="cloud-arrow-down">
    You supply read-only credentials and we call Sail once a day. Nothing to run.
  </Card>

  <Card title="You push it" icon="cloud-arrow-up">
    You send us FOCUS records over the API. Credentials never leave your infrastructure.
  </Card>
</CardGroup>

## Before you begin

* In the Sail dashboard, create an API key and scope it to the organization. A user-scoped key cannot read Sailbox spend.
* The connect form links to the page where you create this credential.

## Let CostGraph pull

1. Open **Settings > Integrations** and pick **Sail**.
2. Name the connection and pick the tenant these charges belong to.
3. Enter the values you copied. The form lists what Sail needs and marks the
   optional ones.
4. Select **Connect**.

CostGraph verifies the credentials with a short fetch before saving, so a wrong
value or a missing permission fails while you are still on the form.

<Note>
  Credentials are encrypted at rest and used only to read billing data. Revoke them in
  Sail at any time and the connection stops; nothing else is affected.
</Note>

## Push it yourself

Send the charges to CostGraph as FOCUS records instead. [Push FOCUS data](/costgraph/integrations/focus-push) covers the connection id,
the `focus:write` key, and the request shape.

## Run the exporter

```bash theme={null}
focus-exporter --provider sail --sink costgraph
```

Your Sail credential stays where you put it, and only the finished FOCUS records
reach CostGraph. [Run the exporter](/costgraph/integrations/exporter) covers the three
ways to run it and the variables it reads.

## What CostGraph does with it

Records land as raw billing rows, are normalised into line items, and roll up into
daily cost. From there Sail spend appears in Cost Overview and in anomaly
detection alongside every other provider.

## Managed sandboxes

The same Sail account can run CostGraph code changes. See [Managed sandboxes](/costgraph/workflows/managed-sandboxes).


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