Discovery Order Guide¶
Use a discovery order when you want OpenProspect to find new qualified companies for an existing search profile.
Request Model¶
POST /api/v1/orders
| Field | Required | Description |
|---|---|---|
order_type |
Yes | Must be DISCOVERY |
title |
Yes | Your label for the order |
profile_id |
Yes | Search profile returned by profile creation |
briefing_quantity |
Yes | Desired number of qualified companies |
features |
Yes | Briefing features to deliver |
output_language |
No | Defaults to en |
companies |
No | Forbidden for discovery orders |
Do not send profile_name, ideal_customer_profile, seller_offering,
target_countries, or other profile fields to POST /api/v1/orders.
Create Request¶
curl -sS -X POST "https://api.openprospect.io/api/v1/orders" \
-H "Authorization: Bearer ${OPENPROSPECT_API_KEY}" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: discovery-order-dach-saas-001" \
-d '{
"order_type": "DISCOVERY",
"title": "DACH SaaS discovery",
"profile_id": "'"${OPENPROSPECT_PROFILE_ID}"'",
"briefing_quantity": 50,
"features": ["COMPANY_DATA", "CONTACTS", "ANALYSIS"],
"output_language": "en"
}'
Expected 202 Accepted response:
{
"order_id": "4f767705-03a2-4e91-a3e8-1ec3f9dea865",
"order_type": "DISCOVERY",
"status": "RECEIVED",
"briefing_quantity": 50,
"estimated_cost": null,
"message": "Order received. Awaiting admin review."
}
Lifecycle¶
| Status | Meaning | What to do |
|---|---|---|
RECEIVED |
The order is awaiting review | Poll again |
ACCEPTED |
The order is approved | Poll again |
IN_PROGRESS |
Fulfillment is running | Poll again |
COMPLETED |
Results are ready | Fetch results |
REJECTED |
The order was not approved | Check the message |
FAILED |
Fulfillment failed | Contact support with order_id |
CANCELLED |
The order was cancelled | Stop polling |
Results¶
Call GET /api/v1/orders/{order_id}/results only after the order is
COMPLETED. Discovery results contain system-discovered companies that passed
the profile qualification rules.
If results are not ready, the API returns ORDER_RESULTS_NOT_READY; continue
polling GET /api/v1/orders/{order_id}.
Errors¶
| Status | Cause | Resolution |
|---|---|---|
409 |
Reused Idempotency-Key with a different order body |
Use a new key |
422 |
Missing profile_id or briefing_quantity, or included companies |
Correct the body |
404 |
profile_id or order_id is not visible to your organization |
Verify the ID and API key |
404 |
ORDER_RESULTS_NOT_READY before COMPLETED |
Poll order status |