title: REST, Pagination with filters dependent on external system and sql
body: <p>I have a REST web-service which is expected to expose a paginated GET call.</p>
  
  <p>For eg: I have a list of students( "Name" , "Age" , "Class" ) in my sql table. And I have to expose a paginated API to get all students given a class. So far so good. Just a typical REST api does the job and pagination can be achieved by the sql query.</p>
  
  <p>Now suppose we have the same requirement just that we need to send back students who are from particular state. This information is hosted by a web-service, S2. S2 has an API which given a list of student names and a state "X" returns the students that belong to state X. </p>
  
  <p>Here is where I'm finding it difficult to support pagination. </p>
  
  <p>eg: I get a request with page_size 10, a class C and a state X which results in 10 students from class C from my db. Now I make a call to S2 with these 10 students and state X, in return, the result may include 0 students, all 10 students, or any number students between 0 and 10 from state 'X'.</p>
  
  <p>How do I support pagination in this case?</p>
  
  <p>Brute force would be to make db calls and S2 calls till the page size is met and then only reply. I don't like this approach .</p>
  
  <p>Is there a common practice followed for this, a general rule of thumb, or is this architecture a bad service design?</p>
  
  <p>(EDIT): Also please tell about managing the offset value. 
  if we go with the some approach and get the result set , how can I manage the offset for next page request ?</p>
  
  <p>Thanks for reading :)</p>