# Agility Credit API: developer home

REST API (v3) for credit reports, fraud and identity checks (Experian Precise ID, Prove prefill and identity verification, IDV+, DL Verify), compliant applications (FastApp and compliance links, applicant documents), OFAC and MLA screening, income and employment (Experian Verify, Alt-Fi), Plate to VIN and tenant administration. JSON requests, Bearer API-key authentication.

## Quickstart

1. **Get an API key.** Agility Credit sets up your account and gives you your tenant ID and your first user ID. In the Agility portal go to Settings → Account → API Keys and create a key. UAT and production use separate API keys. No account yet? Email setup@agilitycredit.com.
2. **Make a credit inquiry** (UAT, prequal pull, placeholder applicant; for UAT use the test identities Agility Credit provides with your credentials):

```bash
curl -X POST https://api.agc-dev.com/v3/credit-reports \
  -H "Authorization: Bearer $AGC_API_KEY" \
  -H "Agc-Tenant-Id: $AGC_TENANT_ID" \
  -H "Agc-User-Id: $AGC_USER_ID" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
    "bureau_id": "experian",
    "pull_type": "prequal",
    "report_format": "json",
    "applicant_main": {
      "first_name": "JANE",
      "last_name": "SAMPLE",
      "address": "123 MAIN ST",
      "city": "ANYTOWN",
      "state": "TX",
      "zip": "75001",
      "income": { "gross_monthly": 5000 }
    }
  }'
```

3. **Read the response.** A 200 returns the report; `body_type` is one of `inquiry`, `inquiry_joint`, `inquiry_multiple_formats`, `inquiry_with_bureau_error`, `compliance`. Keep the `Agc-Applicant-Id` response header and pass it on later calls (OFAC, MLA, documents) to attach them to the same applicant. Fetch the report again with `GET /credit-reports/{id}`.

## Authentication

| Header | When | Value |
| --- | --- | --- |
| `Authorization` | Every request | `Bearer <api key>` |
| `Agc-Tenant-Id` | Most endpoints | The tenant ID provided by Agility Credit |
| `Agc-User-Id` | Most endpoints | The ID of the user making the request |
| `Idempotency-Key` | Every POST | A unique key per request (a GUID) |
| `Agc-Applicant-Id` | Optional on most calls; required to read compliance records and documents | Attaches the call to an existing applicant; omit it and a new applicant is created |

Idempotency keys are kept for 5 minutes: resending a request with the same `Idempotency-Key` within that time returns the cached response from the first request.

## Environments

| Environment | API base URL | Portal |
| --- | --- | --- |
| Production | `https://api.agilitycredit.net/v3` | `app.agilitycredit.net` |
| UAT (test) | `https://api.agc-dev.com/v3` | `app.agc-dev.com` |

UAT is a private test environment: Agility Credit provides your UAT credentials. UAT calls are not billed and don't reach live credit bureaus.

## Errors

| Status | Meaning |
| --- | --- |
| 400 | Bad Request: validation failed; the `error` field says which field and why |
| 401 | Unauthorized: API key missing, wrong or inactive |
| 403 | Forbidden: e.g. the product is not enabled for your tenant |
| 404 | Not found (tenants, DL Verify sessions) |
| 409 | Conflict: same Idempotency-Key still in progress, a step called out of order, or a DL Verify selfie still processing |
| 410 | Gone: prefill session expired; restart with POST /prefill/auth |
| 429 | Too Many Requests: rate limit for the current 5-minute window used up |
| 500 | Server error |
| 502 | DL Verify verification error; retry with the same session_id |

## Rate limits

You set your rate limit in your tenant profile, under the API key settings. It is counted over a 5-minute window. `X-Rate-Limit` is the current limit and `X-Rate-Limit-Remaining` the calls left. Going over returns 429.

## Versioning

The major version is in the URL (`/v3`). New major versions only for breaking changes; minor and patch versions are reported in the `Agc-Api-Version` response header.

## AI-ready docs

Connect Claude, Cursor or VS Code to these docs with the read-only MCP server (no API key needed):

```bash
claude mcp add agility-credit-docs -- npx -y @agilitycredit/docs-mcp
```

Or give any assistant https://apidocs.agilitycredit.com/llms.txt, https://apidocs.agilitycredit.com/llms-full.txt, or any page URL + `.md`. Details: https://apidocs.agilitycredit.com/developer-tools.md

## Webhooks

Subscribe in the portal under Settings → Account → Webhooks. Each delivery has an `event_id` that stays the same across retries. Add a secret to have deliveries signed with HMAC in the `X-Agc-Signature` header. Guides: https://apidocs.agilitycredit.com/webhooks/create-webhooks.md

Source: https://apidocs.agilitycredit.com/
