Skip to content

Get Started

Build a server-side integration that previews fee + turnaround, creates an Open Quote, and optionally receives webhooks.

Compliance

Never display estimated values, AVMs, assessed values, or sale prices as part of a quote offer when using this API. Appraiser Flow will not return those fields on public quote endpoints.

1. Create a test key

In Appraiser Flow: Company → Public API → Create Key.

Scopes for MVP:

  • products:read
  • fees:read
  • quotes:write
  • quotes:read
  • files:write

Copy the secret once. Store it in your server environment — never in browser JavaScript.

2. Pick an environment

EnvAPI hostKey
Localhttp://localhost:8000af_test_
Staginghttps://staging-api.appraiserflow.aiaf_test_
Productionhttps://api.appraiserflow.aiaf_live_

See Environments.

3. Preview fee + turnaround

bash
curl -sS "$AF_API/public/v1/fees/preview" \
  -H "Authorization: Bearer $AF_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "product_code": "1004",
    "subject": {
      "line1": "123 Main St",
      "city": "Nashville",
      "state": "TN",
      "postal_code": "37203",
      "county": "Davidson"
    }
  }'

4. Create an Open Quote

Always send Idempotency-Key on creates.

bash
curl -sS "$AF_API/public/v1/quotes" \
  -H "Authorization: Bearer $AF_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
    "schema_version": 1,
    "product_code": "1004",
    "subject": {
      "line1": "123 Main St",
      "city": "Nashville",
      "state": "TN",
      "postal_code": "37203",
      "county": "Davidson"
    },
    "client": {
      "name": "Acme Mortgage",
      "email": "orders@acme.example",
      "phone": "(615) 555-0100"
    },
    "source": "website"
  }'

Your office completes and sends the quote inside Appraiser Flow.

Next

API base for Try-it: https://staging-api.appraiserflow.ai