Confident Cannabis Sample Files API
Upload sample images and documents
Upload sample images and documents
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-cannabis-sample-files-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: Confident Cannabis API - Lab Endpoints Sample Files API
version: 0.16.0
description: API endpoints for laboratories to manage samples, orders, test results, and client relationships. Includes endpoints for submitting test results, uploading files, and managing order lifecycle.
contact:
name: Confident Cannabis API Support
url: https://www.confidentcannabis.com
servers:
- url: https://api.confidentcannabis.com
description: Production server
security:
- ApiKeyAuth: []
SignatureAuth: []
TimestampAuth: []
tags:
- description: Upload sample images and documents
name: Sample Files
paths:
/v0/labs/sample/{sample_id}/coa:
post:
summary: Upload Certificate of Analysis
description: Uploads a PDF Certificate of Analysis for a sample. Only PDF files are accepted. Can only be uploaded while order is in progress. Do NOT include file field in signature.
operationId: uploadSampleCOA
tags:
- Sample Files
parameters:
- name: sample_id
in: path
required: true
description: Sample identifier (lab_internal_id, public_key, or regulator_id_to_attach)
schema:
type: string
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
required:
- file
properties:
file:
type: string
format: binary
description: PDF file
responses:
'200':
description: Successful upload
content:
application/json:
schema:
type: object
required:
- success
- coa_url
properties:
success:
type: boolean
example: true
coa_url:
type: string
format: uri
example: https://cdn.confidentcannabis.com/coa/sample123.pdf
'400':
description: Invalid request
content:
application/json:
schema:
type: object
required:
- success
- error_code
- error_message
properties:
success:
type: boolean
example: false
error_code:
type: string
error_message:
type: string
error_details:
type: object
'401':
description: Authentication failed
content:
application/json:
schema:
type: object
required:
- success
- error_code
- error_message
properties:
success:
type: boolean
example: false
error_code:
type: string
error_message:
type: string
error_details:
type: object
'403':
description: Access denied
content:
application/json:
schema:
type: object
required:
- success
- error_code
- error_message
properties:
success:
type: boolean
example: false
error_code:
type: string
error_message:
type: string
error_details:
type: object
'404':
description: Resource not found
content:
application/json:
schema:
type: object
required:
- success
- error_code
- error_message
properties:
success:
type: boolean
example: false
error_code:
type: string
error_message:
type: string
error_details:
type: object
/v0/labs/sample/{sample_id}/coa_addition:
post:
summary: Upload CoA addition file
description: 'Uploads an additional file related to the Certificate of Analysis. Supported formats: pdf, jpg, jpeg, png, gif, bmp. Do NOT include file field in signature.'
operationId: uploadSampleCOAAddition
tags:
- Sample Files
parameters:
- name: sample_id
in: path
required: true
description: Sample identifier (lab_internal_id, public_key, or regulator_id_to_attach)
schema:
type: string
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
required:
- file
properties:
file:
type: string
format: binary
responses:
'200':
description: Successful upload
content:
application/json:
schema:
type: object
required:
- success
- addition_url
properties:
success:
type: boolean
example: true
addition_url:
type: string
format: uri
'400':
description: Invalid request
content:
application/json:
schema:
type: object
required:
- success
- error_code
- error_message
properties:
success:
type: boolean
example: false
error_code:
type: string
error_message:
type: string
error_details:
type: object
'401':
description: Authentication failed
content:
application/json:
schema:
type: object
required:
- success
- error_code
- error_message
properties:
success:
type: boolean
example: false
error_code:
type: string
error_message:
type: string
error_details:
type: object
'403':
description: Access denied
content:
application/json:
schema:
type: object
required:
- success
- error_code
- error_message
properties:
success:
type: boolean
example: false
error_code:
type: string
error_message:
type: string
error_details:
type: object
'404':
description: Resource not found
content:
application/json:
schema:
type: object
required:
- success
- error_code
- error_message
properties:
success:
type: boolean
example: false
error_code:
type: string
error_message:
type: string
error_details:
type: object
components:
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: X-ConfidentCannabis-APIKey
description: API key for authentication
SignatureAuth:
type: apiKey
in: header
name: X-ConfidentCannabis-Signature
description: HMAC SHA256 signature (required if signing enabled)
TimestampAuth:
type: apiKey
in: header
name: X-ConfidentCannabis-Timestamp
description: Unix timestamp (required if signing enabled, must be within 30 seconds)