Get sample details
Return full details for a single sample, including its batch and lot metadata, images, Certificate of Analysis and, once results have been published, the lab_data test results.
sample_id can be the sample ID as shown in Confident, the sample's public key, or the regulator sample ID from the state's seed-to-sale tracking system. Samples on another client's orders return a 404 rather than a permission error so that sample IDs are not leaked.
Path parameters
Try it
Log in to send test requests to this endpoint straight from the docs.
Responses
200 Success
Show 56 child attributes Hide 56 child attributes
Sample ID
Orders ID
Client ID
Lab
Show 2 child attributes Hide 2 child attributes
Lab ID
Lab Name
Order Status ID
Order Status Name
Name of Sample
Name of Sample Strain
Sample Industry ID
Sample Industry Name
Sample Category ID
Sample Category Name
Sample Type ID
Sample Type Name
Sample Classification ID
Sample Classification Name
Production Method name
Production Method ID
Unique ID from the state's seed-to-sale tracking system of the sample tested by the lab
Unique ID from the state's seed-to-sale tracking system of the client's batch from which the sample tested by the lab came
Unique ID from the client's inventory management system of the client's batch from which the sample tested by the lab came
Unique ID from the state's seed-to-sale tracking system of the client's harvest lot from which the sample tested by the lab came
Show 4 child attributes Hide 4 child attributes
Unique ID for Test Package
Test Package Name
Package Price - if 0, call for price
Minimum sample quantity required for testing
Time this sample was last modified
Published Date [when sample was published]
Sample weight at order verification
Unit type for Initial Weight
Show 3 child attributes Hide 3 child attributes
Unique ID for Test Type
Test Type Name
Test Type Abbreviation
Show 3 child attributes Hide 3 child attributes
Unique public key for file
Public URL to access file
Will also contain cover image
Show 3 child attributes Hide 3 child attributes
Unique public key for file
Public URL to access file
Notes about the sample
Size of the client's batch from which the sample tested by the lab came
Unit type for batch size (units, lb, or g)
Unique ID from the client's inventory management system of the client's lot from which the sample tested by the lab came
Size of the client's lot from which the sample tested by the lab came
Unit type for lot size (units, lb, or g)
Unique ID from the client's inventory management system of the client's production run from which the sample tested by the lab came
Size of the client's production run from which the sample tested by the lab came
Unit type for production run size (units, lb, or g)
Unique ID from the state's seed-to-sale tracking system of the sample manifest from which the sample tested by the lab came
Unique ID from the state's seed-to-sale tracking system of the client's lot from which the sample tested by the lab came
(for Leaf) Pre-Transfer Batch ID
(for Leaf) Pre-Transfer Inventory/Lot ID
Harvest/Production Date [when sample was produced]
Collection Date [when sample was collected]
Unique URL for viewing this sample or CoA without requiring a login. Should be added to CoAs and used for QR codes or other barcode images so end consumers can verify the integrity of the data
Serving Size
Number of Servings in one Container
Information describing what a "unit" means for this sample (i.e 1 Bottle)
Information describing what a "unit" means for this sample (i.e 1 Gummy)
Unique ID for sample's regulatory category
Information about the solvents used in testing
True if sample has a Certificate of Analysis
URL expires after one hour
Show 3 child attributes Hide 3 child attributes
Unique public key for file
Public URL to access file
URLs expire after one hour
Show 3 child attributes Hide 3 child attributes
Unique public key for file
Public URL to access file
Show 12 child attributes Hide 12 child attributes
Timestamp of lab data creation time
date laboratory data was uploaded to Confident and the Certificate of Analysis was created
1=passed, 2=failed, 3=completed. Completed means there were no limits to pass or fail
Total Percentage THC in the sample
The calculation used for thc_total
Total Percentage CBD in the sample
The calculation used for cbd_total
Total Percentage cannabinoids in the sample
The calculation used for cannabinoid_total
Total Percentage terpenes in the sample
The calculation used for terpene_total
test categories
Show 22 child attributes Hide 22 child attributes
Show 2 child attributes Hide 2 child attributes
Show 23 child attributes Hide 23 child attributes
pass or fail integer ID from the status enum
['%'] units the data is being submitted in, from the category's allowed units ('ppm', 'mg/ml', 'mg/unit', 'mg/serving', 'ppb', 'mg/container', '%', 'mg/g')
['%'] the primary units displayed on the certificate of analysis
the weight in grams of the whole unit submitted for sampling when any unit fields are 'mg/unit'
[2] number of digits to display on the certificate of analysis; see digits_method
['round'] round rounds to digits decimal places, significant rounds to digits significant figures
date the sample was tested for this assay
optional testing notes for this assay
optional testing notes for this assay
optional testing notes for this assay
optional testing notes for this assay
footnote to accompany this assay
name of lab employee to appear on certificate of analysis
title of lab employee to appear on certificate of analysis
testing method - eg, GC-FID, HPLC, etc
Description of container (eg. bottle, box, tin)
weight of aliquot after drying
the weight in grams of 1ml of sample when any unit fields are 'mg/ml'
the secondary units displayed on the certificate of analysis
Number of servings per container
definition of one unit when any unit fields are 'mg/unit'
Number of units per serving
weight of aliquot as received
most values have been converted to '%'
Show 15 child attributes Hide 15 child attributes
compound_key for what is being tested
test result value - string representing numeric value (eg: "1.02"). unit is '%'
upper limit when restricting value to a range
spike recovery for the analyte
standard deviation of the sample replicate results
notes posted to state traceability systems such as METRC or BioTrack
relative percent difference of the analyte values
testing qualifiers, where the regulator defines them
upper limit of quantitation. unit is '%'
value above which this test fails. unit is '%'
lower limit when restricting value to a range
purity percentage for the analyte
limit of quantitation. unit is '%'
relative standard deviation of the analyte values
limit of detection. unit is '%'
Show 2 child attributes Hide 2 child attributes
Show 23 child attributes Hide 23 child attributes
pass or fail integer ID from the status enum
['%'] units the data is being submitted in, from the category's allowed units ('ppm', 'mg/ml', 'mg/unit', 'mg/serving', 'ppb', 'mg/container', '%', 'mg/g')
['%'] the primary units displayed on the certificate of analysis
the weight in grams of the whole unit submitted for sampling when any unit fields are 'mg/unit'
[2] number of digits to display on the certificate of analysis; see digits_method
['round'] round rounds to digits decimal places, significant rounds to digits significant figures
date the sample was tested for this assay
optional testing notes for this assay
optional testing notes for this assay
optional testing notes for this assay
optional testing notes for this assay
footnote to accompany this assay
name of lab employee to appear on certificate of analysis
title of lab employee to appear on certificate of analysis
volume of the aliquot in the solution
Description of container (eg. bottle, box, tin)
weight of aliquot after drying
the weight in grams of 1ml of sample when any unit fields are 'mg/ml'
the secondary units displayed on the certificate of analysis
Number of servings per container
definition of one unit when any unit fields are 'mg/unit'
Number of units per serving
weight of aliquot as received
most values have been converted to '%'
Show 15 child attributes Hide 15 child attributes
compound_key for what is being tested
test result value - string representing numeric value (eg: "1.02"). unit is '%'
upper limit when restricting value to a range
spike recovery for the analyte
standard deviation of the sample replicate results
notes posted to state traceability systems such as METRC or BioTrack
relative percent difference of the analyte values
testing qualifiers, where the regulator defines them
upper limit of quantitation. unit is '%'
value above which this test fails. unit is '%'
lower limit when restricting value to a range
purity percentage for the analyte
limit of quantitation. unit is '%'
relative standard deviation of the analyte values
limit of detection. unit is '%'
moisture generally only has 'percent_moisture' in the compound list
Show 2 child attributes Hide 2 child attributes
Show 16 child attributes Hide 16 child attributes
pass or fail integer ID from the status enum
['%'] units the data is being submitted in, from the category's allowed units ('%')
['%'] the primary units displayed on the certificate of analysis
[1] number of digits to display on the certificate of analysis; see digits_method
['round'] round rounds to digits decimal places, significant rounds to digits significant figures
date the sample was tested for this assay
optional testing notes for this assay
optional testing notes for this assay
optional testing notes for this assay
optional testing notes for this assay
footnote to accompany this assay
name of lab employee to appear on certificate of analysis
title of lab employee to appear on certificate of analysis
weight of aliquot after drying
the secondary units displayed on the certificate of analysis
weight of aliquot as received
most values have been converted to '%'
Show 15 child attributes Hide 15 child attributes
compound_key for what is being tested
test result value - string representing numeric value (eg: "1.02"). unit is '%'
upper limit when restricting value to a range
spike recovery for the analyte
standard deviation of the sample replicate results
notes posted to state traceability systems such as METRC or BioTrack
relative percent difference of the analyte values
testing qualifiers, where the regulator defines them
upper limit of quantitation. unit is '%'
value above which this test fails. unit is '%'
lower limit when restricting value to a range
purity percentage for the analyte
limit of quantitation. unit is '%'
relative standard deviation of the analyte values
limit of detection. unit is '%'
Show 2 child attributes Hide 2 child attributes
Show 17 child attributes Hide 17 child attributes
pass or fail integer ID from the status enum
['ppm'] units the data is being submitted in, from the category's allowed units ('ppm', 'mg/g', 'ppb')
['ppm'] the primary units displayed on the certificate of analysis
[3] number of digits to display on the certificate of analysis; see digits_method
['round'] round rounds to digits decimal places, significant rounds to digits significant figures
date the sample was tested for this assay
optional testing notes for this assay
optional testing notes for this assay
optional testing notes for this assay
optional testing notes for this assay
footnote to accompany this assay
name of lab employee to appear on certificate of analysis
title of lab employee to appear on certificate of analysis
volume of the aliquot in the solution
weight of aliquot after drying
the secondary units displayed on the certificate of analysis
weight of aliquot as received
most values have been converted to 'ppm'
Show 15 child attributes Hide 15 child attributes
compound_key for what is being tested
test result value - string representing numeric value (eg: "1.02"). unit is 'ppm'
upper limit when restricting value to a range
spike recovery for the analyte
standard deviation of the sample replicate results
notes posted to state traceability systems such as METRC or BioTrack
relative percent difference of the analyte values
testing qualifiers, where the regulator defines them
upper limit of quantitation. unit is 'ppm'
value above which this test fails. unit is 'ppm'
lower limit when restricting value to a range
purity percentage for the analyte
limit of quantitation. unit is 'ppm'
relative standard deviation of the analyte values
limit of detection. unit is 'ppm'
Show 2 child attributes Hide 2 child attributes
Show 16 child attributes Hide 16 child attributes
pass or fail integer ID from the status enum
['ppm'] units the data is being submitted in, from the category's allowed units ('ppm', '%', 'mg/g', 'ppb')
['ppm'] the primary units displayed on the certificate of analysis
[3] number of digits to display on the certificate of analysis; see digits_method
['round'] round rounds to digits decimal places, significant rounds to digits significant figures
date the sample was tested for this assay
optional testing notes for this assay
optional testing notes for this assay
optional testing notes for this assay
optional testing notes for this assay
footnote to accompany this assay
name of lab employee to appear on certificate of analysis
title of lab employee to appear on certificate of analysis
weight of aliquot after drying
the secondary units displayed on the certificate of analysis
weight of aliquot as received
most values have been converted to 'ppm'
Show 15 child attributes Hide 15 child attributes
compound_key for what is being tested
test result value - string representing numeric value (eg: "1.02"). unit is 'ppm'
upper limit when restricting value to a range
spike recovery for the analyte
standard deviation of the sample replicate results
notes posted to state traceability systems such as METRC or BioTrack
relative percent difference of the analyte values
testing qualifiers, where the regulator defines them
upper limit of quantitation. unit is 'ppm'
value above which this test fails. unit is 'ppm'
lower limit when restricting value to a range
purity percentage for the analyte
limit of quantitation. unit is 'ppm'
relative standard deviation of the analyte values
limit of detection. unit is 'ppm'
microbial results aren't converted from their input values
Show 2 child attributes Hide 2 child attributes
Show 18 child attributes Hide 18 child attributes
pass or fail integer ID from the status enum
['cfu/g'] units the data is being submitted in, from the category's allowed units ('cfu/ml', 'cq', 'cfu/plate', 'cfu/m^3', 'cfu/g', 'mpn/g', 'cfu')
['cfu/g'] the primary units displayed on the certificate of analysis
the weight in grams of the whole unit submitted for sampling when any unit fields are 'mg/unit'
[0] number of digits to display on the certificate of analysis; see digits_method
['round'] round rounds to digits decimal places, significant rounds to digits significant figures
date the sample was tested for this assay
optional testing notes for this assay
optional testing notes for this assay
optional testing notes for this assay
optional testing notes for this assay
footnote to accompany this assay
name of lab employee to appear on certificate of analysis
title of lab employee to appear on certificate of analysis
weight of aliquot after drying
the weight in grams of 1ml of sample when any unit fields are 'mg/ml'
the secondary units displayed on the certificate of analysis
weight of aliquot as received
Show 15 child attributes Hide 15 child attributes
compound_key for what is being tested
test result value - string representing numeric value (eg: "1.02"). unit is the same as input_units
upper limit when restricting value to a range
spike recovery for the analyte
standard deviation of the sample replicate results
notes posted to state traceability systems such as METRC or BioTrack
relative percent difference of the analyte values
testing qualifiers, where the regulator defines them
upper limit of quantitation. unit is the same as input_units
value above which this test fails. unit is the same as input_units
lower limit when restricting value to a range
purity percentage for the analyte
limit of quantitation. unit is the same as input_units
relative standard deviation of the analyte values
limit of detection. unit is the same as input_units
Show 2 child attributes Hide 2 child attributes
Show 14 child attributes Hide 14 child attributes
pass or fail integer ID from the status enum
['ppb'] units the data is being submitted in, from the category's allowed units ('ppm', 'mg/g', 'ppb')
['ppb'] the primary units displayed on the certificate of analysis
[2] number of digits to display on the certificate of analysis; see digits_method
['round'] round rounds to digits decimal places, significant rounds to digits significant figures
date the sample was tested for this assay
optional testing notes for this assay
optional testing notes for this assay
optional testing notes for this assay
optional testing notes for this assay
footnote to accompany this assay
name of lab employee to appear on certificate of analysis
title of lab employee to appear on certificate of analysis
the secondary units displayed on the certificate of analysis
most values have been converted to 'ppb'
Show 15 child attributes Hide 15 child attributes
compound_key for what is being tested
test result value - string representing numeric value (eg: "1.02"). unit is 'ppb'
upper limit when restricting value to a range
spike recovery for the analyte
standard deviation of the sample replicate results
notes posted to state traceability systems such as METRC or BioTrack
relative percent difference of the analyte values
testing qualifiers, where the regulator defines them
upper limit of quantitation. unit is 'ppb'
value above which this test fails. unit is 'ppb'
lower limit when restricting value to a range
purity percentage for the analyte
limit of quantitation. unit is 'ppb'
relative standard deviation of the analyte values
limit of detection. unit is 'ppb'
Show 2 child attributes Hide 2 child attributes
Show 14 child attributes Hide 14 child attributes
pass or fail integer ID from the status enum
['aw'] units the data is being submitted in, from the category's allowed units ('aw')
['aw'] the primary units displayed on the certificate of analysis
[5] number of digits to display on the certificate of analysis; see digits_method
['round'] round rounds to digits decimal places, significant rounds to digits significant figures
date the sample was tested for this assay
optional testing notes for this assay
optional testing notes for this assay
optional testing notes for this assay
optional testing notes for this assay
footnote to accompany this assay
name of lab employee to appear on certificate of analysis
title of lab employee to appear on certificate of analysis
the secondary units displayed on the certificate of analysis
most values have been converted to 'aw'
Show 15 child attributes Hide 15 child attributes
compound_key for what is being tested
test result value - string representing numeric value (eg: "1.02"). unit is 'aw'
upper limit when restricting value to a range
spike recovery for the analyte
standard deviation of the sample replicate results
notes posted to state traceability systems such as METRC or BioTrack
relative percent difference of the analyte values
testing qualifiers, where the regulator defines them
upper limit of quantitation. unit is 'aw'
value above which this test fails. unit is 'aw'
lower limit when restricting value to a range
purity percentage for the analyte
limit of quantitation. unit is 'aw'
relative standard deviation of the analyte values
limit of detection. unit is 'aw'
Show 2 child attributes Hide 2 child attributes
Show 14 child attributes Hide 14 child attributes
pass or fail integer ID from the status enum
['%'] units the data is being submitted in, from the category's allowed units ('%', 'mg/lb')
['%'] the primary units displayed on the certificate of analysis
[2] number of digits to display on the certificate of analysis; see digits_method
['round'] round rounds to digits decimal places, significant rounds to digits significant figures
date the sample was tested for this assay
optional testing notes for this assay
optional testing notes for this assay
optional testing notes for this assay
optional testing notes for this assay
footnote to accompany this assay
name of lab employee to appear on certificate of analysis
title of lab employee to appear on certificate of analysis
the secondary units displayed on the certificate of analysis
most values have been converted to '%'
Show 15 child attributes Hide 15 child attributes
compound_key for what is being tested
test result value - string representing numeric value (eg: "1.02"). unit is '%'
upper limit when restricting value to a range
spike recovery for the analyte
standard deviation of the sample replicate results
notes posted to state traceability systems such as METRC or BioTrack
relative percent difference of the analyte values
testing qualifiers, where the regulator defines them
upper limit of quantitation. unit is '%'
value above which this test fails. unit is '%'
lower limit when restricting value to a range
purity percentage for the analyte
limit of quantitation. unit is '%'
relative standard deviation of the analyte values
limit of detection. unit is '%'
Show 2 child attributes Hide 2 child attributes
Show 15 child attributes Hide 15 child attributes
pass or fail integer ID from the status enum
['%'] units the data is being submitted in, from the category's allowed units ('%', 'mg/unit')
['%'] the primary units displayed on the certificate of analysis
the weight in grams of the whole unit submitted for sampling when any unit fields are 'mg/unit'
[0] number of digits to display on the certificate of analysis; see digits_method
['round'] round rounds to digits decimal places, significant rounds to digits significant figures
date the sample was tested for this assay
optional testing notes for this assay
optional testing notes for this assay
optional testing notes for this assay
optional testing notes for this assay
footnote to accompany this assay
name of lab employee to appear on certificate of analysis
title of lab employee to appear on certificate of analysis
the secondary units displayed on the certificate of analysis
most values have been converted to '%'
Show 15 child attributes Hide 15 child attributes
compound_key for what is being tested
test result value - string representing numeric value (eg: "1.02"). unit is '%'
upper limit when restricting value to a range
spike recovery for the analyte
standard deviation of the sample replicate results
notes posted to state traceability systems such as METRC or BioTrack
relative percent difference of the analyte values
testing qualifiers, where the regulator defines them
upper limit of quantitation. unit is '%'
value above which this test fails. unit is '%'
lower limit when restricting value to a range
purity percentage for the analyte
limit of quantitation. unit is '%'
relative standard deviation of the analyte values
limit of detection. unit is '%'
Show 2 child attributes Hide 2 child attributes
Show 14 child attributes Hide 14 child attributes
pass or fail integer ID from the status enum
['ppb'] units the data is being submitted in, from the category's allowed units ('ppm', 'mg/g', 'ppb')
['ppb'] the primary units displayed on the certificate of analysis
[0] number of digits to display on the certificate of analysis; see digits_method
['round'] round rounds to digits decimal places, significant rounds to digits significant figures
date the sample was tested for this assay
optional testing notes for this assay
optional testing notes for this assay
optional testing notes for this assay
optional testing notes for this assay
footnote to accompany this assay
name of lab employee to appear on certificate of analysis
title of lab employee to appear on certificate of analysis
the secondary units displayed on the certificate of analysis
most values have been converted to 'ppb'
Show 15 child attributes Hide 15 child attributes
compound_key for what is being tested
test result value - string representing numeric value (eg: "1.02"). unit is 'ppb'
upper limit when restricting value to a range
spike recovery for the analyte
standard deviation of the sample replicate results
notes posted to state traceability systems such as METRC or BioTrack
relative percent difference of the analyte values
testing qualifiers, where the regulator defines them
upper limit of quantitation. unit is 'ppb'
value above which this test fails. unit is 'ppb'
lower limit when restricting value to a range
purity percentage for the analyte
limit of quantitation. unit is 'ppb'
relative standard deviation of the analyte values
limit of detection. unit is 'ppb'
Show 2 child attributes Hide 2 child attributes
Show 7 child attributes Hide 7 child attributes
optional testing notes for this assay
optional testing notes for this assay
optional testing notes for this assay
optional testing notes for this assay
footnote to accompany this assay
name of lab employee to appear on certificate of analysis
title of lab employee to appear on certificate of analysis
Show 2 child attributes Hide 2 child attributes
compound_key for what is being tested
Show 2 child attributes Hide 2 child attributes
Show 13 child attributes Hide 13 child attributes
pass or fail integer ID from the status enum
['%'] units the data is being submitted in, from the category's allowed units ('%')
['%'] the primary units displayed on the certificate of analysis
[0] number of digits to display on the certificate of analysis; see digits_method
['round'] round rounds to digits decimal places, significant rounds to digits significant figures
date the sample was tested for this assay
optional testing notes for this assay
optional testing notes for this assay
optional testing notes for this assay
optional testing notes for this assay
footnote to accompany this assay
name of lab employee to appear on certificate of analysis
title of lab employee to appear on certificate of analysis
most values have been converted to '%'
Show 15 child attributes Hide 15 child attributes
compound_key for what is being tested
test result value - string representing numeric value (eg: "1.02"). unit is '%'
upper limit when restricting value to a range
spike recovery for the analyte
standard deviation of the sample replicate results
notes posted to state traceability systems such as METRC or BioTrack
relative percent difference of the analyte values
testing qualifiers, where the regulator defines them
upper limit of quantitation. unit is '%'
value above which this test fails. unit is '%'
lower limit when restricting value to a range
purity percentage for the analyte
limit of quantitation. unit is '%'
relative standard deviation of the analyte values
limit of detection. unit is '%'
Show 2 child attributes Hide 2 child attributes
Show 18 child attributes Hide 18 child attributes
pass or fail integer ID from the status enum
['ppm'] units the data is being submitted in, from the category's allowed units ('ppm', 'mg/ml', 'mg/unit', 'mg/serving', 'ppb', 'mg/container', '%', 'mg/g')
['ppm'] the primary units displayed on the certificate of analysis
the weight in grams of the whole unit submitted for sampling when any unit fields are 'mg/unit'
[2] number of digits to display on the certificate of analysis; see digits_method
['round'] round rounds to digits decimal places, significant rounds to digits significant figures
date the sample was tested for this assay
optional testing notes for this assay
optional testing notes for this assay
optional testing notes for this assay
optional testing notes for this assay
footnote to accompany this assay
name of lab employee to appear on certificate of analysis
title of lab employee to appear on certificate of analysis
weight of aliquot after drying
the weight in grams of 1ml of sample when any unit fields are 'mg/ml'
the secondary units displayed on the certificate of analysis
weight of aliquot as received
most values have been converted to 'ppm'
Show 15 child attributes Hide 15 child attributes
compound_key for what is being tested
test result value - string representing numeric value (eg: "1.02"). unit is 'ppm'
upper limit when restricting value to a range
spike recovery for the analyte
standard deviation of the sample replicate results
notes posted to state traceability systems such as METRC or BioTrack
relative percent difference of the analyte values
testing qualifiers, where the regulator defines them
upper limit of quantitation. unit is 'ppm'
value above which this test fails. unit is 'ppm'
lower limit when restricting value to a range
purity percentage for the analyte
limit of quantitation. unit is 'ppm'
relative standard deviation of the analyte values
limit of detection. unit is 'ppm'
Show 2 child attributes Hide 2 child attributes
Show 19 child attributes Hide 19 child attributes
pass or fail integer ID from the status enum
['eu/ml'] units the data is being submitted in, from the category's allowed units ('eu/g', 'eu/ml', 'eu/mg')
['eu/ml'] the primary units displayed on the certificate of analysis
the weight in grams of the whole unit submitted for sampling when any unit fields are 'mg/unit'
[2] number of digits to display on the certificate of analysis; see digits_method
['round'] round rounds to digits decimal places, significant rounds to digits significant figures
date the sample was tested for this assay
optional testing notes for this assay
optional testing notes for this assay
optional testing notes for this assay
optional testing notes for this assay
footnote to accompany this assay
name of lab employee to appear on certificate of analysis
title of lab employee to appear on certificate of analysis
weight of aliquot after drying
the weight in grams of 1ml of sample when any unit fields are 'mg/ml'
Number of servings per container
Number of units per serving
weight of aliquot as received
most values have been converted to 'eu/ml'
Show 15 child attributes Hide 15 child attributes
compound_key for what is being tested
test result value - string representing numeric value (eg: "1.02"). unit is 'eu/ml'
upper limit when restricting value to a range
spike recovery for the analyte
standard deviation of the sample replicate results
notes posted to state traceability systems such as METRC or BioTrack
relative percent difference of the analyte values
testing qualifiers, where the regulator defines them
upper limit of quantitation. unit is 'eu/ml'
value above which this test fails. unit is 'eu/ml'
lower limit when restricting value to a range
purity percentage for the analyte
limit of quantitation. unit is 'eu/ml'
relative standard deviation of the analyte values
limit of detection. unit is 'eu/ml'
Show 2 child attributes Hide 2 child attributes
Show 17 child attributes Hide 17 child attributes
pass or fail integer ID from the status enum
['%'] units the data is being submitted in, from the category's allowed units ('ppm', 'mg/ml', 'mg/unit', 'mg/serving', 'ppb', 'mg/container', '%', 'mg/g')
['%'] the primary units displayed on the certificate of analysis
the weight in grams of the whole unit submitted for sampling when any unit fields are 'mg/unit'
[2] number of digits to display on the certificate of analysis; see digits_method
['round'] round rounds to digits decimal places, significant rounds to digits significant figures
date the sample was tested for this assay
optional testing notes for this assay
optional testing notes for this assay
optional testing notes for this assay
optional testing notes for this assay
footnote to accompany this assay
name of lab employee to appear on certificate of analysis
title of lab employee to appear on certificate of analysis
weight of aliquot after drying
the weight in grams of 1ml of sample when any unit fields are 'mg/ml'
weight of aliquot as received
most values have been converted to '%'
Show 15 child attributes Hide 15 child attributes
compound_key for what is being tested
test result value - string representing numeric value (eg: "1.02"). unit is '%'
upper limit when restricting value to a range
spike recovery for the analyte
standard deviation of the sample replicate results
notes posted to state traceability systems such as METRC or BioTrack
relative percent difference of the analyte values
testing qualifiers, where the regulator defines them
upper limit of quantitation. unit is '%'
value above which this test fails. unit is '%'
lower limit when restricting value to a range
purity percentage for the analyte
limit of quantitation. unit is '%'
relative standard deviation of the analyte values
limit of detection. unit is '%'
Show 2 child attributes Hide 2 child attributes
Show 19 child attributes Hide 19 child attributes
pass or fail integer ID from the status enum
['%'] units the data is being submitted in, from the category's allowed units ('ppm', 'mg/ml', 'iu', 'mg/unit', 'mg/serving', 'ppb', 'mg/container', '%', 'mg/g')
['%'] the primary units displayed on the certificate of analysis
the weight in grams of the whole unit submitted for sampling when any unit fields are 'mg/unit'
[2] number of digits to display on the certificate of analysis; see digits_method
['round'] round rounds to digits decimal places, significant rounds to digits significant figures
date the sample was tested for this assay
optional testing notes for this assay
optional testing notes for this assay
optional testing notes for this assay
optional testing notes for this assay
footnote to accompany this assay
name of lab employee to appear on certificate of analysis
title of lab employee to appear on certificate of analysis
weight of aliquot after drying
the weight in grams of 1ml of sample when any unit fields are 'mg/ml'
Number of servings per container
Number of units per serving
weight of aliquot as received
most values have been converted to '%'
Show 15 child attributes Hide 15 child attributes
compound_key for what is being tested
test result value - string representing numeric value (eg: "1.02"). unit is '%'
upper limit when restricting value to a range
spike recovery for the analyte
standard deviation of the sample replicate results
notes posted to state traceability systems such as METRC or BioTrack
relative percent difference of the analyte values
testing qualifiers, where the regulator defines them
upper limit of quantitation. unit is '%'
value above which this test fails. unit is '%'
lower limit when restricting value to a range
purity percentage for the analyte
limit of quantitation. unit is '%'
relative standard deviation of the analyte values
limit of detection. unit is '%'
Show 2 child attributes Hide 2 child attributes
Show 20 child attributes Hide 20 child attributes
pass or fail integer ID from the status enum
['%'] units the data is being submitted in, from the category's allowed units ('ppm', 'mg/ml', 'mg/unit', 'mg/serving', 'ppb', 'mg/container', '%', 'mg/g')
['%'] the primary units displayed on the certificate of analysis
the weight in grams of the whole unit submitted for sampling when any unit fields are 'mg/unit'
[2] number of digits to display on the certificate of analysis; see digits_method
['round'] round rounds to digits decimal places, significant rounds to digits significant figures
date the sample was tested for this assay
optional testing notes for this assay
optional testing notes for this assay
optional testing notes for this assay
optional testing notes for this assay
footnote to accompany this assay
name of lab employee to appear on certificate of analysis
title of lab employee to appear on certificate of analysis
weight of aliquot after drying
the weight in grams of 1ml of sample when any unit fields are 'mg/ml'
the secondary units displayed on the certificate of analysis
Number of servings per container
Number of units per serving
weight of aliquot as received
most values have been converted to '%'
Show 15 child attributes Hide 15 child attributes
compound_key for what is being tested
test result value - string representing numeric value (eg: "1.02"). unit is '%'
upper limit when restricting value to a range
spike recovery for the analyte
standard deviation of the sample replicate results
notes posted to state traceability systems such as METRC or BioTrack
relative percent difference of the analyte values
testing qualifiers, where the regulator defines them
upper limit of quantitation. unit is '%'
value above which this test fails. unit is '%'
lower limit when restricting value to a range
purity percentage for the analyte
limit of quantitation. unit is '%'
relative standard deviation of the analyte values
limit of detection. unit is '%'
Show 2 child attributes Hide 2 child attributes
Show 20 child attributes Hide 20 child attributes
pass or fail integer ID from the status enum
['ppm'] units the data is being submitted in, from the category's allowed units ('ppm', 'mg/ml', 'mg/unit', 'mg/serving', 'ppb', 'mg/container', '%', 'mg/g')
['ppm'] the primary units displayed on the certificate of analysis
the weight in grams of the whole unit submitted for sampling when any unit fields are 'mg/unit'
[2] number of digits to display on the certificate of analysis; see digits_method
['round'] round rounds to digits decimal places, significant rounds to digits significant figures
date the sample was tested for this assay
optional testing notes for this assay
optional testing notes for this assay
optional testing notes for this assay
optional testing notes for this assay
footnote to accompany this assay
name of lab employee to appear on certificate of analysis
title of lab employee to appear on certificate of analysis
weight of aliquot after drying
the weight in grams of 1ml of sample when any unit fields are 'mg/ml'
the secondary units displayed on the certificate of analysis
Number of servings per container
Number of units per serving
weight of aliquot as received
most values have been converted to 'ppm'
Show 15 child attributes Hide 15 child attributes
compound_key for what is being tested
test result value - string representing numeric value (eg: "1.02"). unit is 'ppm'
upper limit when restricting value to a range
spike recovery for the analyte
standard deviation of the sample replicate results
notes posted to state traceability systems such as METRC or BioTrack
relative percent difference of the analyte values
testing qualifiers, where the regulator defines them
upper limit of quantitation. unit is 'ppm'
value above which this test fails. unit is 'ppm'
lower limit when restricting value to a range
purity percentage for the analyte
limit of quantitation. unit is 'ppm'
relative standard deviation of the analyte values
limit of detection. unit is 'ppm'
Show 2 child attributes Hide 2 child attributes
Show 14 child attributes Hide 14 child attributes
pass or fail integer ID from the status enum
['ph'] units the data is being submitted in, from the category's allowed units ('ph')
['ph'] the primary units displayed on the certificate of analysis
[2] number of digits to display on the certificate of analysis; see digits_method
['round'] round rounds to digits decimal places, significant rounds to digits significant figures
date the sample was tested for this assay
optional testing notes for this assay
optional testing notes for this assay
optional testing notes for this assay
optional testing notes for this assay
footnote to accompany this assay
name of lab employee to appear on certificate of analysis
title of lab employee to appear on certificate of analysis
the secondary units displayed on the certificate of analysis
most values have been converted to 'ph'
Show 15 child attributes Hide 15 child attributes
compound_key for what is being tested
test result value - string representing numeric value (eg: "1.02"). unit is 'ph'
upper limit when restricting value to a range
spike recovery for the analyte
standard deviation of the sample replicate results
notes posted to state traceability systems such as METRC or BioTrack
relative percent difference of the analyte values
testing qualifiers, where the regulator defines them
upper limit of quantitation. unit is 'ph'
value above which this test fails. unit is 'ph'
lower limit when restricting value to a range
purity percentage for the analyte
limit of quantitation. unit is 'ph'
relative standard deviation of the analyte values
limit of detection. unit is 'ph'
Show 2 child attributes Hide 2 child attributes
Show 19 child attributes Hide 19 child attributes
pass or fail integer ID from the status enum
['%'] units the data is being submitted in, from the category's allowed units ('ppm', 'mg/ml', 'mg/unit', 'mg/serving', 'ppb', 'mg/container', '%', 'mg/g')
['%'] the primary units displayed on the certificate of analysis
the weight in grams of the whole unit submitted for sampling when any unit fields are 'mg/unit'
[2] number of digits to display on the certificate of analysis; see digits_method
['round'] round rounds to digits decimal places, significant rounds to digits significant figures
date the sample was tested for this assay
optional testing notes for this assay
optional testing notes for this assay
optional testing notes for this assay
optional testing notes for this assay
footnote to accompany this assay
name of lab employee to appear on certificate of analysis
title of lab employee to appear on certificate of analysis
weight of aliquot after drying
the weight in grams of 1ml of sample when any unit fields are 'mg/ml'
Number of servings per container
Number of units per serving
weight of aliquot as received
most values have been converted to '%'
Show 15 child attributes Hide 15 child attributes
compound_key for what is being tested
test result value - string representing numeric value (eg: "1.02"). unit is '%'
upper limit when restricting value to a range
spike recovery for the analyte
standard deviation of the sample replicate results
notes posted to state traceability systems such as METRC or BioTrack
relative percent difference of the analyte values
testing qualifiers, where the regulator defines them
upper limit of quantitation. unit is '%'
value above which this test fails. unit is '%'
lower limit when restricting value to a range
purity percentage for the analyte
limit of quantitation. unit is '%'
relative standard deviation of the analyte values
limit of detection. unit is '%'
Show 2 child attributes Hide 2 child attributes
Show 14 child attributes Hide 14 child attributes
pass or fail integer ID from the status enum
['days'] units the data is being submitted in, from the category's allowed units ('days')
['days'] the primary units displayed on the certificate of analysis
[0] number of digits to display on the certificate of analysis; see digits_method
['round'] round rounds to digits decimal places, significant rounds to digits significant figures
date the sample was tested for this assay
optional testing notes for this assay
optional testing notes for this assay
optional testing notes for this assay
optional testing notes for this assay
footnote to accompany this assay
name of lab employee to appear on certificate of analysis
title of lab employee to appear on certificate of analysis
the secondary units displayed on the certificate of analysis
most values have been converted to 'days'
Show 15 child attributes Hide 15 child attributes
compound_key for what is being tested
test result value - string representing numeric value (eg: "1.02"). unit is 'days'
upper limit when restricting value to a range
spike recovery for the analyte
standard deviation of the sample replicate results
notes posted to state traceability systems such as METRC or BioTrack
relative percent difference of the analyte values
testing qualifiers, where the regulator defines them
upper limit of quantitation. unit is 'days'
value above which this test fails. unit is 'days'
lower limit when restricting value to a range
purity percentage for the analyte
limit of quantitation. unit is 'days'
relative standard deviation of the analyte values
limit of detection. unit is 'days'
400 Bad request
The request was malformed or failed validation. Validation failures include per-field messages in error_details.
Possible error_code values: invalid_request, request_too_old.
401 Unauthorized
Authentication failed.
Possible error_code values: missing_api_key, invalid_api_key, invalid_credentials_type, api_access_restricted, api_access_denied, missing_signature, missing_timestamp, invalid_timestamp, invalid_signature.
403 Permission denied
The API key is valid but does not have permission for this endpoint (for example, a client key calling a labs endpoint).
Possible error_code values: permission_denied.
404 Not found
The requested record does not exist or is not visible to this organization.
Possible error_code values: not_found.
# X-ConfidentLims-Signature: see the Request Signing guide - https://api.confidentcannabis.com/v0/docs/request-signing.md
curl -X GET 'https://api.confidentcannabis.com/v0/clients/sample/{sample_id}' \
-H 'X-ConfidentLims-APIKey: YOUR_API_KEY' \
-H 'X-ConfidentLims-Timestamp: UNIX_TIMESTAMP' \
-H 'X-ConfidentLims-Signature: REQUEST_SIGNATURE'
import time import requests # sign_request() is defined in the Request Signing guide: # https://api.confidentcannabis.com/v0/docs/request-signing.md from sign_request import sign_request API_KEY = 'YOUR_API_KEY' API_SECRET = 'YOUR_API_SECRET' path = '/v0/clients/sample/{sample_id}' headers = {'X-ConfidentLims-Timestamp': str(int(time.time()))} headers['X-ConfidentLims-Signature'] = sign_request( 'GET', path, headers, {}, API_KEY, API_SECRET) headers['X-ConfidentLims-APIKey'] = API_KEY response = requests.get( 'https://api.confidentcannabis.com' + path, headers=headers, ) print(response.json())
// signRequest() is defined in the Request Signing guide: // https://api.confidentcannabis.com/v0/docs/request-signing.md import { signRequest } from './sign_request.js'; const API_KEY = 'YOUR_API_KEY'; const API_SECRET = 'YOUR_API_SECRET'; const path = "/v0/clients/sample/{sample_id}"; const headers = { 'X-ConfidentLims-Timestamp': String(Math.floor(Date.now() / 1000)) }; headers['X-ConfidentLims-Signature'] = signRequest( "GET", path, headers, {}, API_KEY, API_SECRET); headers['X-ConfidentLims-APIKey'] = API_KEY; const response = await fetch("https://api.confidentcannabis.com" + path, { headers, }); console.log(await response.json());
{
"success": true,
"sample": {
"id": "2603CAL0142.0001",
"order_id": "2603CAL0142",
"client_id": 4821,
"lab": {
"id": 118,
"name": "Cascade Analytical Labs"
},
"order_status_id": 4,
"order_status_name": "Completed",
"sample_name": "Blue Dream - Cured Flower",
"strain_name": "Blue Dream",
"sample_industry_id": 1,
"sample_industry_name": "Cannabis & Hemp",
"sample_category_id": 1,
"sample_category_name": "Plant",
"sample_type_id": 1,
"sample_type_name": "Flower - Cured",
"sample_classification_id": 4,
"sample_classification_name": "Hybrid",
"production_method_id": 1,
"production_method_name": "Indoor",
"regulator_sample_id": "1A4060300003B01000001234",
"regulator_batch_id": "1A4060300003B01000000987",
"batch_id": "BD-2026-03-A",
"harvest_id": "HV-2026-01-BD",
"test_packages": [
{
"id": 12,
"name": "OR Recreational Flower Panel",
"price": 275.0,
"minimum_quantity": 5.0
}
],
"last_modified": "2026-03-18T14:05:51",
"date_published": "2026-03-18T14:05:51",
"initial_weight": 12.0,
"initial_weight_unit": "g",
"test_types": [
{
"id": 1,
"name": "cannabinoids",
"abbreviation": "CAN"
}
],
"cover_image": {
"filename": "blue-dream-cured.jpg",
"public_key": "c0a8f31e-3b0e-4f42-9a4c-1d9a8f2b7e30",
"url": "https://images.confidentcannabis.com/blue-dream-cured.jpg"
},
"images": [
{
"filename": "blue-dream-cured.jpg",
"public_key": "c0a8f31e-3b0e-4f42-9a4c-1d9a8f2b7e30",
"url": "https://images.confidentcannabis.com/blue-dream-cured.jpg"
}
],
"notes": "Third harvest of the 2026 indoor run.",
"batch_size": 4500.0,
"batch_size_unit": "g",
"lot_id": "LOT-2026-0311",
"lot_size": 9000.0,
"lot_size_unit": "g",
"production_run_id": "RUN-2026-03",
"production_run_size": 18000.0,
"production_run_size_unit": "g",
"manifest_id": "0000123456",
"regulator_lot_id": "1A4060300003B01000000555",
"regulator_sample_id2": null,
"regulator_batch_id2": null,
"production_date": "2026-02-24T00:00:00",
"date_samples_collected": "2026-03-10T00:00:00",
"public_url": "https://confidentcannabis.com/s/4d1f9a2c",
"units_per_serving": null,
"servings_per_container": null,
"unit_description": null,
"container_description": null,
"regulatory_category_id": 3,
"solvents_used": null,
"has_coa": true,
"coa": {
"filename": "coa-2603CAL0142.0001.pdf",
"public_key": "2b7f4c11-90a4-4a1c-8f0e-5c2d3b1a7788",
"url": "https://files.confidentcannabis.com/coa.pdf"
},
"coa_additions": [],
"lab_data": {
"date_created": "2026-03-17T11:42:08",
"date_reported": "2026-03-18T14:05:51",
"status": 1,
"thc_total": 21.4,
"thc_calculation": "thca * 0.877 + d9_thc",
"cbd_total": 0.12,
"cbd_calculation": "cbda * 0.877 + cbd",
"cannabinoid_total": 24.8,
"cannabinoid_calculation": "sum of all cannabinoids",
"terpene_total": 1.86,
"terpene_calculation": "sum of all terpenes",
"categories": {
"cannabinoids": {
"info_fields": {
"status": 1,
"input_units": "percent",
"report_units": "percent",
"date_tested": "2026-03-17T00:00:00",
"method": "HPLC-DAD"
},
"compounds": [
{
"name": "thca",
"value": "23.85",
"lod": "0.01",
"loq": "0.03"
},
{
"name": "d9_thc",
"value": "0.48",
"lod": "0.01",
"loq": "0.03"
}
]
}
}
}
}
}