> ## 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.

# RespanAI

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

RespanAI is an LLM gateway and observability layer, so one connection captures request spend across every model and upstream provider you route through it.

Formerly KeywordsAI.

CostGraph reads RespanAI as **FOCUS 1.2** records at a grain of day x model x upstream provider (request spend).

## 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 RespanAI 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>

## Let CostGraph pull

1. Open **Settings -> Integrations** and pick **RespanAI**.
2. Name the connection and pick the tenant these charges belong to.
3. Fill in the values the form asks for. It lists exactly the variables RespanAI
   needs, marks which are optional, and explains the permission each one requires.
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
  RespanAI 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.

## What CostGraph does with it

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