> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fortiseval.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart

> From API key to your first approved order

## 1. Create an app and API key

In the [Customer Portal](https://portal.fortiseval.com), go to
**Account Settings → Custom Apps** and click **Create App**. Choose the
**Internal** app type — it authenticates with an API key and accesses your own
account's data.

Your secret key (`sk-...`) is shown at creation and can be viewed again later
from the app's details page. You can create additional keys or revoke
compromised ones from the same page.

## 2. Verify your credentials

```bash theme={null}
curl https://api.fortiseval.com/v1/ping \
  -H "Authorization: Bearer sk-your-secret-key"
```

## 3. Upload a document

Upload files ahead of time and reference them when creating quotes:

```bash theme={null}
curl https://api.fortiseval.com/v1/files \
  -H "Authorization: Bearer sk-your-secret-key" \
  -F "file=@/path/to/diploma.pdf"
```

The response includes a file `id` (`upload_...`) with status `ready`.
(You can also pass document URLs directly when creating the quote — see step 4.)

## 4. Create a quote

```bash theme={null}
curl https://api.fortiseval.com/v1/quotes \
  -H "Authorization: Bearer sk-your-secret-key" \
  -H "Content-Type: application/json" \
  -d '{
    "quote_type": "academic_evaluation",
    "evaluation_type": "course_by_course_evaluation",
    "turnaround": "standard",
    "document_ids": ["upload_your-file-id"],
    "candidate": { "first_name": "Jane", "last_name": "Doe" },
    "reference": "CASE-1042"
  }'
```

The quote is created with status `requested`. Our team prices it and you receive a
`quote.ready` webhook (or poll `GET /v1/quotes/{id}`) when its status becomes
`awaiting_payment`.

## 5. Approve the quote

```bash theme={null}
curl -X POST https://api.fortiseval.com/v1/quotes/{quote_id}/approve \
  -H "Authorization: Bearer sk-your-secret-key"
```

Approval creates the order and bills it to your account's open invoice
(net-terms invoicing must be enabled on your account — contact
[support](mailto:support@fortiseval.com) to set it up). The response contains the
new order, and an `order.created` webhook fires.

## 6. Listen for progress

Register a webhook endpoint to follow the order through completion:

```bash theme={null}
curl https://api.fortiseval.com/v1/webhook-endpoints \
  -H "Authorization: Bearer sk-your-secret-key" \
  -H "Content-Type: application/json" \
  -d '{ "url": "https://example.com/webhooks/fortis", "events": ["order.*", "quote.*"] }'
```

See the [webhooks guide](/guides/webhooks) for event types and signature
verification.
