curl --request GET \
--url https://devs.adaptyvbio.com/api/v1/quotes/{quote_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://devs.adaptyvbio.com/api/v1/quotes/{quote_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://devs.adaptyvbio.com/api/v1/quotes/{quote_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://devs.adaptyvbio.com/api/v1/quotes/{quote_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://devs.adaptyvbio.com/api/v1/quotes/{quote_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://devs.adaptyvbio.com/api/v1/quotes/{quote_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://devs.adaptyvbio.com/api/v1/quotes/{quote_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"created_at": "2023-11-07T05:31:56Z",
"currency": "<string>",
"id": "<string>",
"line_items": [
{
"description": "<string>",
"quantity": 123,
"total_cents": 123,
"unit_price_cents": 123
}
],
"notes": "<string>",
"organization_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"organization_name": "<string>",
"quote_number": "<string>",
"status": "draft",
"stripe_quote_url": "https://billing.example.com/quotes/qt_1234567890",
"subtotal_cents": 123,
"tax_cents": 123,
"terms_and_conditions": "<string>",
"total_cents": 123,
"valid_until": "2023-11-07T05:31:56Z"
}{
"error": "experiment not found",
"request_id": "req_019462a4-b1c2-7def-8901-23456789abcd"
}{
"error": "experiment not found",
"request_id": "req_019462a4-b1c2-7def-8901-23456789abcd"
}{
"error": "experiment not found",
"request_id": "req_019462a4-b1c2-7def-8901-23456789abcd"
}{
"error": "experiment not found",
"request_id": "req_019462a4-b1c2-7def-8901-23456789abcd"
}Get quote
Returns the full quote document with itemized pricing, totals, expiration, and status, combined with experiment metadata (org name, notes).
curl --request GET \
--url https://devs.adaptyvbio.com/api/v1/quotes/{quote_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://devs.adaptyvbio.com/api/v1/quotes/{quote_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://devs.adaptyvbio.com/api/v1/quotes/{quote_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://devs.adaptyvbio.com/api/v1/quotes/{quote_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://devs.adaptyvbio.com/api/v1/quotes/{quote_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://devs.adaptyvbio.com/api/v1/quotes/{quote_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://devs.adaptyvbio.com/api/v1/quotes/{quote_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"created_at": "2023-11-07T05:31:56Z",
"currency": "<string>",
"id": "<string>",
"line_items": [
{
"description": "<string>",
"quantity": 123,
"total_cents": 123,
"unit_price_cents": 123
}
],
"notes": "<string>",
"organization_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"organization_name": "<string>",
"quote_number": "<string>",
"status": "draft",
"stripe_quote_url": "https://billing.example.com/quotes/qt_1234567890",
"subtotal_cents": 123,
"tax_cents": 123,
"terms_and_conditions": "<string>",
"total_cents": 123,
"valid_until": "2023-11-07T05:31:56Z"
}{
"error": "experiment not found",
"request_id": "req_019462a4-b1c2-7def-8901-23456789abcd"
}{
"error": "experiment not found",
"request_id": "req_019462a4-b1c2-7def-8901-23456789abcd"
}{
"error": "experiment not found",
"request_id": "req_019462a4-b1c2-7def-8901-23456789abcd"
}{
"error": "experiment not found",
"request_id": "req_019462a4-b1c2-7def-8901-23456789abcd"
}Authorizations
Biscuit-based bearer token. Obtain tokens from the Adaptyv Portal or via the /tokens endpoint. Tokens encode organization membership and role-based capabilities; the API verifies the token's cryptographic signature and authorization claims before processing requests. Use /tokens/attenuate to create restricted tokens for delegation.
Path Parameters
Unique identifier of the quote to retrieve
Response
Quote details
Full quote details including itemized pricing and terms.
Review the line items, totals, and expiration before accepting.
ISO 8601 timestamp when quote was created
ISO 4217 currency code
Unique quote identifier
Itemized list of products/services being quoted
Show child attributes
Show child attributes
Additional notes or special pricing information
Organization ID that this quote is prepared for
Name of the organization receiving the quote
Human-readable quote number for reference
Current quote status from Stripe
draft, open, accepted, canceled, stale Quote reference URL (may require provider account access).
"https://billing.example.com/quotes/qt_1234567890"
Sum of all line items before tax, in smallest currency unit (cents)
Estimated tax amount in smallest currency unit (cents); may be adjusted on final invoice
Legal terms and conditions for this quote
Total quoted amount (subtotal + tax) in smallest currency unit (cents)
ISO 8601 timestamp when quote expires
Was this page helpful?