For the complete documentation index, see llms.txt. This page is also available as Markdown.

Pagination

Pagination in Vome API

The Vome API supports navigating through large datasets by implementing cursor-based pagination. This feature allows clients to efficiently browse through lists of resources such as profiles or shift reservations, ensuring that applications can handle large amounts of data smoothly.

How Pagination Works

Pagination in the Vome API relies on two parameters to navigate through data: page and limit. These parameters help control the part of the dataset that the API returns on each request.

Parameters

  • page (integer): Specifies the page number of the results to retrieve.

  • limit (integer, optional, default is 10): Determines the number of records to return in one page. This number can range between 1 and 100, allowing flexibility depending on the needs of the client application.

Example

Fetch the first page of profiles with 25 records:

GET /api/profiles/?page=1&limit=25

Response Structure

Paginated responses include navigation metadata:

{
  "count": 150,
  "next": "https://api.vomevolunteer.com/api/profiles/search/?first_name=Aaron&is_offline=False&page=3&limit=15",
  "previous": "https://api.vomevolunteer.com/api/profiles/search/?first_name=Aaron&is_offline=False&page=1&limit=15",
  "results": [
     {
            "id": "ab687438-bf10-4569-b023-818a8e512936",
            "logged_hours": 0,
            "is_offline": true,
            "is_following": false,
            "emergency_contact": {
                "name": "Jon Smiths",
                "phone_number": "5555555555",
                "relationship": "Father"
            },
            "medical_information": {
                "description": "Allergies to peanuts",
                "has_medical_info": true
            },
            "profile_details": {
                "first_name": "Name",
                "last_name": "Unit Price",
                "full_name": "",
                "email": "sampleuser+677@malinator.com",
                "profile_image": "",
                "phone_number": "",
                "date_of_birth": null,
                "gender": 2,
                "gender_text": "",
                "occupation": null,
                "occupation_institution_name": "",
                "skills": [],
                "languages": [],
                "address": "",
                "created_at": "2026-04-01T11:06:26.396971Z",
                "age": null,
                "address_coordinates": []
            },
            "opportunities": [],
            "most_recent_shift": null,
            "completed_shifts": 0,
            "profile_tags": [],
            "custom_fields": [
                {
                    "id": "851ca2f9-41b5-42c8-be84-d715ae6a2339",
                    "custom_field": {
                        "id": "009eb956-f8ba-45da-8654-d2d0ace71336",
                        "name": "Where are you from?",
                        "field_type": 0,
                        "is_active": true
                    },
                    "custom_field_value": {
                        "id": "10109097-f78e-4f09-86a3-4ac2a9517c9d",
                        "value": "CA",
                        "value_info": "CA"
                    }
                }
            ]
        },
  ]
}
  • next: URL for the next page, if available.

  • previous: URL for the previous page, if available.

Last updated