The legacy LeafLink Marketplace V2 REST API, currently at release 2.39.0. 66 paths and 111 operations for brands and retailers: orders received, buyer orders, line items, order payments and event logs, products and product batches, customers, customer statuses and tiers, credits, licenses, retailer inventory, strains, reports and promo codes. Token/App-key auth, limit/offset paging, dynamic responses via include_children and fields_include/fields_exclude.
LeafLink Marketplace V2 API is one of 2 APIs that LeafLink publishes on the APIs.io network, described by a machine-readable OpenAPI specification.
Tagged areas include Cannabis, Wholesale, Order, Product, and Customers. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, an API reference, authentication docs, and a changelog.
This API exposes
111 operations
across 66 paths,
organized into 32 resource areas,
and defines 74 schemas.
It is described by OpenAPI 3.0.0.
Requests are made against a single base URL, https://app.leaflink.com/api/v2.
111 operations66 paths74 schemas14 DELETE65 GET12 PATCH20 POST
Metadata
The identity and technical contract details declared by the specification.
LeafLink Marketplace V2 API declares
1 security scheme
for authenticating requests.
An API key is passed in the header as Authorization (Token).
By default, every request must be authenticated.
Token — You must authenticate your requests by including your API key in each request header as described below. Requests should include a header named Authorization,…
Paths & Operations 111
Across 66 paths, the API surfaces 111 operations — 14 DELETE, 65 GET, 12 PATCH, 20 POST. They span 32 resource areas, including activity-entries, batch-documents, batches, inventory-items, facilities, brands, companies, company-staff, and 24 more. Each is listed below with its method, path, parameters, and response codes.
activity-entries 5
The CompanyActivityEntry model represents a CRM action taken by a staff member that relates to a customer, with an optional description.
GET
/activity-entries/
List
activity-entries_list41 params→ 200
POST
/activity-entries/
Create
activity-entries_createbody→ 201
GET
/activity-entries/{id}/
Read
activity-entries_read1 param→ 200
PATCH
/activity-entries/{id}/
Update
activity-entries_partial_update1 parambody→ 200
DELETE
/activity-entries/{id}/
Delete
activity-entries_delete1 param→ 200
batch-documents 4
GET
/batch-documents/
List batch documents
→ 200
POST
/batch-documents/
Upload a batch document
body→ 201
GET
/batch-documents/{id}/
Retrieve a batch document
batch-documents_read1 param→ 200
DELETE
/batch-documents/{id}/
Delete a batch document
batch-documents_delete1 param→ 204
batches 5
GET
/batches/
List batches
batches_list19 params→ 200
POST
/batches/
Create a batch
batches_createbody→ 201
GET
/batches/{id}/
Retrieve a batch
batches__read1 param→ 200
PATCH
/batches/{id}/
Update a batch
batches__partial_update1 parambody→ 200
DELETE
/batches/{id}/
Delete a batch
batches__delete1 param→ 204
inventory-items 4
The InventoryItem model represents items of a particular inventory batch at a given facility.
GET
/inventory/items/
List
inventory-items_list2 params→ 200
POST
/inventory/items/
Create
inventory-items_createbody→ 201
GET
/inventory/items/{id}/
Read
inventory-items_read2 params→ 200
PATCH
/inventory/items/{id}/
Update
inventory-items_partial_update2 paramsbody→ 200
facilities 2
The Facility model represents a location where inventory is located.
GET
/inventory/facilities/
List
facilities_list→ 200
GET
/inventory/facilities/{id}/
Read
facilities_read1 param→ 200
brands 2
GET
/brands/
List brands
brands_list5 params→ 200
GET
/brands/{id}/
Retrieve a brand
brands_read1 param→ 200
companies 2
GET
/companies/
List companies
companies_list2 params→ 200
GET
/companies/{id}/
Retrieve a company
companies_read1 param→ 200
company-staff 2
GET
/company-staff/
List staff members
company-staff_list6 params→ 200
GET
/company-staff/{id}/
Retrieve a staff member
company-staff_read1 param→ 200
contacts 5
The Contact model represents the contact information a user has stored as a company resource within LeafLink.
GET
/contacts/
List
contacts_list20 params→ 200
POST
/contacts/
Create
contacts_createbody→ 201
GET
/contacts/{id}/
Read
contacts_read1 param→ 200
PATCH
/contacts/{id}/
Update
contacts_partial_update1 parambody→ 200
DELETE
/contacts/{id}/
Delete
contacts_delete1 param→ 204
customer-statuses 5
The CompanyCustomerStatus represents a set of customizable states for customers in the sales funnel.
GET
/customer-statuses/
List
customer-statuses_list15 params→ 200
POST
/customer-statuses/
Create
customer-statuses_createbody→ 201
GET
/customer-statuses/{id}/
Read
customer-statuses__read1 param→ 200
PATCH
/customer-statuses/{id}/
Update
customer-statuses_partial_update1 parambody→ 200
DELETE
/customer-statuses/{id}/
Delete
customer-statuses_delete1 param→ 204
customer-tiers 2
The CompanyCustomerTier represents a set of read only objects depicting a customer's tier in relationship to a company.
GET
/customer-tiers/
List
customer-tiers_list2 params→ 200
GET
/customer-tiers/{id}/
Read
customer-tiers__read1 param→ 200
credits 2
The Credit model represents credits granted by a seller company to a customer for use in future purchases. Read-only.
GET
/credits/
List
credits_list14 params→ 200
GET
/credits/{id}/
Read
credits_read1 param→ 200
customers 5
The Customer model represents a business relationship between a buyer and seller on LeafLink.
GET
/customers/
List customers
customers_list88 params→ 200
POST
/customers/
Create a customer
customers_createbody→ 201
GET
/customers/{id}/
Retrieve a customer
customers_read4 params→ 200
PATCH
/customers/{id}/
Update a customer
customers_partial_update1 parambody→ 200
DELETE
/customers/{id}/
Archive a customer
customers_delete1 param→ 200
license-types 2
The LicenseType model represents a category of state-issued licenses.
GET
/license-types/
List
license-types_list2 params→ 200
GET
/license-types/{id}/
Read
license-types_read1 param→ 200
licenses 2
The License model represents a single state-issued license held by a Company.
GET
/licenses/
List
licenses_list6 params→ 200
GET
/licenses/{id}/
Read
licenses_read1 param→ 200
line-items 6
The LineItem model represents a single entry in an itemized purchase order.
Product images for display in the marketplace. Each product may have up to 5 images.
GET
/product-images/
List images
product-images_list5 params→ 200
POST
/product-images/
Upload an image
product-images_createbody→ 201
GET
/product-images/{id}/
Retrieve an image
product-images_read1 param→ 200
DELETE
/product-images/{id}/
Delete an image
product-images_delete1 param→ 204
product-lines 4
GET
/product-lines/
List product lines
product-lines_list6 params→ 200
POST
/product-lines/
Create a product line
product-lines_createbody→ 201
GET
/product-lines/{id}/
Retrieve a product line
product-lines_read1 param→ 200
PATCH
/product-lines/{id}/
Update a product line
product-lines_partial_update1 parambody→ 200
product-subcategories 2
GET
/product-subcategories/
List subcategories
product-subcategories_list2 params→ 200
GET
/product-subcategories/{id}/
Retrieve a subcategory
product-subcategories_read1 param→ 200
products 5
The Product model represents a physical product offered for sale by a Company.
GET
/products/
List products
products_list43 params→ 200
POST
/products/
Create a product
products_createbody→ 201
GET
/products/{id}/
Retrieve a product
products_read4 params→ 200
PATCH
/products/{id}/
Update a product
products_partial_update1 parambody→ 200
DELETE
/products/{id}/
Archive a product
products_delete1 param→ 200
promocodes 5
The Promocode model represents a promotional discount code for a specific Brand.
GET
/promocodes/
List
promocodes_list5 params→ 200
POST
/promocodes/
Create
promocodes_createbody→ 201
GET
/promocodes/{id}/
Read
promocodes__read1 param→ 200
PATCH
/promocodes/{id}/
Update
promocodes__partial_update1 parambody→ 200
DELETE
/promocodes/{id}/
Delete
promocodes__delete1 param→ 204
reports 3
The Report model represents a report download initiated by a User
GET
/reports/
List
reports_list3 params→ 200
POST
/reports/
Create
reports_createbody→ 201
GET
/reports/{number}/
Read
reports__read1 param→ 200
strains 3
GET
/strains/
List strains
strains_list9 params→ 200
POST
/strains/
Create a strain
strains_createbody→ 201
GET
/strains/{id}/
Retrieve a strain
strains_read→ 200
retailer-inventory 5
Product information for a retailer company.
GET
/retailer-inventory/
List products
retailer-inventory_list3 params→ 200
POST
/retailer-inventory/
Create a product
retailer-inventory_createbody→ 201
GET
/retailer-inventory/{id}/
Retrieve a product
retailer-inventory_read1 param→ 200
PATCH
/retailer-inventory/{id}/
Update a product
retailer-inventory_partial_update1 parambody→ 200
DELETE
/retailer-inventory/{id}/
Delete a product
retailer-inventory_delete1 param→ 204
Schemas 74
The contract defines 74 schemas that model the data the API accepts and returns. The most detailed are ProductResponse (62 properties), ProductArchiveResponse (61 properties), ProductUpdateResponse (61 properties), CustomerResponse (54 properties). Each schema is shown below with its type and property counts.
RetailerInventory
object
11 properties8 required
RetailerInventoryResponse
object
11 properties
RetailerInventoryCreate
object
8 properties8 required
RetailerInventoryUpdate
object
8 properties
CompanyActivityEntry
object
14 properties4 required
BatchDocumentNew
object
6 properties
BatchCreate
object
13 properties4 required
BatchUpdate
object
11 properties
BatchResponse
object
16 properties
InventoryItemCreate
object
5 properties5 required
InventoryItemUpdate
object
2 properties
InventoryItem
object
10 properties
Facility
object
3 properties
LightCompanyCustomer
object
Seller's customer record for the company on the buyer side of the order
4 properties2 required
LightCompanyCustomerId
object
Seller's customer record for the company on the buyer side of the order
1 property1 required
LineItem
object
23 properties3 required
LineItemCreate
object
17 properties4 required
LineItemResponse
object
23 properties
LineItemUpdate
object
10 properties
LightCompanyStaffId
object
Sales representatives associated with the order.
1 property
LightCompanyStaff
object
Sales representatives associated with the order.
2 properties
LightOrderTax
object
Details about the taxes applied to the order
7 properties2 required
BrandOwnerOrderInternal
object
35 properties3 required
BrandResponse
object
6 properties
ProductImageResponse
object
Images for the product
4 properties
UnitDenomination
object
4 properties3 required
CompanyResponse
object
21 properties
CompanyReportSchedule
object
3 properties2 required
ReportDownload
object
10 properties2 required
CompanyStaffResponse
object
11 properties
Contact
object
15 properties2 required
CompanyCustomerContact
object
6 properties2 required
CompanyCustomerStatus
object
7 properties2 required
CompanyCustomerTag
object
3 properties2 required
CompanyCustomerTier
object
5 properties2 required
Credit
object
Credit granted by a seller company to a customer for use in future purchases. Read-only.
17 properties
CustomerCreate
object
49 properties2 required
CustomerUpdate
object
48 properties
CustomerResponse
object
54 properties
DeliveryProviderOrderInformation
object
4 properties
LicenseType
object
14 properties4 required
ComplianceLicense
object
5 properties1 required
OrderComment
object
7 properties3 required
OrderEventLog
object
12 properties1 required
OrderPaymentCreate
object
6 properties4 required
OrderPaymentResponse
object
10 properties
OrderDeliveryInformation
object
Order delivery information payload.
OrderSalesRepSerialzer
object
4 properties2 required
ProductBatchResponse
object
3 properties
ProductBatchCreate
object
2 properties2 required
ProductCategoryResponse
object
4 properties
ProductLineResponse
object
4 properties
ProductLineCreate
object
3 properties2 required
ProductLineUpdate
object
3 properties
ParentProduct
object
Parent product to which this product belongs. Required if creating a variety (child product) of a parent product. Varieties are useful when selling a single pr…
1 property1 required
ProductCreate
object
44 properties19 required
ProductUpdate
object
45 properties
ProductUpdateResponse
object
61 properties
ProductArchiveResponse
object
61 properties
ProductResponse
object
62 properties
PromoCode
object
7 properties4 required
StrainResponse
object
5 properties
StrainCreate
object
4 properties2 required
StrainUpdate
object
4 properties
Order
object
44 properties3 required
OrderResponse
object
52 properties
ExternalIds
object
Set of key-value pairs for storing external system IDs. Key value can be up to 36 characters long.
Address
object
6 properties
OrderAddress
object
Read only delivery address as provided during order creation.
5 properties
OrderUpdate
object
26 properties
OrderCreate
object
25 properties4 required
BuyerLicense
object
4 properties
BuyerOrderResponse
object
28 properties
ProductSubcategoryResponse
object
5 properties
Specification
The full machine-readable OpenAPI contract behind this narrative.
Every API here is available over the API and to AI agents over MCP. APIs is not yet its own endpoint on the v1 API. Reach this content through network search and the tag graph, or the MCP server below.
Installs https://mcp.apievangelist.com/mcp in Claude, Cursor, VS Code and the rest — one button, every client.
MCP tools for apis
4 tools reach this content
search_api_evangelistSearch every content type across the network at once.
find_relatedThe shared-tag relevance graph — what else covers this.
get_tagEverything one tag labels, across all content types.
guide_topicPRO — a curated bundle for a topic: area, guidance, rules, papers, stories, services.
A second provider on the same verified email joins the account you already have.
Your account
ⓘWhere this information came from
This is an independent, third-party profile of LeafLink Marketplace V2 API, published by
API Evangelist. We do not operate, host, resell, or
support these APIs, and we are not affiliated with or endorsed by the company unless stated above.
Everything here is built from publicly available information — the company's own site,
developer portal, documentation, public repositories, and the specifications it publishes for public use.
Nothing is obtained by breaching a system, defeating an access control, or using credentials.
The Kin Score and Agent Readiness rating are independently calculated assessments of a company's
public API artifacts, scored against a published rubric. They are not certifications,
endorsements, security assessments, or audits.
Corrections, re-scores, and removal are free — no partnership or purchase required, and
you do not need to justify the request. A removed company is recorded as unrated, never scored
zero for having asked. Acknowledgement within one business day; removal within two.
info@apievangelist.com
·
Read the full data-sourcing policy → On a security or compliance team? Put security in the subject line and
you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.