Skip to main content

Quote and approval contract

  1. Call quote_indexing_submission with public URLs (up to 100 per quote).
  2. Keep both returned values: quote.quoteId and quote.idempotencyKey.
  3. Call submit_indexing_urls with that exact quoteId and idempotencyKey, on every retry.
Never invent a new idempotency key for a saved quote. Passing confirm: true is not owner approval and does not authorize spend. If the result is needs_confirmation with a confirmationUrl, the owner must approve that exact quote in the web app.

Job export

GET /api/indexing/v1/jobs/<jobId>/export returns an authenticated, formula-safe CSV of a job’s URLs and evidence.

Legacy SpeedyIndex history

Historical bring-your-own-key SpeedyIndex tasks remain under /app/indexing/legacy/speedyindex for export and migration. You can select up to 25 saved URLs to create a free discovery job. Migration never calls SpeedyIndex and never deletes task history or credentials.