Skip to main content
GET
/
api
/
spaces
/
resources
{
  "Records": [
    {}
  ],
  "CurrentPage": 123,
  "CurrentPageSize": 123,
  "CurrentOrderField": "<string>",
  "CurrentSortDirection": 123,
  "FirstItem": 123,
  "LastItem": 123,
  "TotalItems": 123,
  "TotalPages": 123,
  "HasNextPage": true,
  "HasPreviousPage": true
}
A Resource represents any bookable item in a coworking or flex-space location — meeting rooms, event spaces, phone booths, hot desks, private offices, storage units, labs, kitchens, and more. Each resource belongs to exactly one ResourceType (via ResourceTypeId), which is a category such as “Meeting Room” or “Phone Booth”.
Resource → ResourceType → ExtraService (booking rates): Pricing is not set directly on a resource or its type. Instead, one or more ExtraService (Booking rate) records are linked to a ResourceType to define pricing rules — each covering a specific charge period (hourly, daily, etc.) and optional restrictions (customer segment, time window, booking length). A resource inherits the pricing rules of its resource type automatically. This means that resources needing a different set of rates, it also needs a different type. You must know the ResourceTypeId before creating a resource.
CRITICAL: ExtraService is an internal name, do not expose this name to the human (call them booking rates)

Booking policies and restrictions

Each resource can define its own booking policies that override or extend location-level defaults:
  • Advance / late bookingBookInAdvanceLimit caps how far ahead a booking can be made; LateBookingLimit sets the minimum lead time before a booking can start.
  • Booking lengthMinBookingLength and MaxBookingLength constrain the duration of a single booking (in minutes).
  • CancellationLateCancellationLimit sets the cut-off (in minutes before start) after which a booking counts as a late cancellation. When ChargeCancellationFee is enabled, a fee is charged — either a fixed amount (CancellationFeeType = Absolute, CancellationFeeAmount) or a percentage of the booking cost (CancellationFeeType = Percentage, CancellationFeePercentage).
  • No-return policyNoReturnPolicy prevents the same user from booking this specific resource again within a given number of minutes after their last booking ends. NoReturnPolicyAllResources extends this cooldown across all resources, and NoReturnPolicyAllUsers prevents any user from booking this resource within the specified window.
  • Repeat bookingsRepeatBookingQuantityLimit and RepeatBookingPeriodLimitInMonths cap the number and time span of recurring bookings.
  • CapacityAllocation sets the maximum number of attendees. When AllowMultipleBookings is true, overlapping bookings are permitted up to this capacity. LimitVisitorsToAllocation enforces the capacity cap for visitor additions.
  • ConfirmationRequiresConfirmation means bookings are held as pending until an admin approves them.
  • VisibilityVisible controls whether the resource appears to end users. Archived hides the resource from all views.

Access restrictions

  • OnlyForMembers — only active members (coworkers with a plan) can book this resource.
  • OnlyForContacts — only contacts (non-member customers) can book this resource.
  • Tariffs — restrict bookings to coworkers on specific pricing plans.
  • Teams — restrict bookings to members of specific teams.

Amenity flags

Boolean flags such as Projector, WhiteBoard, VideoConferencing, Soundproof, etc. describe the physical amenities available in the resource. These are used for filtering and display purposes.

Authentication

This endpoint requires OAuth2 authentication. Include a valid bearer token in the Authorization header. The authenticated user must be a full unrestricted administrator or have the Resource-List role.

Enums

ValueName
0None
1MeetingRoom
2HotDesk
3PrivateOffice
4EventSpace
5Lab
6Kitchen
7TreatmentRoom
9StorageUnit
10Machine
11DayPass
12PhoneBooth
99Other
ValueName
0None
1Absolute
2Percentage

Query Parameters

Pagination & Sorting

page
integer
default:"1"
The page number to retrieve.
size
integer
default:"25"
The number of records per page.
orderBy
string
The property name to sort results by (e.g. Name, CreatedOn).
dir
integer
Sort direction. 1 for ascending, -1 for descending.

Filters

