# Quickstart

From sandbox key to your first decision trace.

1. Get sandbox credentials. Request access and we register a client for your team.
2. Get an access token from /oauth2/token.
3. Create a payment with an Idempotency-Key.
4. Read its ticket: the fee lines, each cited to a rule, and the decision behind the route.
5. Add a webhook endpoint so your systems see every event.

## 1. Get a token

_Illustrative example._

```
curl https://api.sandbox.insimbi.net/oauth2/token \
  -d grant_type=client_credentials \
  -d client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer \
  -d client_assertion=$SIGNED_JWT
```

## 2. Create a payment

_Illustrative example._

```
curl https://api.sandbox.insimbi.net/v1/payments \
  -H "Authorization: Bearer $TOKEN" \
  -H "Idempotency-Key: 6f1c2a90-order-1042" \
  -d '{"merchant_account_id":"<uuid>","amount":"182.40","currency":"USD","source":"tok_sandbox_debit"}'
```

## 3. Read the ticket

_Illustrative example._

```
curl https://api.sandbox.insimbi.net/v1/tickets/tkt_01J9 -H "Authorization: Bearer $TOKEN"
```

_Illustrative example._

```
{
  "id": "tkt_01J9",
  "payment_id": "pay_01J9",
  "status": "plated",
  "lines": [
    {
      "label": "interchange",
      "amount": "0.31",
      "rule": "rule:interchange.debit.regulated@v3"
    },
    {
      "label": "network",
      "amount": "0.04",
      "rule": "rule:network.assessment@v7"
    },
    {
      "label": "insimbi",
      "amount": "0.05",
      "rule": "rule:contract.platform_fee@v2"
    }
  ],
  "decisionRefs": [
    "dec_route_01J9"
  ],
  "eventRefs": [
    "evt_01J9a",
    "evt_01J9b"
  ]
}
```

Every fee line cites the rule that produced it. Nothing is blended.

Request access: sales@insimbi.net

_insimbi is in early access with design partners._
