Schema reference

Schema reference

Generated from the public RollerUp GraphQL schema. Download the full schema as SDL: rollerup-schema.graphql

Objects

Type Description
Car
Card Represents a card used to make a payment.
CarPage Paginated result for car queries
CustomersPage Paginated result for RollerUp customer search queries
Discount Represents a discount that can be applied to subscriptions or purchases. Discounts can be either a fixed amount off or a percentage off the total.
DiscountPage Paginated result for discounts
Employee Represents an employee. This is backed by the same data as the User model, but with less fields and without the same permission restrictions.
EmployeesPage Paginated result for employee queries
Fleet
FleetInvitation
FleetInvitationPayload
FleetPage
FleetSignupCar
Group Represents a user group for organizing users and managing permissions
Location Represents a location in the system
LocationPage Paginated result for location queries
Membership
MembershipCar A car linked to a subscription membership, including scheduled end-of-period removal.
MembershipCarChangePreview Preview of a membership car change. Reflects the upcoming invoice for the proposed change without mutating any state.
MembershipCarChangePreviewLineItem A line item from the upcoming invoice preview.
MembershipSearchPage Paginated result for membership search queries
MergeCarsResult
MutateUserResponse
Note
OwnerCar A vehicle registered to an owner plan
OwnerPlan Full representation of an owner plan with nested relations. Use ownerPlan(id) query to fetch this for detail views.
OwnerVisit A wash record for an owner plan
OwnerVisitsPage
PageInfo
PaidInvoice
PaidInvoicePage
PaymentMethod Represents a payment method (source-agnostic)
PlateChange A record of a plate change (car linked or unlinked from a membership)
Prepaid Represents a prepaid that can be redeemed for wash packages
PrepaidBook Represents a prepaid book that contains prepaid codes
PrepaidBookPage Paginated result for prepaid books
PrepaidCode Represents a prepaid code that can be redeemed for a prepaid
PrepaidCodePage Paginated result for prepaid codes
PrepaidCodeRedemption Represents a redemption of a prepaid code
PrepaidCodeRedemptionPage Paginated result for prepaid code redemptions
PrepaidPage Paginated result for prepaids
Price Represents a price for a wash package with billing details
PriceTier A pricing tier for graduated pricing. Each tier defines a unit price that applies starting at a given quantity.
PricingProfile Represents a Pricing profile in the system
PumpWashCode Represents a generated pump wash code
PumpWashPackage Represents a pump wash package — a wash package offered through a pump wash controller
RollerupCustomer Represents a RollerUp customer with their subscriptions
RollerupSubscription
Schedule A schedule defining availability of a resource (e.g. a price or discount).
SimpleCompany Simplified company type with minimal fields
SimpleLocation Represents a location in the system with only primitives and no sensitive settings
SimpleMembership Lightweight membership projection for list / search results. Carries denormalized subscription status and customer identity, omits nested relations like linked cars. Fetch a full Membership via the membership(id:) query when detail is needed.
SimpleOwnerPlan Simple flat representation of an owner plan without nested relations.
SimpleOwnerPlansPage Paginated result for simple owner plan queries
SimplePaidInvoiceLineItem
SimplePrepaidExport Minimal prepaid export fields for list display (e.g. on Prepaid.exports).
SimplePrice Lightweight price projection for list / search results. Utilizes denormalized fields to avoid nested queries.
SimpleProduct Lightweight projection of Product — scalar fields only, no relational joins or computed aggregates. Used by list payloads like Price.product so paginated responses don’t fan out into per-row activeLocationCount and productPrices resolutions.
SimpleRollerupCustomer
StripeAccount Represents a Stripe account in the system
StripeAccountPage Paginated result for Stripe account queries
StripeAccountRequirements Stripe account requirements for onboarding and compliance
StripeCustomer Represents a Stripe customer in the system
StripeCustomerMembership Represents a customer membership with subscription details
User Represents a user in the system
UserPage Paginated result for user queries
Vehicle Represents a vehicle/car associated with a customer subscription
Visit Represents a visit to a location
VisitsPage Paginated result for visit queries
WashCode A free wash code that can be redeemed for a wash package
WashCodeGroup A group of free wash codes
WashCodeGroupPage Paginated result for wash code groups
WashCodePage Paginated result for wash codes
WashCodeRedemption Represents a redemption of a wash code
WashCodeRedemptionPage Paginated result for wash code redemptions
WashPackage Represents a Wash package in RollerUp

Inputs

