experiments

Accept an experiment's quote and create an invoice

A JSON body is required. Every field of ConfirmQuoteRequest is optional, so a caller with no purchase-order number and no notes sends {} — the refusal says so if they forget (BUG-0059).

Convenience endpoint that does the same thing as POST /quotes/{id}/confirm but addressed by experiment ID — the server resolves the quote ID internally. Like /quotes/{id}/confirm, it is categorically non-settling: it finalizes the (open, unpaid) invoice and returns 200 + the invoice + a HATEOAS payment pointer (the Stripe-hosted page for async; /invoices/{id}/pay for a machine rail). It never settles or emits a payment 402.

post/api/v1/experiments/{experiment_id}/quote/confirm

Request

  • Base URL
    https://devs.adaptyvbio.com
  • URL
    https://devs.adaptyvbio.com/api/v1/experiments/{experiment_id}/quote/confirm
  • Auth
    HTTP bearer

Path parameters

experiment_idstring uuid required

Experiment identifier

Request body

notesstring nullable

Reserved for future use. Currently accepted but not acted upon.

purchase_order_numberstring nullable

Purchase order number from your organization (optional)

Example request

{
  "notes": "Please expedite processing",
  "purchase_order_number": "PO-2026-00142"
}

Response

Quote accepted; the (open, unpaid) invoice is finalized and the payment block points at where/how to pay

hosted_invoice_urlstring nullable

Stripe-hosted URL where the customer can view and pay the generated invoice

idstring required

Quote ID that was accepted

invoice_idstring nullable

ID of the invoice generated from this quote (if applicable)

status'draft' | 'open' | 'accepted' | 'canceled' | 'stale' required

Quote status from Stripe's API.

Example response

{
  "hosted_invoice_url": "https://invoice.stripe.com/i/acct_1234/test_5678",
  "payment": {
    "hosted_invoice_url": "https://invoice.stripe.com/i/acct_1234/test_5678",
    "methods": [
      "x402-exact",
      "mpp-spt"
    ],
    "pay_url": "/api/v1/invoices/in_1OqLk2LkdIwHu7ix6OboRpXl/pay"
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.