Listing tickets by product in Zoho Desk is straightforward once you have a valid product ID and the correct OAuth scopes in place — a single API call returns all tickets associated with that product.
Why this matters
When your support operation spans multiple products, filtering tickets by product lets agents and managers focus on the right queue without wading through unrelated requests. This is especially useful for reporting, triage workflows, and building product-specific dashboards. If you're integrating Zoho Desk with a custom application or an AI assistant, this endpoint is the cleanest way to scope ticket data to a single product line.
Step-by-step
Step 1. Confirm your OAuth token includes the necessary Zoho Desk ticket scopes. At minimum you need Desk.tickets.READ authorised for your connected app; broader integrations typically also include Desk.tickets.ALL alongside contact, task, and settings scopes. [4]
Step 2. Identify the product_id for the product whose tickets you want to retrieve. This is the unique identifier Zoho Desk assigns to each product record in your portal. You can find it by navigating to Setup → Products inside your Desk portal, or by querying the products endpoint first if you're working programmatically.
Step 3. Make a GET request to the following endpoint, substituting your actual product identifier:
GET /api/v1/products/{product_id}/tickets
The operation name for this call is listticketsby_products, and it accepts an optional p parameter object for pagination or additional filters. [2]
Step 4. Pass any query parameters you need (such as page number or sort order) inside the p dictionary when constructing the request. A minimal Python call looks like this:
result = desk_client.list_tickets_by_products(
product_id="your_product_id_here",
p={"page": 1}
)
The client method issues the GET request to /api/v1/products/{product_id}/tickets and returns the parsed response. [2]
Step 5. Once you have the response, surface the ticket records to your users. Key fields to display include ticket subject, status, assigned agent, and creation date. Our team recommends formatting output with clear line breaks — Subject, Status, Owner/Agent — and skipping empty or internal ID fields to keep the view readable. [6]
Step 6. If you're building a UI layer on top of this, construct direct deep-links to individual tickets using the Zoho Desk URL pattern:
https://desk.zoho.{dc}/agent/{portal}/tickets/details/{ticket_id}
Replace {dc} with your data-centre suffix (e.g. com, eu, in), {portal} with your portal name or org ID, and {ticket_id} with each ticket's identifier. [3]
---
Common pitfalls
- Missing or incorrect OAuth scope. If your token was generated without
Desk.tickets.READ(orDesk.tickets.ALL), the API will return an authorisation error. Double-check the scopes list in your connected app configuration and regenerate the token if needed. [4]
- Wrong product ID. Passing an invalid or mismatched
product_idwill return an empty result set or a 404-style error rather than a helpful message. Always validate the ID against your portal's product list before calling the endpoint. [2]
- Data-centre mismatch in URLs. Zoho Desk is hosted across multiple regional data centres. If your portal is on the EU or IN data centre, the base URL changes from
https://desk.zoho.comtohttps://desk.zoho.euorhttps://desk.zoho.inrespectively. Using the wrong base URL will cause all requests to fail. [3]
- Portal vs. org ID in deep-links. When building ticket URLs, the path uses your portal name if one is configured; otherwise it falls back to the numeric org ID. Mixing these up produces broken links. [3]
---
What to check
- Scope coverage: Verify that
Desk.tickets.READ(at minimum) appears in your active OAuth token's scope list before making the call. [4] - Endpoint response shape: Confirm the response contains a
dataarray of ticket objects and that theproduct_idin each record matches the one you queried. [2] - Deep-link accuracy: Open at least one generated ticket URL in a browser to confirm the data-centre suffix and portal segment are correct for your Zoho Desk environment. [3]
---
*Beam Help is an independent expert support resource for Zoho products and is not official Zoho support. For billing or account-level issues, contact Zoho directly.*