# Confident LIMS API v0 (v0.16.0) > Confident LIMS is a laboratory information management system for cannabis and hemp testing labs; this HTTP API lets labs and their clients manage orders, samples, test results, and certificates of analysis. Every request must be signed (HMAC-SHA256) - read the Request Signing guide first; it includes reference signers in Python and JavaScript. Request bodies are form-encoded, never JSON, and every response is JSON with a `success` flag. Each page below is Markdown; the HTML pages have the same URLs without the `.md` suffix. ## Guides - [General Information](https://api.confidentcannabis.com/v0/docs/index.md): Conventions every endpoint shares: form-encoded requests, the JSON response envelope, error codes, paging, timestamps, currency, and file uploads. - [Request Signing](https://api.confidentcannabis.com/v0/docs/request-signing.md): How to sign requests with HMAC-SHA256: the algorithm step by step, reference implementations in Python and JavaScript, and a test vector. Required reading before calling any endpoint. - [Test request signing](https://api.confidentcannabis.com/v0/docs/signing-test.md): POST /v0/signingtest - [Order Lifecycle](https://api.confidentcannabis.com/v0/docs/order-lifecycle.md): Order statuses, the actions that move orders between them, and how draft vs published results and CoAs work. - [Change Log — v0.16.0](https://api.confidentcannabis.com/v0/docs/change-log.md): Version history of the v0 API. ## General — Compounds - [List compounds](https://api.confidentcannabis.com/v0/docs/get-compound.md): GET /v0/compounds ## General — Orders - [List order statuses](https://api.confidentcannabis.com/v0/docs/get-order-statuses.md): GET /v0/orderstatuses ## General — Samples - [List sample categories](https://api.confidentcannabis.com/v0/docs/get-sample-categories.md): GET /v0/samplecategories - [List sample classifications](https://api.confidentcannabis.com/v0/docs/get-sample-classifications.md): GET /v0/sampleclassifications - [List sample industries](https://api.confidentcannabis.com/v0/docs/get-sample-industries.md): GET /v0/sampleindustries - [List sample production methods](https://api.confidentcannabis.com/v0/docs/get-sample-production-methods.md): GET /v0/sampleproductionmethods - [List sample types](https://api.confidentcannabis.com/v0/docs/get-sample-types.md): GET /v0/sampletypes ## General — Test Types - [List test types](https://api.confidentcannabis.com/v0/docs/get-test-types.md): GET /v0/testtypes ## Labs — Clients - [Get a client](https://api.confidentcannabis.com/v0/docs/labs/get-client-details.md): GET /v0/labs/client/{client_id} - [Invite a user to a client](https://api.confidentcannabis.com/v0/docs/labs/post-client-invite.md): POST /v0/labs/client/{client_id}/invite - [List clients](https://api.confidentcannabis.com/v0/docs/labs/get-clients.md): GET /v0/labs/clients ## Labs — Labs - [Get the current lab](https://api.confidentcannabis.com/v0/docs/labs/get-lab.md): GET /v0/labs/lab ## Labs — Orders - [Create an order](https://api.confidentcannabis.com/v0/docs/labs/create-order.md): POST /v0/labs/order - [Get an order](https://api.confidentcannabis.com/v0/docs/labs/get-order-details.md): GET /v0/labs/order/{order_id} - [Update an order](https://api.confidentcannabis.com/v0/docs/labs/patch-order.md): PATCH /v0/labs/order/{order_id} - [Upload an order document](https://api.confidentcannabis.com/v0/docs/labs/post-order-document.md): POST /v0/labs/order/{order_id}/document - [Add a sample to an order](https://api.confidentcannabis.com/v0/docs/labs/add-sample-to-order.md): POST /v0/labs/order/{order_id}/samples - [Cancel an order](https://api.confidentcannabis.com/v0/docs/labs/cancel-order.md): POST /v0/labs/order/{order_id}/status/cancel - [Complete an order](https://api.confidentcannabis.com/v0/docs/labs/complete-order.md): POST /v0/labs/order/{order_id}/status/complete - [Revise an order](https://api.confidentcannabis.com/v0/docs/labs/revise-order.md): POST /v0/labs/order/{order_id}/status/revise - [Un-cancel an order](https://api.confidentcannabis.com/v0/docs/labs/uncancel-order.md): POST /v0/labs/order/{order_id}/status/uncancel - [Unverify an order](https://api.confidentcannabis.com/v0/docs/labs/unverify-order.md): POST /v0/labs/order/{order_id}/status/unverify - [Verify an order](https://api.confidentcannabis.com/v0/docs/labs/verify-order.md): POST /v0/labs/order/{order_id}/status/verify - [List orders](https://api.confidentcannabis.com/v0/docs/labs/get-orders.md): GET /v0/labs/orders ## Labs — Samples - [Get sample details](https://api.confidentcannabis.com/v0/docs/labs/get-sample-details.md): GET /v0/labs/sample/{sample_id} - [Edit a sample](https://api.confidentcannabis.com/v0/docs/labs/edit-sample.md): PATCH /v0/labs/sample/{sample_id} - [Upload a sample CoA](https://api.confidentcannabis.com/v0/docs/labs/post-sample-coa.md): POST /v0/labs/sample/{sample_id}/coa - [Upload a CoA addition](https://api.confidentcannabis.com/v0/docs/labs/post-sample-coa-addition.md): POST /v0/labs/sample/{sample_id}/coa_addition - [Upload a sample image](https://api.confidentcannabis.com/v0/docs/labs/post-sample-image.md): POST /v0/labs/sample/{sample_id}/image - [Submit test results](https://api.confidentcannabis.com/v0/docs/labs/post-sample-test-results.md): POST /v0/labs/sample/{sample_id}/test_results - [Adjust weight on hand](https://api.confidentcannabis.com/v0/docs/labs/adjust-weight-on-hand.md): POST /v0/labs/sample/{sample_id}/weight_on_hand - [List samples](https://api.confidentcannabis.com/v0/docs/labs/get-samples.md): GET /v0/labs/samples ## Labs — Test Packages - [List test packages](https://api.confidentcannabis.com/v0/docs/labs/get-test-packages.md): GET /v0/labs/testpackages ## Clients — Clients - [Get current client](https://api.confidentcannabis.com/v0/docs/clients/get-client.md): GET /v0/clients/client ## Clients — Labs - [Get lab details](https://api.confidentcannabis.com/v0/docs/clients/get-lab-details.md): GET /v0/clients/lab/{lab_id} - [List labs](https://api.confidentcannabis.com/v0/docs/clients/get-labs.md): GET /v0/clients/labs ## Clients — Orders - [Get order details](https://api.confidentcannabis.com/v0/docs/clients/get-order-details.md): GET /v0/clients/order/{order_id} - [List orders](https://api.confidentcannabis.com/v0/docs/clients/get-orders.md): GET /v0/clients/orders ## Clients — Samples - [Get sample details](https://api.confidentcannabis.com/v0/docs/clients/get-sample-details.md): GET /v0/clients/sample/{sample_id} - [List samples](https://api.confidentcannabis.com/v0/docs/clients/get-samples.md): GET /v0/clients/samples ## OpenAPI specs - [Confident LIMS API — General](https://api.confidentcannabis.com/v0/docs/openapi.json): OpenAPI 3.1, JSON - [API Reference For Labs](https://api.confidentcannabis.com/v0/docs/labs/openapi.json): OpenAPI 3.1, JSON - [API Reference For Testers](https://api.confidentcannabis.com/v0/docs/clients/openapi.json): OpenAPI 3.1, JSON ## Optional - [Full documentation in one file](https://api.confidentcannabis.com/v0/docs/llms-full.txt): every guide and endpoint page concatenated