Browse OfficeRnD members, bookings, memberships, invoices and tickets, with optional write access.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
WRITE. Post a comment on a helpdesk ticket. Public comments are visible to the member; comments attributed to members must be public. Needs scope flex.collaboration.ticketComments.create. OfficeRnD: POST /ticket-comments/{ticketId}.
The comment text.
The _id of the member the comment is posted as.
Whether the comment is public (visible to the member).
The ticket _id.
The server marks this tool as destructive. Running it may delete or overwrite data on the server or in any account you connected with your headers.
WRITE. Post a comment on a helpdesk ticket. Public comments are visible to the member; comments attributed to members must be public. Needs scope flex.collaboration.ticketComments.create. OfficeRnD: POST /ticket-comments/{ticketId}.
| Argument | Type | Description |
|---|---|---|
| text* | string | The comment text. |
| member* | string | The _id of the member the comment is posted as. |
| is_public* | boolean | Whether the comment is public (visible to the member). |
| ticket_id* | string | The ticket _id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"ticket_id",
"text",
"member",
"is_public"
],
"properties": {
"text": {
"type": "string",
"minLength": 1,
"description": "The comment text."
},
"member": {
"type": "string",
"minLength": 1,
"description": "The _id of the member the comment is posted as."
},
"is_public": {
"type": "boolean",
"description": "Whether the comment is public (visible to the member)."
},
"ticket_id": {
"type": "string",
"minLength": 1,
"description": "The ticket _id."
}
}
}WRITE. Book a resource (e.g. a meeting room) for a member and/or company. Unless is_free or is_tentative is set, the booking is charged per the resource's rate, and the member is notified unless is_silent. Needs scope flex.space.bookings.create. OfficeRnD: POST /bookings.
| Argument | Type | Description |
|---|---|---|
| end* | string | End (ISO 8601 date-time). |
| start* | string | Start (ISO 8601 date-time), e.g. 2026-10-01T13:00:00.000Z. |
| title | string | Booking title. |
| member | string | The _id of the member the booking is for. |
| company | string | The _id of the company the booking is for. |
| is_free | boolean | Mark as free — no fees are generated. |
| members | array | _ids of teammates (same company) attending. |
| resource* | string | The _id of the resource to book (see officernd_list_resources). |
WRITE. Add a new member (person) to a location, optionally attached to a company. Needs scope flex.community.members.create. OfficeRnD: POST /members.
| Argument | Type | Description |
|---|---|---|
| name* | string | The member's full name. |
| tags | array | Tags. |
| string | The member's email address. | |
| phone | string | Primary phone number. |
| company | string | The _id of the company the member belongs to. |
| location* | string | The _id of the member's location (see officernd_list_locations). |
| properties | object | Custom properties, keyed by property name. |
| start_date* | string | Start date (ISO 8601), e.g. 2026-10-01T00:00:00.000Z. |
| description | string | Description/bio. |
WRITE. Open a helpdesk ticket on behalf of a member. type, priority and severity are ticket-option _ids from officernd_list_ticket_options. Needs scope flex.collaboration.tickets.create. OfficeRnD: POST /tickets.
| Argument | Type | Description |
|---|---|---|
| type* | string | Ticket-option _id with category 'type'. |
| member* | string | The _id of the member raising the ticket. |
| message | string | Full description. |
| subject* | string | Short summary of the issue. |
| priority* | string | Ticket-option _id with category 'priority'. |
| severity* | string | Ticket-option _id with category 'severity'. |
| attachments | array | Image attachment URLs. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"member",
"subject",
"type",
"priority",
"severity"
],
"properties": {
"type": {
"type": "string",
"minLength": 1,
"description": "Ticket-option _id with category 'type'."
},
"member": {
"type": "string",
"minLength": 1,
"description": "The _id of the member raising the ticket."
},
"message": {
"type": "string",
"description": "Full description."
},
"subject": {
"type": "string",
"minLength": 1,
"description": "Short summary of the issue."
},
"priority": {
"type": "string",
"minLength": 1,
"description": "Ticket-option _id with category 'priority'."
},
"severity": {
"type": "string",
"minLength": 1,
"description": "Ticket-option _id with category 'severity'."
},
"attachments": {
"type": "array",
"items": {
"type": "string"
},
"description": "Image attachment URLs."
}
}
}Fetch one booking by _id — resource, member/company, times, recurrence rule, fees, extras, visitors and status. OfficeRnD: GET /bookings/{bookingId}.
| Argument | Type | Description |
|---|---|---|
| booking_id* | string | The booking _id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"booking_id"
],
"properties": {
"booking_id": {
"type": "string",
"minLength": 1,
"description": "The booking _id."
}
}
}Fetch one member by _id — contact details, company, location, status, billing details and custom properties. OfficeRnD: GET /members/{memberId}.
| Argument | Type | Description |
|---|---|---|
| member_id* | string | The member _id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"member_id"
],
"properties": {
"member_id": {
"type": "string",
"minLength": 1,
"description": "The member _id."
}
}
}Fetch the OfficeRnD organization these credentials belong to — name, slug and region. A cheap way to confirm the setup works. OfficeRnD: GET /api/v2/organizations/{orgSlug}.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}List every individual booking occurrence between two times — one-off bookings plus each expanded instance of recurring series. The right tool for calendars, room availability and utilisation. Without pagination the window may be at most 1 year. OfficeRnD: GET /bookings/occurrences.
| Argument | Type | Description |
|---|---|---|
| to* | string | Window end (ISO 8601 date-time), e.g. 2026-10-08T00:00:00.000Z. |
| from* | string | Window start (ISO 8601 date-time), e.g. 2026-10-01T00:00:00.000Z. |
| limit | integer | Page size, 1-50 (OfficeRnD's max; default 50). |
| member | string | Only items for this member _id. |
| company | string | Only items for this company _id. |
| location | string | Only items for this location _id. |
| resource | array | One or more resource _ids. |
| cursor_next | string | The cursorNext from the previous page. Omit for the first page. |
List bookings: one entry per one-off booking and one per recurring series (first instance only). Filter by member, company, location, resource, series start window and status. For every individual occurrence in a date window use officernd_list_booking_occurrences. OfficeRnD: GET /bookings.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Page size, 1-50 (OfficeRnD's max; default 50). |
| member | string | Only items for this member _id. |
| company | string | Only items for this company _id. |
| location | string | Only items for this location _id. |
| resource | array | One or more resource _ids. |
| cursor_next | string | The cursorNext from the previous page. Omit for the first page. |
| cursor_prev | string | The cursorPrev from a page, to go one page back. |
| starts_from | string | Only bookings/series starting at or after this time (ISO 8601 date-time, e.g. 2026-01-01T00:00:00.000Z). |
List member check-ins (who was on site, when, and via which booking or pass) — useful for occupancy and attendance. OfficeRnD: GET /checkins.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Page size, 1-50 (OfficeRnD's max; default 50). |
| member | string | Only items for this member _id. |
| company | string | Only items for this company _id. |
| location | string | Only items for this location _id. |
| cursor_next | string | The cursorNext from the previous page. Omit for the first page. |
| cursor_prev | string | The cursorPrev from a page, to go one page back. |
| started_from | string | Only check-ins starting at or after this time (ISO 8601 date-time, e.g. 2026-01-01T00:00:00.000Z). |
| started_before | string | Only check-ins starting before this time (ISO 8601 date-time, e.g. 2026-01-01T00:00:00.000Z). |
List companies (teams/tenants renting space), filterable by exact name or _id, location and status. OfficeRnD: GET /companies.
| Argument | Type | Description |
|---|---|---|
| name | string | Exact company name. |
| sort | string | Sort expression <field>:asc|desc, e.g. createdAt:desc. |
| limit | integer | Page size, 1-50 (OfficeRnD's max; default 50). |
| status | array | One or more company statuses. |
| location | string | Only items for this location _id. |
| company_id | string | Exact company _id (use to fetch a single company). |
| cursor_next | string | The cursorNext from the previous page. Omit for the first page. |
| cursor_prev | string | The cursorPrev from a page, to go one page back. |
| modified_since | string | Only items modified at or after this time (ISO 8601 date-time, e.g. 2026-01-01T00:00:00.000Z). |
List contracts (agreements for plans and resources) with totals, dates, notice period, status and lifecycle stage — e.g. find contracts up for renewal or serving notice. OfficeRnD: GET /contracts.
| Argument | Type | Description |
|---|---|---|
| sort | string | Sort expression <field>:asc|desc, e.g. createdAt:desc. |
| limit | integer | Page size, 1-50 (OfficeRnD's max; default 50). |
| stage | string | Contract lifecycle stage. |
| status | string | Contract status. |
| company | string | Only items for this company _id. |
| location | string | Only items for this location _id. |
| cursor_next | string | The cursorNext from the previous page. Omit for the first page. |
| cursor_prev | string | The cursorPrev from a page, to go one page back. |
| modified_since | string | Only items modified at or after this time (ISO 8601 date-time, e.g. 2026-01-01T00:00:00.000Z). |
List the organization's locations (coworking spaces/buildings) with address, timezone and open/public flags. Location _ids are needed by most other filters and by officernd_create_member. OfficeRnD: GET /locations.
| Argument | Type | Description |
|---|---|---|
| name | string | Exact location name. |
| limit | integer | Page size, 1-50 (OfficeRnD's max; default 50). |
| is_open | boolean | Only operational (true) or non-operational (false) locations. |
| is_public | boolean | Only locations shown (true) or hidden (false) in the members portal. |
| cursor_next | string | The cursorNext from the previous page. Omit for the first page. |
| cursor_prev | string | The cursorPrev from a page, to go one page back. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"name": {
"type": "string",
"description": "Exact location name."
},
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Page size, 1-50 (OfficeRnD's max; default 50)."
},
"is_open": {
"type": "boolean",
"description": "Only operational (true) or non-operational (false) locations."
},
"is_public": {
"type": "boolean",
"description": "Only locations shown (true) or hidden (false) in the members portal."
},
"cursor_next": {
"type": "string",
"description": "The cursorNext from the previous page. Omit for the first page."
},
"cursor_prev": {
"type": "string",
"description": "The cursorPrev from a page, to go one page back."
}
}
}List members (people) of the workspace, filterable by exact email or name, location, company, status and creation/modification date. OfficeRnD: GET /members.
| Argument | Type | Description |
|---|---|---|
| name | string | Exact name match. |
| sort | string | Sort expression <field>:asc|desc, e.g. createdAt:desc. |
| string | Exact email match. | |
| limit | integer | Page size, 1-50 (OfficeRnD's max; default 50). |
| status | array | One or more member statuses. |
| company | string | Only items for this company _id. |
| location | string | Only items for this location _id. |
| cursor_next | string | The cursorNext from the previous page. Omit for the first page. |
| cursor_prev | string | The cursorPrev from a page, to go one page back. |
List memberships (recurring plans sold to members/companies) with plan, price, discount, start/end dates and calculated status. OfficeRnD: GET /memberships.
| Argument | Type | Description |
|---|---|---|
| plan | array | One or more plan _ids. |
| limit | integer | Page size, 1-50 (OfficeRnD's max; default 50). |
| member | string | Only items for this member _id. |
| company | string | Only items for this company _id. |
| location | string | Only items for this location _id. |
| cursor_next | string | The cursorNext from the previous page. Omit for the first page. |
| cursor_prev | string | The cursorPrev from a page, to go one page back. |
| modified_since | string | Only items modified at or after this time (ISO 8601 date-time, e.g. 2026-01-01T00:00:00.000Z). |
| calculated_status | string |
List billing documents — invoices, credit notes, overpayments — with totals, paid/pending amounts, due dates and status. Filter by member, company, location, document type, status, number and issue/due date (e.g. overdue invoices). OfficeRnD: GET /payments.
| Argument | Type | Description |
|---|---|---|
| sort | string | Sort expression <field>:asc|desc, e.g. createdAt:desc. |
| limit | integer | Page size, 1-50 (OfficeRnD's max; default 50). |
| member | string | Only items for this member _id. |
| number | string | Exact document number. |
| status | array | One or more statuses, e.g. paid, pending. |
| company | string | Only items for this company _id. |
| location | string | Only items for this location _id. |
| due_before | string | Only documents due before this date (ISO 8601 date-time, e.g. 2026-01-01T00:00:00.000Z). |
| cursor_next | string |
List bookable/assignable resources — meeting rooms, desks, hot desks, private offices — with capacity, price, rate, floor and amenities. Resource _ids are needed by officernd_create_booking. OfficeRnD: GET /resources.
| Argument | Type | Description |
|---|---|---|
| name | string | Exact resource name. |
| type | array | One or more resource types. System types: meeting_room (bookable meeting rooms), hotdesk (bookable hot desks), team_room (private offices), desk (dedicated desks), desk_tr (desks inside private offices), desk_na (not available); orgs may add custom types. |
| limit | integer | Page size, 1-50 (OfficeRnD's max; default 50). |
| location | string | Only items for this location _id. |
| cursor_next | string | The cursorNext from the previous page. Omit for the first page. |
| cursor_prev | string | The cursorPrev from a page, to go one page back. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"name": {
"type": "string",
"description": "Exact resource name."
},
"type": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 50,
"description": "One or more resource types. System types: meeting_room (bookable meeting rooms), hotdesk (bookable hot desks), team_room (private offices), desk (dedicated desks), desk_tr (desks inside private offices), desk_na (not available); orgs may add custom types."
},
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Page size, 1-50 (OfficeRnD's max; default 50)."
},
"location": {
"type": "string",
"description": "Only items for this location _id."
},
"cursor_next": {
"type": "string",
"description": "The cursorNext from the previous page. Omit for the first page."
},
"cursor_prev": {
"type": "string",
"description": "The cursorPrev from a page, to go one page back."
}
}
}List the helpdesk ticket options — the configured types, priorities and severities (each with an _id, category and label). Their _ids are required by officernd_create_ticket. OfficeRnD: GET /ticket-options.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Page size, 1-50 (OfficeRnD's max; default 50). |
| cursor_next | string | The cursorNext from the previous page. Omit for the first page. |
| cursor_prev | string | The cursorPrev from a page, to go one page back. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Page size, 1-50 (OfficeRnD's max; default 50)."
},
"cursor_next": {
"type": "string",
"description": "The cursorNext from the previous page. Omit for the first page."
},
"cursor_prev": {
"type": "string",
"description": "The cursorPrev from a page, to go one page back."
}
}
}List helpdesk tickets (member requests/issues) with subject, message, status (open/new/pending/resolved), priority, severity and assignee. OfficeRnD: GET /tickets.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Page size, 1-50 (OfficeRnD's max; default 50). |
| cursor_next | string | The cursorNext from the previous page. Omit for the first page. |
| cursor_prev | string | The cursorPrev from a page, to go one page back. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Page size, 1-50 (OfficeRnD's max; default 50)."
},
"cursor_next": {
"type": "string",
"description": "The cursorNext from the previous page. Omit for the first page."
},
"cursor_prev": {
"type": "string",
"description": "The cursorPrev from a page, to go one page back."
}
}
}WRITE. Update a member's name, email, phone, start date, billing/contact flags, tags or custom properties. Only the fields you pass are changed; `tags` replaces the whole tag list. Needs scope flex.community.members.update. OfficeRnD: PUT /members/{memberId}.
| Argument | Type | Description |
|---|---|---|
| name | string | New name. |
| tags | array | Replaces the member's entire tag list. |
| string | New email. | |
| phone | string | New phone number. |
| member_id* | string | The member _id. |
| properties | object | Custom properties to set. |
| start_date | string | New start date (ISO 8601). |
| is_billing_person | boolean | Whether the member receives the company's invoices. |
| is_contact_person | boolean | Whether the member is a contact person of the company. |
| visitors |
| array |
| _ids of external visitors attending. |
| is_silent | boolean | If true, no notification is sent to the member. |
| description | string | Longer description. |
| is_tentative | boolean | Create as tentative (unconfirmed, not charged). |
| enforce_booking_policy | boolean | If true, apply member validations (business hours, durations, limits) and booking-policy approval flagging. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"resource",
"start",
"end"
],
"properties": {
"end": {
"type": "string",
"minLength": 1,
"description": "End (ISO 8601 date-time)."
},
"start": {
"type": "string",
"minLength": 1,
"description": "Start (ISO 8601 date-time), e.g. 2026-10-01T13:00:00.000Z."
},
"title": {
"type": "string",
"description": "Booking title."
},
"member": {
"type": "string",
"description": "The _id of the member the booking is for."
},
"company": {
"type": "string",
"description": "The _id of the company the booking is for."
},
"is_free": {
"type": "boolean",
"description": "Mark as free — no fees are generated."
},
"members": {
"type": "array",
"items": {
"type": "string"
},
"description": "_ids of teammates (same company) attending."
},
"resource": {
"type": "string",
"minLength": 1,
"description": "The _id of the resource to book (see officernd_list_resources)."
},
"visitors": {
"type": "array",
"items": {
"type": "string"
},
"description": "_ids of external visitors attending."
},
"is_silent": {
"type": "boolean",
"description": "If true, no notification is sent to the member."
},
"description": {
"type": "string",
"description": "Longer description."
},
"is_tentative": {
"type": "boolean",
"description": "Create as tentative (unconfirmed, not charged)."
},
"enforce_booking_policy": {
"type": "boolean",
"description": "If true, apply member validations (business hours, durations, limits) and booking-policy approval flagging."
}
}
}| is_billing_person | boolean | Whether the member receives the company's invoices. |
| is_contact_person | boolean | Whether the member is a contact person of the company. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"name",
"location",
"start_date"
],
"properties": {
"name": {
"type": "string",
"minLength": 1,
"description": "The member's full name."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tags."
},
"email": {
"type": "string",
"description": "The member's email address."
},
"phone": {
"type": "string",
"description": "Primary phone number."
},
"company": {
"type": "string",
"description": "The _id of the company the member belongs to."
},
"location": {
"type": "string",
"minLength": 1,
"description": "The _id of the member's location (see officernd_list_locations)."
},
"properties": {
"type": "object",
"description": "Custom properties, keyed by property name.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"start_date": {
"type": "string",
"minLength": 1,
"description": "Start date (ISO 8601), e.g. 2026-10-01T00:00:00.000Z."
},
"description": {
"type": "string",
"description": "Description/bio."
},
"is_billing_person": {
"type": "boolean",
"description": "Whether the member receives the company's invoices."
},
"is_contact_person": {
"type": "boolean",
"description": "Whether the member is a contact person of the company."
}
}
}| cursor_prev | string | The cursorPrev from a page, to go one page back. |
| is_cancelled | boolean | Only (non-)cancelled bookings. |
| is_tentative | boolean | Only tentative (unconfirmed) or confirmed bookings. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"from",
"to"
],
"properties": {
"to": {
"type": "string",
"minLength": 1,
"description": "Window end (ISO 8601 date-time), e.g. 2026-10-08T00:00:00.000Z."
},
"from": {
"type": "string",
"minLength": 1,
"description": "Window start (ISO 8601 date-time), e.g. 2026-10-01T00:00:00.000Z."
},
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Page size, 1-50 (OfficeRnD's max; default 50)."
},
"member": {
"type": "string",
"description": "Only items for this member _id."
},
"company": {
"type": "string",
"description": "Only items for this company _id."
},
"location": {
"type": "string",
"description": "Only items for this location _id."
},
"resource": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 50,
"description": "One or more resource _ids."
},
"cursor_next": {
"type": "string",
"description": "The cursorNext from the previous page. Omit for the first page."
},
"cursor_prev": {
"type": "string",
"description": "The cursorPrev from a page, to go one page back."
},
"is_cancelled": {
"type": "boolean",
"description": "Only (non-)cancelled bookings."
},
"is_tentative": {
"type": "boolean",
"description": "Only tentative (unconfirmed) or confirmed bookings."
}
}
}| is_cancelled |
| boolean |
| Only (non-)cancelled bookings. |
| is_tentative | boolean | Only tentative (unconfirmed) or confirmed bookings. |
| starts_before | string | Only bookings/series starting before this time (ISO 8601 date-time, e.g. 2026-01-01T00:00:00.000Z). |
| modified_since | string | Only items modified at or after this time (ISO 8601 date-time, e.g. 2026-01-01T00:00:00.000Z). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Page size, 1-50 (OfficeRnD's max; default 50)."
},
"member": {
"type": "string",
"description": "Only items for this member _id."
},
"company": {
"type": "string",
"description": "Only items for this company _id."
},
"location": {
"type": "string",
"description": "Only items for this location _id."
},
"resource": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 50,
"description": "One or more resource _ids."
},
"cursor_next": {
"type": "string",
"description": "The cursorNext from the previous page. Omit for the first page."
},
"cursor_prev": {
"type": "string",
"description": "The cursorPrev from a page, to go one page back."
},
"starts_from": {
"type": "string",
"description": "Only bookings/series starting at or after this time (ISO 8601 date-time, e.g. 2026-01-01T00:00:00.000Z)."
},
"is_cancelled": {
"type": "boolean",
"description": "Only (non-)cancelled bookings."
},
"is_tentative": {
"type": "boolean",
"description": "Only tentative (unconfirmed) or confirmed bookings."
},
"starts_before": {
"type": "string",
"description": "Only bookings/series starting before this time (ISO 8601 date-time, e.g. 2026-01-01T00:00:00.000Z)."
},
"modified_since": {
"type": "string",
"description": "Only items modified at or after this time (ISO 8601 date-time, e.g. 2026-01-01T00:00:00.000Z)."
}
}
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Page size, 1-50 (OfficeRnD's max; default 50)."
},
"member": {
"type": "string",
"description": "Only items for this member _id."
},
"company": {
"type": "string",
"description": "Only items for this company _id."
},
"location": {
"type": "string",
"description": "Only items for this location _id."
},
"cursor_next": {
"type": "string",
"description": "The cursorNext from the previous page. Omit for the first page."
},
"cursor_prev": {
"type": "string",
"description": "The cursorPrev from a page, to go one page back."
},
"started_from": {
"type": "string",
"description": "Only check-ins starting at or after this time (ISO 8601 date-time, e.g. 2026-01-01T00:00:00.000Z)."
},
"started_before": {
"type": "string",
"description": "Only check-ins starting before this time (ISO 8601 date-time, e.g. 2026-01-01T00:00:00.000Z)."
}
}
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"name": {
"type": "string",
"description": "Exact company name."
},
"sort": {
"type": "string",
"pattern": "^[^:]+:(asc|desc)$",
"description": "Sort expression <field>:asc|desc, e.g. createdAt:desc."
},
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Page size, 1-50 (OfficeRnD's max; default 50)."
},
"status": {
"type": "array",
"items": {
"enum": [
"active",
"former",
"pending",
"inactive",
"not_approved",
"drop-in",
"lead"
],
"type": "string"
},
"maxItems": 50,
"description": "One or more company statuses."
},
"location": {
"type": "string",
"description": "Only items for this location _id."
},
"company_id": {
"type": "string",
"description": "Exact company _id (use to fetch a single company)."
},
"cursor_next": {
"type": "string",
"description": "The cursorNext from the previous page. Omit for the first page."
},
"cursor_prev": {
"type": "string",
"description": "The cursorPrev from a page, to go one page back."
},
"modified_since": {
"type": "string",
"description": "Only items modified at or after this time (ISO 8601 date-time, e.g. 2026-01-01T00:00:00.000Z)."
}
}
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"sort": {
"type": "string",
"pattern": "^[^:]+:(asc|desc)$",
"description": "Sort expression <field>:asc|desc, e.g. createdAt:desc."
},
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Page size, 1-50 (OfficeRnD's max; default 50)."
},
"stage": {
"enum": [
"terminated",
"served_notice",
"active",
"up_for_renewal",
"not_renewed",
"expired",
"rolling"
],
"type": "string",
"description": "Contract lifecycle stage."
},
"status": {
"enum": [
"signed",
"draft",
"terminated",
"not_signed",
"canceled"
],
"type": "string",
"description": "Contract status."
},
"company": {
"type": "string",
"description": "Only items for this company _id."
},
"location": {
"type": "string",
"description": "Only items for this location _id."
},
"cursor_next": {
"type": "string",
"description": "The cursorNext from the previous page. Omit for the first page."
},
"cursor_prev": {
"type": "string",
"description": "The cursorPrev from a page, to go one page back."
},
"modified_since": {
"type": "string",
"description": "Only items modified at or after this time (ISO 8601 date-time, e.g. 2026-01-01T00:00:00.000Z)."
}
}
}| created_from |
| string |
| Only members created at or after this time (ISO 8601 date-time, e.g. 2026-01-01T00:00:00.000Z). |
| created_before | string | Only members created before this time (ISO 8601 date-time, e.g. 2026-01-01T00:00:00.000Z). |
| modified_since | string | Only items modified at or after this time (ISO 8601 date-time, e.g. 2026-01-01T00:00:00.000Z). |
| is_billing_person | boolean | Only (non-)billing persons of their company. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"name": {
"type": "string",
"description": "Exact name match."
},
"sort": {
"type": "string",
"pattern": "^[^:]+:(asc|desc)$",
"description": "Sort expression <field>:asc|desc, e.g. createdAt:desc."
},
"email": {
"type": "string",
"description": "Exact email match."
},
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Page size, 1-50 (OfficeRnD's max; default 50)."
},
"status": {
"type": "array",
"items": {
"enum": [
"active",
"former",
"pending",
"contact",
"not_approved",
"drop-in",
"lead"
],
"type": "string"
},
"maxItems": 50,
"description": "One or more member statuses."
},
"company": {
"type": "string",
"description": "Only items for this company _id."
},
"location": {
"type": "string",
"description": "Only items for this location _id."
},
"cursor_next": {
"type": "string",
"description": "The cursorNext from the previous page. Omit for the first page."
},
"cursor_prev": {
"type": "string",
"description": "The cursorPrev from a page, to go one page back."
},
"created_from": {
"type": "string",
"description": "Only members created at or after this time (ISO 8601 date-time, e.g. 2026-01-01T00:00:00.000Z)."
},
"created_before": {
"type": "string",
"description": "Only members created before this time (ISO 8601 date-time, e.g. 2026-01-01T00:00:00.000Z)."
},
"modified_since": {
"type": "string",
"description": "Only items modified at or after this time (ISO 8601 date-time, e.g. 2026-01-01T00:00:00.000Z)."
},
"is_billing_person": {
"type": "boolean",
"description": "Only (non-)billing persons of their company."
}
}
}| The platform-calculated membership status. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"plan": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 50,
"description": "One or more plan _ids."
},
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Page size, 1-50 (OfficeRnD's max; default 50)."
},
"member": {
"type": "string",
"description": "Only items for this member _id."
},
"company": {
"type": "string",
"description": "Only items for this company _id."
},
"location": {
"type": "string",
"description": "Only items for this location _id."
},
"cursor_next": {
"type": "string",
"description": "The cursorNext from the previous page. Omit for the first page."
},
"cursor_prev": {
"type": "string",
"description": "The cursorPrev from a page, to go one page back."
},
"modified_since": {
"type": "string",
"description": "Only items modified at or after this time (ISO 8601 date-time, e.g. 2026-01-01T00:00:00.000Z)."
},
"calculated_status": {
"enum": [
"not_started",
"active",
"expired",
"not_approved"
],
"type": "string",
"description": "The platform-calculated membership status."
}
}
}| The cursorNext from the previous page. Omit for the first page. |
| cursor_prev | string | The cursorPrev from a page, to go one page back. |
| issued_from | string | Only documents issued at or after this date (ISO 8601 date-time, e.g. 2026-01-01T00:00:00.000Z). |
| document_type | string | Document type. |
| issued_before | string | Only documents issued before this date (ISO 8601 date-time, e.g. 2026-01-01T00:00:00.000Z). |
| modified_since | string | Only items modified at or after this time (ISO 8601 date-time, e.g. 2026-01-01T00:00:00.000Z). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"sort": {
"type": "string",
"pattern": "^[^:]+:(asc|desc)$",
"description": "Sort expression <field>:asc|desc, e.g. createdAt:desc."
},
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Page size, 1-50 (OfficeRnD's max; default 50)."
},
"member": {
"type": "string",
"description": "Only items for this member _id."
},
"number": {
"type": "string",
"description": "Exact document number."
},
"status": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 50,
"description": "One or more statuses, e.g. paid, pending."
},
"company": {
"type": "string",
"description": "Only items for this company _id."
},
"location": {
"type": "string",
"description": "Only items for this location _id."
},
"due_before": {
"type": "string",
"description": "Only documents due before this date (ISO 8601 date-time, e.g. 2026-01-01T00:00:00.000Z)."
},
"cursor_next": {
"type": "string",
"description": "The cursorNext from the previous page. Omit for the first page."
},
"cursor_prev": {
"type": "string",
"description": "The cursorPrev from a page, to go one page back."
},
"issued_from": {
"type": "string",
"description": "Only documents issued at or after this date (ISO 8601 date-time, e.g. 2026-01-01T00:00:00.000Z)."
},
"document_type": {
"enum": [
"creditNote",
"invoice",
"overpayment",
"paymentCharge"
],
"type": "string",
"description": "Document type."
},
"issued_before": {
"type": "string",
"description": "Only documents issued before this date (ISO 8601 date-time, e.g. 2026-01-01T00:00:00.000Z)."
},
"modified_since": {
"type": "string",
"description": "Only items modified at or after this time (ISO 8601 date-time, e.g. 2026-01-01T00:00:00.000Z)."
}
}
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"member_id"
],
"properties": {
"name": {
"type": "string",
"description": "New name."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Replaces the member's entire tag list."
},
"email": {
"type": "string",
"description": "New email."
},
"phone": {
"type": "string",
"description": "New phone number."
},
"member_id": {
"type": "string",
"minLength": 1,
"description": "The member _id."
},
"properties": {
"type": "object",
"description": "Custom properties to set.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"start_date": {
"type": "string",
"description": "New start date (ISO 8601)."
},
"is_billing_person": {
"type": "boolean",
"description": "Whether the member receives the company's invoices."
},
"is_contact_person": {
"type": "boolean",
"description": "Whether the member is a contact person of the company."
}
}
}