Home AssignmentsFind freelance work InvoicingHow invoicing works PayoutsManage contractors SupportSupport and help
Country
Language
Create a free account

API/Pagination

Get started

Pagination

All endpoints that return lists use the same pagination format. The objects are in the results field of the response.

Contents

Query parameters

FieldTypeDescription
pageintegeroptionalWhich page to fetch. Default 1.
page_sizeintegeroptionalNumber of objects per page. Default 25.

Response format

FieldTypeDescription
totalintegerTotal number of objects matching the query.
countintegerNumber of objects in results on this page.
nextstring / nullFull URL to the next page, or null on the last page.
previousstring / nullFull URL to the previous page, or null on the first page.
resultsarrayThe objects themselves.
GET /users?page=1&page_size=2
{
  "total": 148,
  "next": "https://app.easyfreelance.no/api/v1/users?page=2&page_size=2",
  "previous": null,
  "count": 2,
  "results": [
    {
      "id": 123,
      "email": "[email protected]",
      "internal_id": 456,
      "name": "Marte Hansen",
      "onboarding": { "is_onboarded": true, "missing_steps": [] }
    },
    {
      "id": 124,
      "email": "[email protected]",
      "internal_id": null,
      "name": "Jonas Skoglund",
      "onboarding": { "is_onboarded": false, "missing_steps": ["bank_account"] }
    }
  ]
}

Which endpoints

EndpointReturns
GET /usersContractors linked to the partner.
GET /payoutsPayouts for all contractors.
GET /users/{id}/payoutsPayouts for a single contractor.

Practical advice

  • Follow next until it is null instead of calculating page numbers yourself – that way the integration copes with objects arriving in the meantime.
  • Remember that each page is a separate call against the rate budget of 500 requests per minute. Prefer fetching larger pages rather than paginating in small steps.
  • GET /payouts and GET /users/{id}/payouts also accepts status as a filter (exact match), so you do not have to fetch everything.