PaymentPlan
Queries
paymentPlanAuthenticatedFetches a single payment plan by its id. Returns null when no plan matches.paymentPlansAuthenticatedLists payment plans as a Relay-style, cursor-paginated connection. Page forward by starting with first: N, then passing the previous response's pageInfo.endCursor back as after (repeat while pageInfo.hasNextPage); page backward with last + before. Scope the results with one of orgId / contactId and/or a status filter via PaymentPlansInput. See PaymentPlanConnection for the response shape.
Mutations
Types
AmountA monetary amount with up to two decimal places. Ex. 111.11CurrencyThree letter ISO 4217 currency code. Ex. USDDateISO 8601 formatted date in the format YYYY-MM-DDDateTimeISO 8601 formatted date time. Ex. 2023-11-23T14:30:00ZPageInfoPageInfo type for cursor-based pagination following the Relay specification for cursor based pagination.PaymentPlanPaymentPlanConnectionA page of payment plans following the [Relay Connection spec](https://relay.dev/graphql/connections.htm). edges holds the plans in this page (each with its cursor) and pageInfo describes whether more pages exist in each direction plus the cursors that bound this page. Typical "load more" loop: read edges[].node for the data, then if pageInfo.hasNextPage is true request the next page with paymentPlans(input: { first: N, after: pageInfo.endCursor, ...same filters }).PaymentPlanEdgeA single element of a PaymentPlanConnection page: the payment plan itself (node) plus the opaque cursor that points at it. Pass a cursor back as after (forward) or before (backward) to page relative to this row.PaymentPlanFrequencyPaymentPlansInputFilter and pagination for the paymentPlans connection. Pagination is Relay cursor-based, not page/offset based — see the [Relay Connections spec](https://relay.dev/graphql/connections.htm). Page forward with first + after, or backward with last + before; never mix the two directions in a single call. Cursors are opaque strings taken from a previous response's pageInfo (or edges[].cursor) — treat them as black boxes, don't build or parse them yourself. Scope the list by supplying at most one of orgId or contactId (omit both to list every plan), and optionally narrow to a single status.PaymentPlanStatus