# Quickstart

Every request needs an `apikey` header. The base URL is `https://api.savvyiq.ai`.

## 1. Resolve a name

Resolution runs real research, so it is asynchronous. The kickoff returns immediately.

```bash
curl -G 'https://api.savvyiq.ai/v3/entity-resolution/async' \
  --data-urlencode 'name=Datadog' \
  --data-urlencode 'location=New York, NY' \
  --data-urlencode 'include=basis' \
  -H 'apikey: YOUR_API_KEY'
```

```json
{
  "status": "pending",
  "job_id": "019fe975-186e-707c-b59a-b0a6c9914221",
  "request_id": "reqa_344tSxhAVACWbuENINJ9D"
}
```

## 2. Poll for the result

Poll with either the `job_id` or the `request_id`. Both identify the same job. `202` means
still running, `200` means finished. Repeat `include=basis` here — the kickoff records the
provenance, the poll asks for it in the body.

```bash
curl -G 'https://api.savvyiq.ai/v3/jobs/019fe975-186e-707c-b59a-b0a6c9914221' \
  --data-urlencode 'include=basis' \
  -H 'apikey: YOUR_API_KEY'
```

## 3. Read the record

Take `entity.id` from the result and fetch the full record. Store that ID. It is stable.

```bash
curl 'https://api.savvyiq.ai/v3/entities/siq_33d67jj0wJESjEdFHMhuQ' \
  -H 'apikey: YOUR_API_KEY'
```

## Starting from a domain

Domain lookups are synchronous: one call returns the operating entity and what we know about
the domain itself.

```bash
curl 'https://api.savvyiq.ai/v3/domain-intelligence?domain=datadoghq.com' \
  -H 'apikey: YOUR_API_KEY'
```

`domain` accepts a bare domain, a full URL, or an email address. All are normalized to the
root domain.