Type Description
AddCarToFleetInput
AddCarToMembershipInput
AddCarToOwnerPlanInput Input for adding a car to an owner plan
CancelCarRemovalFromFleetInput
CancelCarRemovalInput
CancelFleetInput
CancelSubscriptionInput Input for cancelling a subscription at the end of the current period.
CarsQueryInput Pagination input for querying cars. Supports both forward and backward pagination. Use ‘first’ and ‘after’ for forward pagination, or ‘last’ and ‘before’ for backward pagination.
CreateDiscountInput Input for creating a new discount. You must specify either amountOff (fixed amount) or percentOff (percentage), but not both. The duration determines how long the discount applies to subscriptions.
CreateFleetInput
CreateNoteInput
CreateOwnerPlanInput Input for creating a new owner plan
CreatePriceTierInput Input for creating a pricing tier
CreatePumpWashCodeInput
CreateUserInput Input for creating a new user in the system. Note: If username is provided, either password must be set or issueTempPassword must be true.
CreateWashPackageInput Input for creating a new wash package
CustomersInput Input for searching RollerUp customers with multiple optional filter criteria. Supports cursor-based pagination. Multiple filters are combined using AND logic.
DiscountQueryInput Input for querying discounts with optional filter criteria. Supports both forward and backward cursor-based pagination. Use ‘first’ and ‘after’ for forward pagination, or ‘last’ and ‘before’ for backward pagination.
EmployeesInput Input for querying employees. Supports both forward and backward pagination. Use ‘first’ and ‘after’ for forward pagination, or ‘last’ and ‘before’ for backward pagination.
FleetPriceInput
FleetSignupCarInput
FleetsQueryInput
ListOwnerPlansInput Pagination input for querying owner plans. Supports both forward and backward pagination. Use ‘first’ and ‘after’ for forward pagination, or ‘last’ and ‘before’ for backward pagination.
ListOwnerVisitsInput Pagination input for querying owner visits. Supports both forward and backward pagination. Use ‘first’ and ‘after’ for forward pagination, or ‘last’ and ‘before’ for backward pagination.
LocationQueryInput Pagination input for querying locations. Supports both forward and backward pagination. Use ‘first’ and ‘after’ for forward pagination, or ‘last’ and ‘before’ for backward pagination.
MembershipSearchInput Input for searching memberships with multiple optional filter criteria. Supports cursor-based pagination. Multiple filters are combined using AND logic.
MergeCarsInput Input for merging two duplicate cars
MergeCustomersInput Input for merging one RollerUp customer into another. The source customer is hard-deleted after dependent records are re-pointed to the target.
PaidInvoicesQueryInput
PlateChangeHistoryInput Input for querying plate change history
PrepaidBookQueryInput Pagination input for querying prepaid books. Supports both forward and backward pagination. Use ‘first’ and ‘after’ for forward pagination, or ‘last’ and ‘before’ for backward pagination.
PrepaidCodeQueryInput Pagination input for querying prepaid codes. Supports both forward and backward pagination. Use ‘first’ and ‘after’ for forward pagination, or ‘last’ and ‘before’ for backward pagination.
PrepaidCodeRedemptionQueryInput Pagination input for querying prepaid code redemptions. Supports both forward and backward pagination. Use ‘first’ and ‘after’ for forward pagination, or ‘last’ and ‘before’ for backward pagination.
PrepaidQueryInput Pagination input for querying prepaids. Supports both forward and backward pagination. Use ‘first’ and ‘after’ for forward pagination, or ‘last’ and ‘before’ for backward pagination.
PreviewMembershipCarChangeInput
RedeemPumpWashCodeInput
RemoveCarFromFleetInput
RemoveCarFromMembershipInput
ScheduleInput Input for creating a new Schedule. All DateTime values follow the same floating-time convention described on the Schedule type.
StripeAccountQueryInput Pagination input for querying Stripe accounts. Supports both forward and backward pagination. Use ‘first’ and ‘after’ for forward pagination, or ‘last’ and ‘before’ for backward pagination.
UpdateCustomerInput Input for updating a RollerUp customer.
UpdateFleetInput
UpdateOwnerPlanCarInput Input for updating a car on an owner plan
UpdateOwnerPlanInput Input for updating an existing owner plan. All fields except ‘id’ are optional.
UpdateUserInput Input for updating an existing user. All fields except ‘id’ are optional
UpdateWashPackageInput Input for updating an existing wash package. All fields except ‘id’ are optional.
UserQueryInput Pagination input for querying users. Supports both forward and backward pagination. Use ‘first’ and ‘after’ for forward pagination, or ‘last’ and ‘before’ for backward pagination.
VisitsInput Options for setting pagination and filtering for the visits query
WashCodeGroupQueryInput Pagination input for querying wash code groups. Supports both forward and backward pagination. Use ‘first’ and ‘after’ for forward pagination, or ‘last’ and ‘before’ for backward pagination.
WashCodeQueryInput Pagination input for querying wash codes. Supports both forward and backward pagination. Use ‘first’ and ‘after’ for forward pagination, or ‘last’ and ‘before’ for backward pagination.
WashCodeRedemptionQueryInput Pagination input for querying wash code redemptions. Supports both forward and backward pagination. Use ‘first’ and ‘after’ for forward pagination, or ‘last’ and ‘before’ for backward pagination.

Enums

Type Description
ArchivedReason Why a record was archived. USER means a user explicitly archived it. SYSTEM means it was automatically archived because a newer version replaced it. CASCADE means it was automatically archived alongside a parent record being archived (e.g. a Price cascade-archived when its Product is archived).
BillingFrequency Billing frequency options for subscription prices
CancelType
DiscountDuration Duration types for how long a discount applies to a subscription
FleetSignupCarFailureReason
FleetSignupCarStatus
MembershipCarChangeIntent The kind of change being previewed against a membership’s linked cars.
PaymentMethodSource Source of the payment method (stripe, internal, etc)
PaymentMethodType How a paid invoice was paid
ProductType Product type discriminator.
RefundType
SubscriptionChangeType
TrialUnits Trial period units for free trial durations

Scalars

Type Description
Boolean The Boolean scalar type represents true or false.
DateTime
EmailAddress
Float The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.
ID The ID scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4") or integer (such as 4) input value will be accepted as an ID.
Int The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.
LocalDate
PhoneNumber Phone number scalar that enforces E.164 format (e.g., +1234567890)
RRule RFC-5545 compliant recurrence rule scalar
String The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.
USPostalCode Postal code scalar that enforces valid US postal code format
USStateCode State code scalar that enforces valid 2-character USPS state code format