Confident LIMS Reference Data API
Reference data for sample metadata
Reference data for sample metadata
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/confident-lims-reference-data-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Clients Client Info Reference Data API
version: 0.16.0
description: API endpoints for clients to view their orders, samples, and associated labs. All endpoints are read-only (GET) and accessible only with client API credentials.
contact:
name: Confident Cannabis API Support
url: https://www.confidentcannabis.com
servers:
- url: https://api.confidentcannabis.com
description: Production server
security:
- ApiKeyAuth: []
tags:
- name: Reference Data
description: Reference data for sample metadata
paths:
/v0/clients/sampletypes:
get:
summary: Get all sample types
description: Returns a list of all sample types (hidden from public documentation).
operationId: getClientSampleTypes
tags:
- Reference Data
security:
- ApiKeyAuth: []
responses:
'200':
description: Successful response with list of sample types
content:
application/json:
schema:
type: object
required:
- success
- sample_types
properties:
success:
type: boolean
example: true
sample_types:
type: array
items:
type: object
'401':
description: Authentication failed
content:
application/json:
schema:
type: object
description: Error response
required:
- success
- error_code
- error_message
properties:
success:
type: boolean
example: false
error_code:
type: string
example: missing_api_key
error_message:
type: string
example: Missing API key header
error_details:
type: object
additionalProperties:
type: array
items:
type: string
'403':
description: Access denied
content:
application/json:
schema:
type: object
description: Error response
required:
- success
- error_code
- error_message
properties:
success:
type: boolean
example: false
error_code:
type: string
example: permission_denied
error_message:
type: string
example: Access denied
error_details:
type: object
additionalProperties:
type: array
items:
type: string
/v0/clients/samplecategories:
get:
summary: Get all sample categories
description: Returns a list of all sample categories (hidden from public documentation).
operationId: getClientSampleCategories
tags:
- Reference Data
security:
- ApiKeyAuth: []
responses:
'200':
description: Successful response with list of sample categories
content:
application/json:
schema:
type: object
required:
- success
- sample_categories
properties:
success:
type: boolean
example: true
sample_categories:
type: array
items:
type: object
'401':
description: Authentication failed
content:
application/json:
schema:
type: object
description: Error response
required:
- success
- error_code
- error_message
properties:
success:
type: boolean
example: false
error_code:
type: string
example: missing_api_key
error_message:
type: string
example: Missing API key header
error_details:
type: object
additionalProperties:
type: array
items:
type: string
'403':
description: Access denied
content:
application/json:
schema:
type: object
description: Error response
required:
- success
- error_code
- error_message
properties:
success:
type: boolean
example: false
error_code:
type: string
example: permission_denied
error_message:
type: string
example: Access denied
error_details:
type: object
additionalProperties:
type: array
items:
type: string
/v0/clients/sampleproductionmethods:
get:
summary: Get all sample production methods
description: Returns a list of all sample production methods (hidden from public documentation).
operationId: getClientSampleProductionMethods
tags:
- Reference Data
security:
- ApiKeyAuth: []
responses:
'200':
description: Successful response with list of production methods
content:
application/json:
schema:
type: object
required:
- success
- sample_production_methods
properties:
success:
type: boolean
example: true
sample_production_methods:
type: array
items:
type: object
'401':
description: Authentication failed
content:
application/json:
schema:
type: object
description: Error response
required:
- success
- error_code
- error_message
properties:
success:
type: boolean
example: false
error_code:
type: string
example: missing_api_key
error_message:
type: string
example: Missing API key header
error_details:
type: object
additionalProperties:
type: array
items:
type: string
'403':
description: Access denied
content:
application/json:
schema:
type: object
description: Error response
required:
- success
- error_code
- error_message
properties:
success:
type: boolean
example: false
error_code:
type: string
example: permission_denied
error_message:
type: string
example: Access denied
error_details:
type: object
additionalProperties:
type: array
items:
type: string
/v0/clients/sampleclassifications:
get:
summary: Get all sample classifications
description: Returns a list of all sample classifications (hidden from public documentation).
operationId: getClientSampleClassifications
tags:
- Reference Data
security:
- ApiKeyAuth: []
responses:
'200':
description: Successful response with list of sample classifications
content:
application/json:
schema:
type: object
required:
- success
- sample_classifications
properties:
success:
type: boolean
example: true
sample_classifications:
type: array
items:
type: object
'401':
description: Authentication failed
content:
application/json:
schema:
type: object
description: Error response
required:
- success
- error_code
- error_message
properties:
success:
type: boolean
example: false
error_code:
type: string
example: missing_api_key
error_message:
type: string
example: Missing API key header
error_details:
type: object
additionalProperties:
type: array
items:
type: string
'403':
description: Access denied
content:
application/json:
schema:
type: object
description: Error response
required:
- success
- error_code
- error_message
properties:
success:
type: boolean
example: false
error_code:
type: string
example: permission_denied
error_message:
type: string
example: Access denied
error_details:
type: object
additionalProperties:
type: array
items:
type: string
/v0/compounds:
get:
summary: Get all compounds
description: Returns a list of all compounds and compound synonyms in Confident Cannabis. This includes alternate spellings and synonyms. All compounds listed can be used in test results submission using the `name` parameter. Response is cached for 30 minutes.
operationId: getCompounds
tags:
- Reference Data
security:
- ApiKeyAuth: []
responses:
'200':
description: Successful response with list of compounds
headers:
Cache-Control:
description: Cache duration
schema:
type: string
example: max-age=1800
content:
application/json:
schema:
type: object
description: Response containing list of compounds
required:
- success
- compounds
properties:
success:
type: boolean
description: Whether the request was successful
example: true
compounds:
type: array
description: Array of compounds and compound synonyms
items:
type: object
description: A compound or compound synonym that can be used in test results
required:
- category
- name
- display_name
- is_synonym
- synonym_for_compound_name
properties:
category:
type: string
description: Test category under which this compound is normally tested
example: Cannabinoids
name:
type: string
description: Unique name used to identify the compound. Use this value when submitting test results.
example: thc
display_name:
type: string
description: Human-readable display name for the compound
example: THC
is_synonym:
type: boolean
description: True if this is a synonym for another compound, false if it is a primary compound
example: false
synonym_for_compound_name:
type: string
description: If is_synonym is true, this contains the name of the primary compound. Empty string otherwise.
example: ''
examples:
success:
summary: Successful compounds response
value:
success: true
compounds:
- category: Cannabinoids
name: thc
display_name: THC
is_synonym: false
synonym_for_compound_name: ''
- category: Cannabinoids
name: cbd
display_name: CBD
is_synonym: false
synonym_for_compound_name: ''
- category: Cannabinoids
name: thca
display_name: THCa
is_synonym: false
synonym_for_compound_name: ''
- category: Terpenes
name: limonene
display_name: Limonene
is_synonym: false
synonym_for_compound_name: ''
- category: Terpenes
name: d-limonene
display_name: d-Limonene
is_synonym: true
synonym_for_compound_name: limonene
'401':
description: Authentication failed - missing or invalid API key, signature, or timestamp
content:
application/json:
schema:
type: object
description: Error response returned when a request fails
required:
- success
- error_code
- error_message
properties:
success:
type: boolean
description: Always false for error responses
example: false
error_code:
type: string
description: Machine-readable error code
enum:
- missing_api_key
- invalid_api_key
- missing_signature
- invalid_signature
- missing_timestamp
- request_too_old
- api_access_denied
- api_access_restricted
- permission_denied
- invalid_request
- not_found
example: missing_api_key
error_message:
type: string
description: Human-readable error message
example: Missing API key header
error_details:
type: object
description: Additional error details (e.g., validation errors)
additionalProperties:
type: array
items:
type: string
examples:
missing_api_key:
summary: Missing API key
value:
success: false
error_code: missing_api_key
error_message: Missing API key header
invalid_api_key:
summary: Invalid API key
value:
success: false
error_code: invalid_api_key
error_message: Invalid API key
invalid_signature:
summary: Invalid signature
value:
success: false
error_code: invalid_signature
error_message: Signature verification failed
'403':
description: Access denied - insufficient permissions
content:
application/json:
schema:
type: object
description: Error response returned when a request fails
required:
- success
- error_code
- error_message
properties:
success:
type: boolean
description: Always false for error responses
example: false
error_code:
type: string
description: Machine-readable error code
enum:
- missing_api_key
- invalid_api_key
- missing_signature
- invalid_signature
- missing_timestamp
- request_too_old
- api_access_denied
- api_access_restricted
- permission_denied
- invalid_request
- not_found
example: permission_denied
error_message:
type: string
description: Human-readable error message
example: You do not have permission to access this resource
error_details:
type: object
description: Additional error details (e.g., validation errors)
additionalProperties:
type: array
items:
type: string
examples:
permission_denied:
summary: Permission denied
value:
success: false
error_code: permission_denied
error_message: You do not have permission to access this resource
/v0/testtypes:
get:
summary: Get all test types
description: Returns a list of all available test types in the system.
operationId: getTestTypes
tags:
- Reference Data
security:
- ApiKeyAuth: []
responses:
'200':
description: Successful response with list of test types
content:
application/json:
schema:
type: object
description: Response containing list of test types
required:
- success
- test_types
properties:
success:
type: boolean
description: Whether the request was successful
example: true
test_types:
type: array
description: Array of test types
items:
type: object
description: A test type available in the system
required:
- id
- name
- abbreviation
properties:
id:
type: integer
description: Unique ID for the test type
example: 1
name:
type: string
description: Full name of the test type
example: Potency
abbreviation:
type: string
description: Short abbreviation for the test type
example: POT
examples:
success:
summary: Successful test types response
value:
success: true
test_types:
- id: 1
name: Potency
abbreviation: POT
- id: 2
name: Terpenes
abbreviation: TERP
- id: 3
name: Pesticides
abbreviation: PEST
- id: 4
name: Microbials
abbreviation: MICRO
- id: 5
name: Heavy Metals
abbreviation: METALS
'401':
description: Authentication failed - missing or invalid API key, signature, or timestamp
content:
application/json:
schema:
type: object
description: Error response returned when a request fails
required:
- success
- error_code
- error_message
properties:
success:
type: boolean
description: Always false for error responses
example: false
error_code:
type: string
description: Machine-readable error code
enum:
- missing_api_key
- invalid_api_key
- missing_signature
- invalid_signature
- missing_timestamp
- request_too_old
- api_access_denied
- api_access_restricted
- permission_denied
- invalid_request
- not_found
example: missing_api_key
error_message:
type: string
description: Human-readable error message
example: Missing API key header
error_details:
type: object
description: Additional error details (e.g., validation errors)
additionalProperties:
type: array
items:
type: string
examples:
missing_api_key:
summary: Missing API key
value:
success: false
error_code: missing_api_key
error_message: Missing API key header
invalid_api_key:
summary: Invalid API key
value:
success: false
error_code: invalid_api_key
error_message: Invalid API key
invalid_signature:
summary: Invalid signature
value:
success: false
error_code: invalid_signature
error_message: Signature verification failed
'403':
description: Access denied - insufficient permissions
content:
application/json:
schema:
type: object
description: Error response returned when a request fails
required:
- success
- error_code
- error_message
properties:
success:
type: boolean
description: Always false for error responses
example: false
error_code:
type: string
description: Machine-readable error code
enum:
- missing_api_key
- invalid_api_key
- missing_signature
- invalid_signature
- missing_timestamp
- request_too_old
- api_access_denied
- api_access_restricted
- permission_denied
- invalid_request
- not_found
example: permission_denied
error_message:
type: string
description: Human-readable error message
example: You do not have permission to access this resource
error_details:
type: object
description: Additional error details (e.g., validation errors)
additionalProperties:
type: array
items:
type: string
examples:
permission_denied:
summary: Permission denied
value:
success: false
error_code: permission_denied
error_message: You do not have permission to access this resource
/v0/sampletypes:
get:
summary: Get all sample types
description: Returns a list of all sample types with their associated categories.
operationId: getSampleTypes
tags:
- Reference Data
security:
- ApiKeyAuth: []
responses:
'200':
description: Successful response with list of sample types
content:
application/json:
schema:
type: object
description: Response containing list of sample types
required:
- success
- sample_types
properties:
success:
type: boolean
description: Whether the request was successful
example: true
sample_types:
type: array
description: Array of sample types
items:
type: object
description: A sample type with its associated category
required:
- id
- name
- category_id
- category_name
properties:
id:
type: integer
description: Unique ID for the sample type
example: 1
name:
type: string
description: Name of the sample type
example: Flower
category_id:
type: integer
description: ID of the category this sample type belongs to
example: 1
category_name:
type: string
description: Name of the category this sample type belongs to
example: Cannabis Product
examples:
success:
summary: Successful sample types response
value:
success: true
sample_types:
- id: 1
name: Flower
category_id: 1
category_name: Cannabis Product
- id: 2
name: Concentrate
category_id: 1
category_name: Cannabis Product
- id: 3
name: Edible
category_id: 2
category_name: Infused Product
'401':
description: Authentication failed - missing or invalid API key, signature, or timestamp
content:
application/json:
schema:
type: object
description: Error response returned when a request fails
required:
- success
- error_code
- error_message
properties:
success:
type: boolean
description: Always false for error responses
example: false
error_code:
type: string
description: Machine-readable error code
enum:
- missing_api_key
- invalid_api_key
- missing_signature
- invalid_signature
- missing_timestamp
- request_too_old
- api_access_denied
- api_access_restricted
- permission_denied
- invalid_request
- not_found
example: missing_api_key
error_message:
type: string
description: Human-readable error message
example: Missing API key header
error_details:
type: object
description: Additional error details (e.g., validation errors)
additionalProperties:
type: array
items:
type: string
examples:
missing_api_key:
summary: Missing API key
value:
success: false
error_code: missing_api_key
error_message: Missing API key header
invalid_api_key:
summary: Invalid API key
value:
success: false
error_code: invalid_api_key
error_message: Invalid API key
invalid_signature:
summary: Invalid signature
value:
success: false
error_code: invalid_signature
error_message: Signature verification failed
'403':
description: Access denied - insufficient permissions
content:
application/json:
schema:
type: object
description: Error response returned when a request fails
required:
- success
- error_code
- error_message
properties:
success:
type: boolean
description: Always false for error responses
example: false
error_code:
type: string
description: Machine-readable error code
enum:
- missing_api_key
- invalid_api_key
- missing_signature
- invalid_signature
- missing_timestamp
- request_too_old
- api_access_denied
- api_access_restricted
- permission_denied
- invalid_request
- not_found
example: permission_denied
error_message:
type: string
description: Human-readab
# --- truncated at 32 KB (64 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/confident-lims/refs/heads/main/openapi/confident-lims-reference-data-api-openapi.yml