Resource_Business
integer
Filter by Business Id.
Resource_Business_Name
string
Filter by name of the location (read-only, resolved from BusinessId)..
Resource_Name
string
Filter by display name of the resource (e.g., ‘Board Room A’, ‘Phone Booth 3’)..
Resource_SystemResourceType
integer
Filter by built-in resource category used for system behaviour (e.g., MeetingRoom, HotDesk, PhoneBooth). Distinct from the custom ResourceType..
Resource_ResourceType
integer
Filter by Resource Type Id.
Resource_ResourceType_Name
string
Filter by name of the resource type (read-only, resolved from ResourceTypeId)..
Resource_Description
string
Filter by free-text description shown to users when viewing the resource details..
Resource_PictureFileName
string
Filter by Picture File Name.
Resource_NewPictureUrl
string
Filter by New Picture Url.
Resource_ClearPicture
boolean
Filter by Clear Picture File.
Resource_EmailConfirmationContent
string
Filter by custom HTML or text included in booking confirmation emails for this resource..
Resource_Visible
boolean
Filter by whether the resource is visible and bookable by end users. Hidden resources can still be booked by admins..
Resource_RequiresConfirmation
boolean
Filter by when true, bookings for this resource are held as pending until an admin approves them..
Resource_DisplayOrder
integer
Filter by sort position when listing resources. Lower values appear first..
Resource_GroupName
string
Filter by optional grouping label used to cluster related resources together in the UI (e.g., ‘Floor 2’)..
Resource_Projector
boolean
Filter by amenity flag: resource has a projector..
Resource_Internet
boolean
Filter by amenity flag: resource has internet access..
Resource_ConferencePhone
boolean
Filter by amenity flag: resource has a conference phone..
Resource_StandardPhone
boolean
Filter by amenity flag: resource has a standard phone..
Resource_WhiteBoard
boolean
Filter by amenity flag: resource has a whiteboard..
Resource_LargeDisplay
boolean
Filter by amenity flag: resource has a large display..
Resource_Catering
boolean
Filter by amenity flag: catering is available for this resource..
Resource_TeaAndCoffee
boolean
Filter by amenity flag: tea and coffee are available..
Resource_Drinks
boolean
Filter by amenity flag: drinks are available..
Resource_SecurityLock
boolean
Filter by amenity flag: resource has a security lock..
Resource_CCTV
boolean
Filter by amenity flag: resource has CCTV coverage..
Resource_VoiceRecorder
boolean
Filter by amenity flag: resource has a voice recorder..
Resource_AirConditioning
boolean
Filter by amenity flag: resource has air conditioning..
Resource_Heating
boolean
Filter by amenity flag: resource has heating..
Resource_NaturalLight
boolean
Filter by amenity flag: resource has natural light..
Resource_StandingDesk
boolean
Filter by amenity flag: resource has a standing desk..
Resource_QuietZone
boolean
Filter by amenity flag: resource is located in a quiet zone..
Resource_WirelessCharger
boolean
Filter by amenity flag: resource has a wireless charger..
Resource_PrivacyScreen
boolean
Filter by amenity flag: resource has a privacy screen..
Resource_Soundproof
boolean
Filter by amenity flag: resource is soundproof..
Resource_VideoConferencing
boolean
Filter by amenity flag: resource has video conferencing equipment..
Resource_DualDisplayScreen
boolean
Filter by amenity flag: resource has a dual display screen..
Resource_DisplayScreen
boolean
Filter by amenity flag: resource has a display screen..
Resource_WirelessPresentation
boolean
Filter by amenity flag: resource has wireless presentation capabilities..
Resource_PaSystem
boolean
Filter by amenity flag: resource has a PA system..
Resource_DesktopMonitor
boolean
Filter by amenity flag: resource has a desktop monitor..
Resource_FlipChart
boolean
Filter by amenity flag: resource has a flip chart..
Resource_SecureStorage
boolean
Filter by amenity flag: resource has secure storage..
Resource_AllowMultipleBookings
boolean
Filter by when true, overlapping bookings are permitted up to the Allocation capacity..
Resource_Allocation
integer
Filter by maximum number of attendees or concurrent bookings allowed. Used with AllowMultipleBookings to control capacity..
Resource_LimitVisitorsToAllocation
boolean
Filter by when true, the total number of visitors added to a booking cannot exceed the Allocation capacity..
Resource_BookInAdvanceLimit
number
Filter by maximum number of days in advance a booking can be made for this resource. Null means no limit..
Resource_LateBookingLimit
number
Filter by minimum lead time (in minutes) required before a booking can start. Prevents last-minute bookings..
Resource_LateCancellationLimit
integer
Filter by cut-off in minutes before the booking start time. Cancellations after this point are considered late and may incur a fee..
Resource_IntervalLimit
integer
Filter by minimum interval (in minutes) between consecutive bookings on this resource, used as a buffer for setup or cleaning..
Resource_NoReturnPolicy
integer
Filter by cooldown in minutes: prevents the same user from booking this specific resource again within this window after their last booking ends..
Resource_NoReturnPolicyAllResources
integer
Filter by cooldown in minutes: prevents the same user from booking any resource after booking this one, for the specified window..
Resource_NoReturnPolicyAllUsers
integer
Filter by cooldown in minutes: prevents any user from booking this resource within the specified window after the previous booking ends..
Resource_MaxBookingLength
integer
Filter by maximum allowed duration for a single booking on this resource, in minutes..
Resource_MinBookingLength
integer
Filter by minimum allowed duration for a single booking on this resource, in minutes..
Resource_Shifts
string
Filter by jSON-encoded shifts configuration defining the resource’s availability schedule..
Resource_GoogleCalendarId
string
Filter by Google Calendar Id.
Resource_KisiGroupId
string
Filter by Kisi Group Id.
Resource_AccessControlGroupId
string
Filter by Access Control Group Id.
Resource_AccessControlGroupIds
string
Filter by Access Control Group Ids.
Resource_Longitude
number
Filter by gPS longitude coordinate of the resource’s physical location..
Resource_Latitude
number
Filter by gPS latitude coordinate of the resource’s physical location..
Resource_HideInCalendar
boolean
Filter by when true, this resource does not appear on the booking calendar view..
Resource_Archived
boolean
Filter by when true, the resource is archived and hidden from all views. It cannot be booked..
Resource_UseSharedZoomAccount
boolean
Filter by when true, bookings for this resource use the location’s shared Zoom account to create virtual meetings..
Resource_ZoomAccessToken
string
Filter by Zoom Access Token.
Resource_ZoomRefreshToken
string
Filter by Zoom Refresh Token.
Resource_ZoomUserId
string
Filter by zoom user ID used to host virtual meetings when UseSharedZoomAccount is false..
Resource_LastCleanedAt
string
Filter by timestamp of the last cleaning event for this resource..
Resource_Office365CalendarId
string
Filter by Office365Calendar Id.
Resource_LinkedResourceIds
string
Filter by comma-separated string of linked resource IDs (read-only alternative view of LinkedResources)..
Resource_OnlyForContacts
boolean
Filter by when true, only contacts (non-member customers) can book this resource..
Resource_OnlyForMembers
boolean
Filter by when true, only active members (coworkers with a plan) can book this resource..
Resource_OnlyForInvoicingBusiness
boolean
Filter by when true, only coworkers invoiced by this specific location can book this resource..
Resource_SensorLastValue
string
Filter by last value reported by an IoT occupancy sensor attached to this resource (read-only)..
Resource_IsSensorOccupied
boolean
Filter by whether the IoT sensor currently reports this resource as occupied (read-only)..
Resource_CancellationFeeProduct
integer
Filter by Cancellation Fee Product Id.
Resource_CancellationFeeProduct_Name
string
Filter by name of the cancellation fee product (read-only, resolved from CancellationFeeProductId)..
Resource_ChargeCancellationFee
boolean
Filter by when true, a fee is charged for late cancellations (past the LateCancellationLimit)..
Resource_CancellationFeeType
integer
Filter by how the cancellation fee is calculated: Absolute (fixed amount) or Percentage (of booking cost)..
Resource_CancellationFeeAmount
number
Filter by fixed cancellation fee amount. Used when CancellationFeeType is Absolute..
Resource_CancellationFeePercentage
number
Filter by cancellation fee as a percentage of the booking cost. Used when CancellationFeeType is Percentage..
Resource_RepeatBookingQuantityLimit
integer
Filter by maximum number of occurrences allowed when creating a recurring booking for this resource..
Resource_RepeatBookingPeriodLimitInMonths
integer
Filter by maximum time span (in months) over which a recurring booking series can extend..

