After an order is opened for fulfillment, researchers may submit offers.
List offers
curl "$ARCHIVE_ORDER_BASE_URL/orders/order_123/offers" \
-H "Authorization: Bearer $ARCHIVE_ORDER_API_KEY"
Example response:
[
{
"id": "offer_123",
"amount": 37.5,
"currency": "EUR",
"message": "I can retrieve this within 10 business days.",
"researcherId": "researcher_123",
"researcherName": "Camille Bernard",
"estimatedCompletionDate": "2026-07-15",
"status": "ACTIVE"
}
]
Select an offer
curl -X POST "$ARCHIVE_ORDER_BASE_URL/orders/order_123/offers/offer_123/select" \
-H "Authorization: Bearer $ARCHIVE_ORDER_API_KEY" \
-H "Idempotency-Key: $(uuidgen)"
The response includes whether payment is required:
{
"id": "offer_123",
"status": "selected",
"paymentRequired": true
}
Decline an offer
curl -X POST "$ARCHIVE_ORDER_BASE_URL/orders/order_123/offers/offer_123/decline" \
-H "Authorization: Bearer $ARCHIVE_ORDER_API_KEY" \
-H "Idempotency-Key: $(uuidgen)"
Initiate payment
curl -X POST "$ARCHIVE_ORDER_BASE_URL/orders/order_123/payments/initiate" \
-H "Authorization: Bearer $ARCHIVE_ORDER_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"offerId": "offer_123"
}'
Example response:
{
"success": true,
"bidId": "offer_123",
"amountMinor": 4250,
"transferAmountMinor": 3750,
"platformFeeMinor": 500,
"currency": "EUR",
"clientSecret": "pi_123_secret_abc",
"paymentIntentId": "pi_123",
"publishableKey": "pk_live_123"
}
Finalize payment
After your client confirms payment with the payment provider, finalize the payment:
curl -X POST "$ARCHIVE_ORDER_BASE_URL/orders/order_123/payments/finalize" \
-H "Authorization: Bearer $ARCHIVE_ORDER_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"offerId": "offer_123",
"paymentIntentId": "pi_123"
}'
Payment behavior is integration-dependent while production payment flows are being finalized. Confirm the expected payment confirmation flow for your API client before taking live payments.