---
title: "Get experiment invoice"
method: GET
path: "/api/v1/experiments/{experiment_id}/invoice"
tags: ["experiments"]
---

# Get experiment invoice

`GET /api/v1/experiments/{experiment_id}/invoice`

## Request

- Base URL: `https://devs.adaptyvbio.com`
- URL: `https://devs.adaptyvbio.com/api/v1/experiments/{experiment_id}/invoice`
- Auth: HTTP bearer

Returns invoice metadata for a confirmed experiment, including the
hosted payment URL. Available once `stripe_invoice_url` appears in the
experiment detail; timing depends on organization billing settings.

An invoice exists only after the quote has been accepted. Until then this
returns `404`, and the message names the confirm call to make instead of
polling here.

## Path parameters

- `experiment_id` string, uuid, required

## Response `200`

Stripe invoice metadata

- ExperimentInvoiceResponse: Response envelope for invoice metadata.
  - `experiment_id` string, required: Experiment identifier
  - `status` 'draft' | 'open' | 'paid' | 'void' | 'uncollectible': Invoice status from Stripe's API.
  - `stripe_invoice_url` string, nullable: Hosted invoice URL from Stripe

## Other responses

- `400`: Unknown or inaccessible experiment
- `401`: Invalid or missing authentication token
- `403`: Caller does not have access to this experiment
- `404`: Invoice not yet available. The body names the next call: `POST /api/v1/experiments/{experiment_id}/quote/confirm` when a quote exists but has not been accepted, or `POST /api/v1/experiments/{experiment_id}/submit` first when no quote exists yet
- `500`: Internal server error

---

[API](https://skmtc.dev/adaptyvbio/apis/adaptyv-foundry-api.md) - [All operations](https://skmtc.dev/adaptyvbio/apis/adaptyv-foundry-api/llms.txt) - [OpenAPI document](https://skmtc.dev/adaptyvbio/apis/adaptyv-foundry-api/revisions/5a2228f4bd59?raw)
