Freshservice /api/v2/tickets/{id}/conversations pagination issues

Hello!

I am trying to implement pagination for requests I am making to the /api/v2/tickets/{id}/conversations endpoint, but I see odd behavior:

  • When I make a request without any pagination query params, I see 4 conversations with IDs [A, B, C, D] in that order (expected)
  • When I make a request to /api/v2/tickets/{id}/conversations?per_page=1&page=1, I see the conversation with ID [A] (expected) The meta property of the response has
    • {
          "count": 4,
          "has_more": true
      }
      
  • When I make a request to /api/v2/tickets/{id}/conversations?per_page=1&page=2, I see the conversation with ID [C] (not expected; I thought conversation B would be returned) The meta property of the response has
    • {
          "count": 4,
          "has_more": true
      }
      
  • When I make a request to /api/v2/tickets/{id}/conversations?per_page=1&page=3, I see an empty array of results (not expected; I thought conversation C would be returned). The meta property of the response has
    • {
          "count": 4,
          "has_more": false
      }
      

The same query param methodology works as expected for /api/v2/departments, /api/v2/roles, and /api/v2/agents . It seems like the backend logic is skipping some items for /conversations only.

Am I making a mistake in my requests? Is there some additional nuance that I’m missing for this specific endpoint?

Thanks in advance for your help