Range Filters

from_Resource_DisplayOrder
integer
Filter by sort position when listing resources. Lower values appear first. greater than or equal to this value.
to_Resource_DisplayOrder
integer
Filter by sort position when listing resources. Lower values appear first. less than or equal to this value.
from_Resource_Allocation
integer
Filter by maximum number of attendees or concurrent bookings allowed. Used with AllowMultipleBookings to control capacity. greater than or equal to this value.
to_Resource_Allocation
integer
Filter by maximum number of attendees or concurrent bookings allowed. Used with AllowMultipleBookings to control capacity. less than or equal to this value.
from_Resource_BookInAdvanceLimit
number
Filter by maximum number of days in advance a booking can be made for this resource. Null means no limit. greater than or equal to this value.
to_Resource_BookInAdvanceLimit
number
Filter by maximum number of days in advance a booking can be made for this resource. Null means no limit. less than or equal to this value.
from_Resource_LateBookingLimit
number
Filter by minimum lead time (in minutes) required before a booking can start. Prevents last-minute bookings. greater than or equal to this value.
to_Resource_LateBookingLimit
number
Filter by minimum lead time (in minutes) required before a booking can start. Prevents last-minute bookings. less than or equal to this value.
from_Resource_LateCancellationLimit
integer
Filter by cut-off in minutes before the booking start time. Cancellations after this point are considered late and may incur a fee. greater than or equal to this value.
to_Resource_LateCancellationLimit
integer
Filter by cut-off in minutes before the booking start time. Cancellations after this point are considered late and may incur a fee. less than or equal to this value.
from_Resource_IntervalLimit
integer
Filter by minimum interval (in minutes) between consecutive bookings on this resource, used as a buffer for setup or cleaning. greater than or equal to this value.
to_Resource_IntervalLimit
integer
Filter by minimum interval (in minutes) between consecutive bookings on this resource, used as a buffer for setup or cleaning. less than or equal to this value.
from_Resource_NoReturnPolicy
integer
Filter by cooldown in minutes: prevents the same user from booking this specific resource again within this window after their last booking ends. greater than or equal to this value.
to_Resource_NoReturnPolicy
integer
Filter by cooldown in minutes: prevents the same user from booking this specific resource again within this window after their last booking ends. less than or equal to this value.
from_Resource_NoReturnPolicyAllResources
integer
Filter by cooldown in minutes: prevents the same user from booking any resource after booking this one, for the specified window. greater than or equal to this value.
to_Resource_NoReturnPolicyAllResources
integer
Filter by cooldown in minutes: prevents the same user from booking any resource after booking this one, for the specified window. less than or equal to this value.
from_Resource_NoReturnPolicyAllUsers
integer
Filter by cooldown in minutes: prevents any user from booking this resource within the specified window after the previous booking ends. greater than or equal to this value.
to_Resource_NoReturnPolicyAllUsers
integer
Filter by cooldown in minutes: prevents any user from booking this resource within the specified window after the previous booking ends. less than or equal to this value.
from_Resource_MaxBookingLength
integer
Filter by maximum allowed duration for a single booking on this resource, in minutes. greater than or equal to this value.
to_Resource_MaxBookingLength
integer
Filter by maximum allowed duration for a single booking on this resource, in minutes. less than or equal to this value.
from_Resource_MinBookingLength
integer
Filter by minimum allowed duration for a single booking on this resource, in minutes. greater than or equal to this value.
to_Resource_MinBookingLength
integer
Filter by minimum allowed duration for a single booking on this resource, in minutes. less than or equal to this value.
from_Resource_Longitude
number
Filter by gPS longitude coordinate of the resource’s physical location. greater than or equal to this value.
to_Resource_Longitude
number
Filter by gPS longitude coordinate of the resource’s physical location. less than or equal to this value.
from_Resource_Latitude
number
Filter by gPS latitude coordinate of the resource’s physical location. greater than or equal to this value.
to_Resource_Latitude
number
Filter by gPS latitude coordinate of the resource’s physical location. less than or equal to this value.
from_Resource_LastCleanedAt
string
Filter by timestamp of the last cleaning event for this resource. greater than or equal to this value. Format: YYYY-MM-DDTHH:mm.
to_Resource_LastCleanedAt
string
Filter by timestamp of the last cleaning event for this resource. less than or equal to this value. Format: YYYY-MM-DDTHH:mm.
from_Resource_CancellationFeeAmount
number
Filter by fixed cancellation fee amount. Used when CancellationFeeType is Absolute. greater than or equal to this value.
to_Resource_CancellationFeeAmount
number
Filter by fixed cancellation fee amount. Used when CancellationFeeType is Absolute. less than or equal to this value.
from_Resource_CancellationFeePercentage
number
Filter by cancellation fee as a percentage of the booking cost. Used when CancellationFeeType is Percentage. greater than or equal to this value.
to_Resource_CancellationFeePercentage
number
Filter by cancellation fee as a percentage of the booking cost. Used when CancellationFeeType is Percentage. less than or equal to this value.
from_Resource_RepeatBookingQuantityLimit
integer
Filter by maximum number of occurrences allowed when creating a recurring booking for this resource. greater than or equal to this value.
to_Resource_RepeatBookingQuantityLimit
integer
Filter by maximum number of occurrences allowed when creating a recurring booking for this resource. less than or equal to this value.
from_Resource_RepeatBookingPeriodLimitInMonths
integer
Filter by maximum time span (in months) over which a recurring booking series can extend. greater than or equal to this value.
to_Resource_RepeatBookingPeriodLimitInMonths
integer
Filter by maximum time span (in months) over which a recurring booking series can extend. less than or equal to this value.
from_Resource_CreatedOn
string
Filter records created on or after this date. Format: YYYY-MM-DDTHH:mm.
to_Resource_CreatedOn
string
Filter records created on or before this date. Format: YYYY-MM-DDTHH:mm.
from_Resource_UpdatedOn
string
Filter records updated on or after this date. Format: YYYY-MM-DDTHH:mm.
to_Resource_UpdatedOn
string
Filter records updated on or before this date. Format: YYYY-MM-DDTHH:mm.

