Skip to content

List catalog products

GET
/api/v1/products
curl --request GET \
--url 'https://app.prokure.ca/api/v1/products?status=active&limit=50'
cursor
string
<= 300 characters

Opaque page token from a previous response’s next_cursor.

status
string
Allowed values: active discontinued

Return only products at this status.

partner_id
string format: uuid
/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/

Return only products from this manufacturer partner.

q
string
>= 1 characters <= 200 characters

Case-insensitive substring search over name, model and description.

limit
integer
default: 50 >= 1 <= 100

Default Response

Media typeapplication/json
object
products
required
Array<object>
object
id
required
string
oem_partner_id
required
string
oem_name
required

The manufacturer partner’s name, joined on for display.

string
name
required
string
model
required
Any of:
string
description
required
Any of:
string
commodity_codes
required
Array<string>
specs
required
object
key
additional properties
rep_status
required

Carried = stocked and represented; catalog = available to quote.

string
Allowed values: carried catalog
status
required

Products are never deleted. A discontinued product stops influencing matching and can be reactivated.

string
Allowed values: active discontinued
source
required
Any of:
string
source_url
required
Any of:
string
created_at
required
string format: date-time
/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$/
updated_at
required
string format: date-time
/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$/
next_cursor
required
Any of:
string
Example
{
"products": [
{
"rep_status": "carried",
"status": "active"
}
]
}

Default Response

Media typeapplication/json
object
error
required
string
Allowed values: unauthorized forbidden no_membership membership_disabled unverified_email identity_conflict insufficient_scope validation_failed not_found missing_file unsupported_type file_too_large empty_document unreadable_document context_doc_cap_reached rule_cap_reached already_reverted superseded already_exists partner_not_authorized invalid_import rate_limited internal
message
required
string
requestId
required
string
issues
Array
issue_count
integer
>= -9007199254740991 <= 9007199254740991
Example
{
"error": "unauthorized"
}

Default Response

Media typeapplication/json
object
error
required
string
Allowed values: unauthorized forbidden no_membership membership_disabled unverified_email identity_conflict insufficient_scope validation_failed not_found missing_file unsupported_type file_too_large empty_document unreadable_document context_doc_cap_reached rule_cap_reached already_reverted superseded already_exists partner_not_authorized invalid_import rate_limited internal
message
required
string
requestId
required
string
issues
Array
issue_count
integer
>= -9007199254740991 <= 9007199254740991
Example
{
"error": "unauthorized"
}

Default Response

Media typeapplication/json
object
error
required
string
Allowed values: unauthorized forbidden no_membership membership_disabled unverified_email identity_conflict insufficient_scope validation_failed not_found missing_file unsupported_type file_too_large empty_document unreadable_document context_doc_cap_reached rule_cap_reached already_reverted superseded already_exists partner_not_authorized invalid_import rate_limited internal
message
required
string
requestId
required
string
issues
Array
issue_count
integer
>= -9007199254740991 <= 9007199254740991
Example
{
"error": "unauthorized"
}

Default Response

Media typeapplication/json
object
error
required
string
Allowed values: unauthorized forbidden no_membership membership_disabled unverified_email identity_conflict insufficient_scope validation_failed not_found missing_file unsupported_type file_too_large empty_document unreadable_document context_doc_cap_reached rule_cap_reached already_reverted superseded already_exists partner_not_authorized invalid_import rate_limited internal
message
required
string
requestId
required
string
issues
Array
issue_count
integer
>= -9007199254740991 <= 9007199254740991
Example
{
"error": "unauthorized"
}

Default Response

Media typeapplication/json
object
error
required
string
Allowed values: unauthorized forbidden no_membership membership_disabled unverified_email identity_conflict insufficient_scope validation_failed not_found missing_file unsupported_type file_too_large empty_document unreadable_document context_doc_cap_reached rule_cap_reached already_reverted superseded already_exists partner_not_authorized invalid_import rate_limited internal
message
required
string
requestId
required
string
issues
Array
issue_count
integer
>= -9007199254740991 <= 9007199254740991
Example
{
"error": "unauthorized"
}