Confident Cannabis Orders API
View orders and order details
View orders and order details
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-orders-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.1.0
info:
title: Clients Client Info Orders 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:
- description: View orders and order details
name: Orders
paths:
/v0/clients/order/{order_id}:
get:
summary: Get order details
description: Returns detailed information about a specific order including all samples.
operationId: getOrderDetails
tags:
- Orders
security:
- ApiKeyAuth: []
parameters:
- name: order_id
in: path
description: The lab_internal_id of the order
required: true
schema:
type: string
example: ORD-2025-001
responses:
'200':
description: Successful response with order details
content:
application/json:
schema:
type: object
required:
- success
- order
properties:
success:
type: boolean
example: true
order:
type: object
description: Detailed information about an order including all samples
required:
- lab_internal_id
- status_id
- status_name
- client_id
- client_name
- samples
properties:
lab_internal_id:
type: string
description: Lab's internal order ID
example: ORD-2025-001
status_id:
type: integer
enum:
- 1
- 3
- 4
- 5
example: 3
status_name:
type: string
example: In Progress
client_id:
type: integer
example: 123
client_name:
type: string
example: Green Valley Dispensary
date_placed:
type: string
format: date-time
example: '2025-01-10T09:00:00Z'
last_modified:
type: string
format: date-time
example: '2025-01-12T14:30:00Z'
samples:
type: array
description: All samples in this order
items:
type: object
description: Summary information about a sample
required:
- lab_internal_id
- public_key
- name
- sample_type
- status_id
- status_name
- date_created
- last_modified
properties:
lab_internal_id:
type: string
description: Lab's internal sample ID
example: SAMP-2025-001
public_key:
type: string
description: Public identifier for the sample
example: abc123def456
name:
type: string
description: Sample name
example: OG Kush - Batch 42
sample_type:
type: string
description: Type of sample
example: Flower
regulator_batch_id:
type: string
description: Regulator batch identifier
example: BATCH-42
harvest_id:
type: string
description: Harvest identifier
example: HARVEST-2025-01
status_id:
type: integer
description: Order status ID
example: 3
status_name:
type: string
description: Human-readable status name
example: In Progress
date_created:
type: string
format: date-time
description: Creation timestamp
example: '2025-01-10T09:00:00Z'
last_modified:
type: string
format: date-time
description: Last modification timestamp
example: '2025-01-12T14:30:00Z'
'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
'404':
description: Resource not found
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: not_found
error_message:
type: string
example: Resource not found
error_details:
type: object
additionalProperties:
type: array
items:
type: string
/v0/clients/orders:
get:
summary: List orders
description: Returns a paginated list of orders for the authenticated client. Supports filtering by status and modification time.
operationId: getOrders
tags:
- Orders
security:
- ApiKeyAuth: []
parameters:
- name: start
in: query
description: Pagination offset (number of records to skip)
required: false
schema:
type: integer
default: 0
minimum: 0
example: 0
- name: limit
in: query
description: Maximum number of records to return (max 100)
required: false
schema:
type: integer
default: 100
minimum: 1
maximum: 100
example: 100
- name: status_id
in: query
description: Filter by order status ID (1=Placed, 3=In Progress, 4=Completed, 5=Canceled)
required: false
schema:
type: integer
enum:
- 1
- 3
- 4
- 5
- name: modified_since_time
in: query
description: Filter orders modified since this timestamp (ISO 8601 format)
required: false
schema:
type: string
format: date-time
example: '2025-01-01T00:00:00Z'
responses:
'200':
description: Successful response with list of orders
content:
application/json:
schema:
type: object
required:
- success
- orders
- more_results
properties:
success:
type: boolean
example: true
orders:
type: array
items:
type: object
description: Summary information about an order
required:
- lab_internal_id
- status_id
- status_name
- client_id
- client_name
- num_samples
- date_placed
- last_modified
properties:
lab_internal_id:
type: string
description: Lab's internal order ID
example: ORD-2025-001
status_id:
type: integer
description: Order status ID (1=Placed, 3=In Progress, 4=Completed, 5=Canceled)
enum:
- 1
- 3
- 4
- 5
example: 3
status_name:
type: string
description: Human-readable status name
example: In Progress
client_id:
type: integer
description: Client ID
example: 123
client_name:
type: string
description: Client organization name
example: Green Valley Dispensary
num_samples:
type: integer
description: Number of samples in this order
example: 5
date_placed:
type: string
format: date-time
description: Date order was placed
example: '2025-01-10T09:00:00Z'
last_modified:
type: string
format: date-time
description: Last modification timestamp
example: '2025-01-12T14:30:00Z'
more_results:
type: boolean
description: True if there are more results beyond this page
example: false
examples:
with_filters:
summary: Orders filtered by status
value:
success: true
orders:
- lab_internal_id: ORD-2025-001
status_id: 3
status_name: In Progress
client_id: 123
client_name: Green Valley Dispensary
num_samples: 5
date_placed: '2025-01-10T09:00:00Z'
last_modified: '2025-01-12T14:30:00Z'
more_results: false
'400':
description: Invalid request
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: invalid_request
error_message:
type: string
example: Invalid request parameters
error_details:
type: object
additionalProperties:
type: array
items:
type: string
'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/labs/order:
post:
summary: Create order
description: Creates a new order with one or more samples.
operationId: createOrder
tags:
- Orders
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- client_id
- lab_internal_id
- samples
properties:
client_id:
type: integer
description: Client ID
lab_internal_id:
type: string
description: Lab's internal order ID
samples:
type: array
description: Array of samples to include in order
minItems: 1
items:
type: object
required:
- name
- sample_type_id
- lab_internal_id
properties:
name:
type: string
sample_type_id:
type: integer
lab_internal_id:
type: string
strain:
type: string
regulator_batch_id:
type: string
harvest_id:
type: string
examples:
single_sample:
summary: Order with one sample
value:
client_id: 123
lab_internal_id: ORD-2025-100
samples:
- name: OG Kush - Batch 42
sample_type_id: 1
lab_internal_id: SAMP-2025-100
regulator_batch_id: BATCH-42
responses:
'200':
description: Order created successfully
content:
application/json:
schema:
type: object
required:
- success
- order
properties:
success:
type: boolean
example: true
order:
properties:
lab_internal_id:
type: string
status_id:
type: integer
status_name:
type: string
client_id:
type: integer
client_name:
type: string
num_samples:
type: integer
date_placed:
type: string
format: date-time
last_modified:
type: string
format: date-time
samples:
type: array
items:
type: object
properties:
lab_internal_id:
type: string
public_key:
type: string
name:
type: string
sample_type:
type: string
status_id:
type: integer
status_name:
type: string
date_created:
type: string
format: date-time
last_modified:
type: string
format: date-time
type: object
'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
/v0/labs/order/{order_id}:
patch:
summary: Edit order
description: Updates editable properties of an order.
operationId: editOrder
tags:
- Orders
parameters:
- name: order_id
in: path
required: true
description: Order identifier (lab_internal_id)
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
lab_internal_id:
type: string
notes:
type: string
responses:
'200':
description: Order updated successfully
content:
application/json:
schema:
type: object
required:
- success
- order
properties:
success:
type: boolean
example: true
order:
properties:
lab_internal_id:
type: string
status_id:
type: integer
status_name:
type: string
client_id:
type: integer
client_name:
type: string
num_samples:
type: integer
date_placed:
type: string
format: date-time
last_modified:
type: string
format: date-time
samples:
type: array
items:
type: object
properties:
lab_internal_id:
type: string
public_key:
type: string
name:
type: string
sample_type:
type: string
status_id:
type: integer
status_name:
type: string
date_created:
type: string
format: date-time
last_modified:
type: string
format: date-time
type: object
'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
get:
summary: Get order details
description: Returns detailed information about a specific order.
operationId: getOrderDetails
tags:
- Orders
parameters:
- name: order_id
in: path
required: true
description: Order identifier (lab_internal_id)
schema:
type: string
responses:
'200':
description: Successful response with order details
content:
application/json:
schema:
type: object
required:
- success
- order
properties:
success:
type: boolean
example: true
order:
properties:
lab_internal_id:
type: string
status_id:
type: integer
status_name:
type: string
client_id:
type: integer
client_name:
type: string
num_samples:
type: integer
date_placed:
type: string
format: date-time
last_modified:
type: string
format: date-time
samples:
type: array
items:
type: object
properties:
lab_internal_id:
type: string
public_key:
type: string
name:
type: string
sample_type:
type: string
status_id:
type: integer
status_name:
type: string
date_created:
type: string
format: date-time
last_modified:
type: string
format: date-time
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/orders:
get:
summary: List orders
description: Returns a paginated list of orders for the authenticated lab.
operationId: getOrders
tags:
- Orders
parameters:
- name: start
in: query
description: Pagination offset
schema:
type: integer
default: 0
minimum: 0
- name: limit
in: query
description: Maximum records to return (max 100)
schema:
type: integer
default: 100
minimum: 1
maximum: 100
- name: status_id
in: query
description: Filter by order status ID
schema:
type: integer
enum:
- 1
- 3
- 4
- 5
- name: client_id
in: query
description: Filter by client ID
schema:
type: integer
- name: modified_since_time
in: query
description: Filter by modification timestamp
schema:
type: string
format: date-time
responses:
'200':
description: Successful response with list of orders
content:
application/json:
schema:
type: object
required:
- success
- orders
- more_results
properties:
success:
type: boolean
orders:
type: array
items:
type: object
properties:
lab_internal_id:
type: string
status_id:
type: integer
status_name:
type: string
client_id:
type: integer
clie
# --- truncated at 32 KB (37 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/confident-cannabis/refs/heads/main/openapi/confident-cannabis-orders-api-openapi.yml