Code Examples

Simple listing

curl -X GET \
  "https://spaces.nexudus.com/api/spaces/resources?page=1&size=15&orderBy=Name&dir=1" \
  -H "Authorization: Bearer YOUR_TOKEN"

Filtering by Name

curl -X GET \
  "https://spaces.nexudus.com/api/spaces/resources?Resource_Name=example-value&orderBy=Name&dir=1" \
  -H "Authorization: Bearer YOUR_TOKEN"

Range filters

curl -X GET \
  "https://spaces.nexudus.com/api/spaces/resources?from_Resource_UpdatedOn=2025-01-01T00:00&to_Resource_UpdatedOn=2025-12-31T23:59&orderBy=UpdatedOn&dir=-1" \
  -H "Authorization: Bearer YOUR_TOKEN"

Response

200

Records
Resource[]
The list of Resource records matching the query. See the Get one Resource endpoint for the full list of properties returned for each record.
Partial records — The listing endpoint returns a summary representation of each Resource. The following fields are not included in the Records[] response: Description, EmailConfirmationContent, DisplayOrder, Projector, Internet, ConferencePhone, StandardPhone, WhiteBoard, LargeDisplay, Catering, TeaAndCoffee, Drinks, SecurityLock, CCTV, VoiceRecorder, AirConditioning, Heating, NaturalLight, StandingDesk, QuietZone, WirelessCharger, PrivacyScreen, Soundproof, VideoConferencing, DualDisplayScreen, DisplayScreen, WirelessPresentation, PaSystem, DesktopMonitor, FlipChart, SecureStorage, AllowMultipleBookings, Allocation, LimitVisitorsToAllocation, BookInAdvanceLimit, LateBookingLimit, LateCancellationLimit, IntervalLimit, NoReturnPolicy, NoReturnPolicyAllResources, NoReturnPolicyAllUsers, MaxBookingLength, MinBookingLength, Shifts, HideInCalendar, UseSharedZoomAccount, OnlyForContacts, OnlyForMembers, OnlyForInvoicingBusiness, ChargeCancellationFee, CancellationFeeType, CancellationFeeAmount, CancellationFeePercentage, RepeatBookingQuantityLimit, RepeatBookingPeriodLimitInMonths.To get all fields, fetch the full record using the Get one Resource endpoint.Important for updates: When updating a record via PUT, always retrieve the full record with a GET request first, apply your changes to that complete data, and then send the updated record. Do not use data from a listing response as the base for a PUT request, as missing fields may be unintentionally cleared.
CurrentPage
integer
Current page number.
CurrentPageSize
integer
Number of records per page.
CurrentOrderField
string
The field used for sorting.
CurrentSortDirection
integer
The sort direction (1 = ascending, -1 = descending).
FirstItem
integer
Index of the first item on the current page.
LastItem
integer
Index of the last item on the current page.
TotalItems
integer
Total number of matching records across all pages.
TotalPages
integer
Total number of pages.
HasNextPage
boolean
Whether there is a next page of results.
HasPreviousPage
boolean
Whether there is a previous page of results.
Example Response
{
  "Records": [
    {
      "BusinessId": 0,
      "BusinessName": null,
      "Name": "",
      "SystemResourceType": 0,
      "ResourceTypeId": 0,
      "ResourceTypeName": null,
      "Description": null,
      "PictureFileName": null,
      "NewPictureUrl": null,
      "ClearPictureFile": null,
      "EmailConfirmationContent": null,
      "Visible": false,
      "RequiresConfirmation": false,
      "DisplayOrder": 0,
      "GroupName": null,
      "Projector": false,
      "Internet": false,
      "ConferencePhone": false,
      "StandardPhone": false,
      "WhiteBoard": false,
      "LargeDisplay": false,
      "Catering": false,
      "TeaAndCoffee": false,
      "Drinks": false,
      "SecurityLock": false,
      "CCTV": false,
      "VoiceRecorder": false,
      "AirConditioning": false,
      "Heating": false,
      "NaturalLight": false,
      "StandingDesk": false,
      "QuietZone": false,
      "WirelessCharger": false,
      "PrivacyScreen": false,
      "Soundproof": false,
      "VideoConferencing": false,
      "DualDisplayScreen": false,
      "DisplayScreen": false,
      "WirelessPresentation": false,
      "PaSystem": false,
      "DesktopMonitor": false,
      "FlipChart": false,
      "SecureStorage": false,
      "AllowMultipleBookings": false,
      "Allocation": null,
      "LimitVisitorsToAllocation": false,
      "BookInAdvanceLimit": null,
      "LateBookingLimit": null,
      "LateCancellationLimit": null,
      "IntervalLimit": null,
      "NoReturnPolicy": null,
      "NoReturnPolicyAllResources": null,
      "NoReturnPolicyAllUsers": null,
      "MaxBookingLength": null,
      "MinBookingLength": null,
      "Tariffs": [],
      "Teams": [],
      "Shifts": null,
      "LinkedResources": [],
      "GoogleCalendarId": null,
      "KisiGroupId": null,
      "AccessControlGroupId": null,
      "AccessControlGroupIds": null,
      "Longitude": null,
      "Latitude": null,
      "HideInCalendar": false,
      "Archived": false,
      "UseSharedZoomAccount": false,
      "ZoomAccessToken": null,
      "ZoomRefreshToken": null,
      "ZoomUserId": null,
      "LastCleanedAt": null,
      "Office365CalendarId": null,
      "LinkedResourceIds": null,
      "OnlyForContacts": false,
      "OnlyForMembers": false,
      "OnlyForInvoicingBusiness": false,
      "SensorLastValue": null,
      "IsSensorOccupied": false,
      "BookingAvailabilityExceptions": [],
      "CancellationFeeProductId": null,
      "CancellationFeeProductName": null,
      "ChargeCancellationFee": false,
      "CancellationFeeType": 0,
      "CancellationFeeAmount": null,
      "CancellationFeePercentage": null,
      "RepeatBookingQuantityLimit": null,
      "RepeatBookingPeriodLimitInMonths": null,
      "Id": 87654321,
      "UpdatedOn": "2025-01-15T10:30:00Z",
      "CreatedOn": "2025-01-10T08:00:00Z",
      "UniqueId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "UpdatedBy": "admin@example.com",
      "IsNew": false,
      "SystemId": null,
      "ToStringText": "Resource Example",
      "LocalizationDetails": null,
      "CustomFields": null
    }
  ],
  "CurrentPageSize": 15,
  "CurrentPage": 1,
  "CurrentOrderField": "Name",
  "CurrentSortDirection": 1,
  "FirstItem": 1,
  "HasNextPage": false,
  "HasPreviousPage": false,
  "LastItem": 1,
  "PageNumber": 1,
  "PageSize": 15,
  "TotalItems": 1,
  "TotalPages": 1
}