GQL Mutations

type GQLMutations {
  addCustomerPaymentMethod(
    customerId: String!
    paymentMethod: PaymentMethodGQLInputType!
    siteId: String!
  ): ResultGQLType7f6710870a0f4da7a1a6ef149f4d66e3
  addDiscountToInvoice(
    amount: Decimal!
    invoiceId: String!
    siteId: String!
  ): ResultGQLType
  addFreeAddonSubscriptionMutation(
    addonSubscription: AddAddonSubscriptionGQLInputType!
  ): ResultGQLType
  addNewSubscriptionEvent(event: SubscriptionEventGQLInputType!): ResultGQLType
  addSubscription(
    customerId: String!
    planCode: String!
    siteId: String!
  ): ResultGQLType717f4e2653e641a9babd9272463c3b4d
  assignPlan(
    addonsQuantity: [KeyValuePairGQLInputType]
    customerId: String!
    futureStart: IntervalGQLInputType
    infoFields: [CustomerInfoFieldGQLInputType]
    planCode: String!
    planQuantity: Long
    siteId: String!
  ): ResultGQLTypecfe75ff1b3a8440a89b6d992dc0dab3b
  cancelSubscription(
    immediateCancellation: Boolean
    planSubscriptionId: String!
    siteId: String!
  ): ResultGQLType
  changeDefaultPaymentMethod(
    customerId: String!
    paymentMethodId: String!
    siteId: String!
  ): ResultGQLType
  createCoupon(
    code: String!
    coupon: CouponGQLInputType!
    quantity: Int!
    siteId: String!
  ): ResultGQLType4b3883e3232d466e8acc0f2cd080a845
  createCustomer(
    customer: CustomerGQLInputType!
    siteId: String!
  ): ResultGQLType4306551e530440c8ac71348e59388f3c
  createDraftFromInvoice(
    draftFromInvoice: DraftFromInvoiceGQLInputType!
    siteId: String!
  ): ResultGQLType65076808f9df41c6bb534ac5ea504560
  createDraftInvoice(
    draftInvoice: DraftInvoiceGQLInputType!
    siteId: String!
  ): ResultGQLType65076808f9df41c6bb534ac5ea504560
  createDunningProfile(
    dunningProfile: DunningProfileGQLInputType!
    siteId: String!
  ): ResultGQLTyped0e53323dc384f5eb8d807f9d085ffae
  createInvoiceFromDraft(
    invoiceFromDraft: InvoiceFromDraftGQLInputType!
    siteId: String!
  ): ResultGQLTypeb1aa3e437ceb4703bd09f5a11a056f89
  createInvoiceMutation(
    customerId: String!
    invoice: InvoiceGQLInputType!
    siteId: String!
  ): ResultGQLTypeb1aa3e437ceb4703bd09f5a11a056f89
  createPaymentLink(
    paymentLink: PaymentLinkGQLInputType!
    siteId: String!
  ): ResultGQLType7b738cdc41e94a17849ec995954e1505
  createPaymentSchedule(
    customerId: String!
    paymentSchedule: PaymentScheduleGQLInputType!
    siteId: String!
  ): ResultGQLTypec6f2f2a0d9684c0980a23bfc9aa05764
  createPaymentScheduleFromTemplate(
    paymentScheduleFromTemplate: PaymentScheduleFromTemplateGQLInputType!
    siteId: String!
  ): ResultGQLTypec6f2f2a0d9684c0980a23bfc9aa05764
  createPaymentScheduleTemplate(
    paymentScheduleTemplate: PaymentScheduleTemplateGQLInputType!
    siteId: String!
  ): ResultGQLType4932be78152a4c26b0aaba8b30a5859c
  createPlan(plan: PlanGQLInputType!, siteId: String!): PlanResultGQLType
  createScheduledPayment(
    paymentScheduleId: String!
    scheduledPayment: ScheduledPaymentGQLInputType!
    siteId: String!
  ): ResultGQLType
  deleteCoupon(couponId: String!, siteId: String!): ResultGQLType
  deleteDraftInvoice(draftInvoiceId: String!, siteId: String!): ResultGQLType
  deletePaymentScheduleTemplate(
    paymentScheduleTemplateId: String!
    siteId: String!
  ): ResultGQLType
  deleteScheduledPayment(
    paymentScheduleId: String!
    scheduledPaymentId: String!
    siteId: String!
  ): ResultGQLType
  deleteScheduledPaymentList(
    ids: [String]!
    paymentScheduleId: String!
    siteId: String!
  ): ResultGQLType
  markInvoiceAsPaid(
    invoiceId: String!
    siteId: String!
    sitePaymentMethodId: String!
  ): ResultGQLType
  markScheduledPaymentAsPaid(
    paymentScheduleId: String!
    scheduledPaymentId: String!
    siteId: String!
  ): ResultGQLType
  markScheduledPaymentListAsPaid(
    ids: [String]!
    paymentScheduleId: String!
    siteId: String!
  ): ResultGQLType
  moveSubscription(
    customerId: String!
    planCode: String!
    planSubscriptionId: String!
    siteId: String!
  ): ResultGQLTypee059ba16520f4277ae140a82adb7ea5e
  pauseSubscription(
    planSubscription: PauseSubscriptionGQLInputType!
  ): ResultGQLType
  pauseSubscriptionWithInterval(
    planSubscription: PauseSubscriptionGQLInputType!
  ): ResultGQLType
  pushInvoice(
    category: String!
    invoiceId: String!
    siteId: String!
  ): ResultGQLType
  reactivateSubscription(
    planSubscriptionId: String!
    siteId: String!
  ): ResultGQLType
  regenerateApiSecret(
    siteId: String!
  ): ResultGQLType1be1a8b83cd8455b8f867e033ea2b3be
  regenerateWebhookSecret(
    siteId: String!
  ): ResultGQLType1be1a8b83cd8455b8f867e033ea2b3be
  removeCouponCodes(ids: [String]!, siteId: String!): ResultGQLType
  removeDiscountFromInvoice(
    amount: Decimal!
    invoiceId: String!
    siteId: String!
  ): ResultGQLType
  removeFreeAddonSubscriptionMutation(
    addonSubscription: RemoveAddonSubscriptionGQLInputType!
  ): ResultGQLType
  removePaymentMethod(
    customerId: String!
    paymentMethodId: String!
    siteId: String!
  ): ResultGQLType
  requestPaymentInvoice(
    invoiceId: String!
    paymentMethodId: String
    siteId: String!
  ): ResultGQLType
  resumeSubscription(
    planSubscriptionId: String!
    siteId: String!
  ): ResultGQLType
  sendInvoicePaymentLink(invoiceId: String!, siteId: String!): ResultGQLType
  suspendSubscription(
    planSubscriptionId: String!
    siteId: String!
  ): ResultGQLType
  updateCoupon(coupon: CouponGQLInputType!, siteId: String!): ResultGQLType
  updateCustomFields(
    customFields: [KeyValuePairGQLInputType]
    customerId: String!
    siteId: String!
  ): ResultGQLType
  updateCustomerId(
    customerId: String!
    newCustomerId: String!
    siteId: String!
  ): ResultGQLType1be1a8b83cd8455b8f867e033ea2b3be
  updateDraftInvoiceInfo(
    draftInvoice: DraftInvoiceGQLInputType!
    draftInvoiceId: String!
    siteId: String!
  ): ResultGQLType
  updateDunningProfile(
    dunningProfile: DunningProfileGQLInputType!
    dunningProfileId: String!
    siteId: String!
  ): ResultGQLTyped0e53323dc384f5eb8d807f9d085ffae
  updateFreeAddonSubscriptions(
    addonSubscriptions: AddonSubscriptionsGQLInputType!
  ): ResultGQLType
  updateInfoFields(
    customerId: String!
    infoFields: [CustomerInfoFieldGQLInputType]!
    siteId: String!
  ): ResultGQLType
  updateIntegration(integration: SiteIntegrationGQLInputType!): ResultGQLType
  updateInvoiceDiscounts(
    amounts: [Decimal]!
    invoiceId: String!
    siteId: String!
  ): ResultGQLType
  updateInvoiceNarrative(
    comments: String
    footer: String
    header: String
    invoiceId: String!
    siteId: String!
  ): ResultGQLType
  updatePaymentScheduleDunningProfile(
    dunningProfileId: String!
    paymentScheduleId: String!
    siteId: String!
  ): ResultGQLType
  updatePaymentSchedulePaymentMethod(
    paymentMethod: PaymentMethodGQLInputType!
    paymentScheduleId: String!
    siteId: String!
  ): ResultGQLType
  updatePaymentScheduleTemplate(
    paymentScheduleTemplate: PaymentScheduleTemplateGQLInputType!
    siteId: String!
  ): ResultGQLType4932be78152a4c26b0aaba8b30a5859c
  updatePlan(plan: PlanGQLInputType!, siteId: String!): PlanResultGQLType
  updateScheduledPayment(
    paymentScheduleId: String!
    scheduledPayment: ScheduledPaymentGQLInputType!
    scheduledPaymentId: String!
    siteId: String!
  ): ResultGQLType
  updateSetting(setting: SettingGQLInputType!, siteId: String!): ResultGQLType
  updateSitePaymentProvider(
    siteId: String!
    sitePaymentProvider: SitePaymentProviderGQLInputType!
  ): ResultGQLType
  updateSubscriptionEvent(
    eventAction: SubscriptionEventGQLInputType!
    siteSubscriptionEventId: Guid!
  ): ResultGQLType
  voidInvoice(invoiceId: String!, siteId: String!): ResultGQLType
}

GQL Queries

type GQLQueries {
  addons(
    filter: FilterGQLInputType
    pagination: PaginationGQLInputType
    siteId: String!
    sorting: [SortingGQLInputType]
  ): PaginationResultGQLType0874f28567e948b0a8bcdf3628602f1e
  availableActions(
    siteId: String!
  ): ResultGQLType748ba8af4e3a4160ba641ee90aa328e6
  availableSubscriptionEvents(
    siteId: String!
  ): [AvailableSubscriptionEventGQLType]
  base64ImageFromUrl(
    url: String!
  ): ResultGQLType1be1a8b83cd8455b8f867e033ea2b3be
  billingCycles(
    filter: FilterGQLInputType
    pagination: PaginationGQLInputType
    siteId: String!
    sorting: [SortingGQLInputType]
  ): PaginationResultGQLType3938784f9170448bb25b9901218d967c
  checkSiteIntegrationAvailability(
    integrationCategory: String!
    siteId: String!
  ): ResultGQLType
  coupon(couponId: String!, siteId: String!): CouponGQLType
  coupons(
    filter: FilterGQLInputType
    pagination: PaginationGQLInputType
    siteId: String!
    sorting: [SortingGQLInputType]
  ): PaginationResultGQLType08bc0859a23948b3b054560c66d9f09e
  currencySettings(siteId: String!): SettingGQLType
  customer(customerId: String!, siteId: String!): CustomerGQLType
  customerByEmail(email: String!, siteId: String!): CustomerGQLType
  customerOperationJwt(
    customerId: String!
    operation: String!
    siteId: String!
    subscriptionId: String
  ): ResultGQLType1be1a8b83cd8455b8f867e033ea2b3be
  customers(
    filter: FilterGQLInputType
    pagination: PaginationGQLInputType
    siteId: String!
    sorting: [SortingGQLInputType]
  ): PaginationResultGQLTypeebe46cd79bb4428b9282ad9c4031ff72
  downloadTaxInvoice(
    invoiceId: String!
    siteId: String!
  ): ResultGQLType497a2129e04348ab8486934cf1f8015b
  draftInvoice(draftInvoiceId: String!, siteId: String!): DraftInvoiceGQLType
  draftInvoices(
    filter: FilterGQLInputType
    pagination: PaginationGQLInputType
    siteId: String!
    sorting: [SortingGQLInputType]
  ): PaginationResultGQLTypedbb21c5c4f374ecf8461d62b13f55388
  dunningProfile(
    dunningProfileId: String!
    siteId: String!
  ): DunningProfileGQLType
  dunningProfiles(
    filter: FilterGQLInputType
    pagination: PaginationGQLInputType
    siteId: String!
    sorting: [SortingGQLInputType]
  ): PaginationResultGQLType53fbf317c5d14e4e915d18fb429f9c9c
  getApiSecret(siteId: String!): ResultGQLType1be1a8b83cd8455b8f867e033ea2b3be
  getSiteManualPaymentMethods(siteId: String!): [SitePaymentMethodGQLType]
  getSitePaymentMethods(siteId: String!): [SitePaymentMethodGQLType]
  globalSettings(ids: [String]): [GlobalSettingGQLType]
  integrationAuthUrl(
    integrationId: String!
    siteId: String!
  ): ResultGQLType1be1a8b83cd8455b8f867e033ea2b3be
  integrations(category: String, siteId: String!): [SiteIntegrationGQLType]
  invoice(invoiceId: String!, siteId: String!): InvoiceGQLType
  invoices(
    filter: FilterGQLInputType
    pagination: PaginationGQLInputType
    siteId: String!
    sorting: [SortingGQLInputType]
  ): PaginationResultGQLType06feb6d3a79444ea98fbde354b499427
  invoicesById(
    ids: [String]!
    pagination: PaginationGQLInputType
    siteId: String!
    sorting: [SortingGQLInputType]
  ): PaginationResultGQLType06feb6d3a79444ea98fbde354b499427
  paymentLink(paymentLinkId: String!, siteId: String!): PaymentLinkGQLType
  paymentLinks(
    filter: FilterGQLInputType
    pagination: PaginationGQLInputType
    siteId: String!
    sorting: [SortingGQLInputType]
  ): PaginationResultGQLType95c9038d28fb4cc48e9db6fb7464cb1b
  paymentSchedule(
    paymentScheduleId: String!
    siteId: String!
  ): PaymentScheduleGQLType
  paymentScheduleTemplate(
    paymentScheduleTemplateId: String!
    siteId: String!
  ): PaymentScheduleTemplateGQLType
  paymentScheduleTemplates(
    filter: FilterGQLInputType
    pagination: PaginationGQLInputType
    siteId: String!
    sorting: [SortingGQLInputType]
  ): PaginationResultGQLType967f9859384f4017879c4c3d231a466e
  paymentSchedules(
    filter: FilterGQLInputType
    pagination: PaginationGQLInputType
    siteId: String!
    sorting: [SortingGQLInputType]
  ): PaginationResultGQLTypec00d65a194934ac3af34228efc3ab276
  paymentSchedulesById(
    ids: [String]!
    pagination: PaginationGQLInputType
    siteId: String!
    sorting: [SortingGQLInputType]
  ): PaginationResultGQLTypec00d65a194934ac3af34228efc3ab276
  plan(planCode: String!, siteId: String!): PlanGQLType
  plans(
    filter: FilterGQLInputType
    pagination: PaginationGQLInputType
    siteId: String!
    sorting: [SortingGQLInputType]
  ): PaginationResultGQLTypeafc1347f06cd44a5aaff5b461c6a3408
  portalSettings(url: String!): SettingGQLType
  queryUsage(
    siteId: String!
    subscriptionId: String!
    utcEndDate: DateTime!
    utcStartDate: DateTime!
  ): ResultGQLTypefbd4317feb214b0ca2497aa49d0bea41
  settings(settings: [String], siteId: String!): [SettingGQLType]
  siteInfo(siteId: String!): ResultGQLType2694f0607e6e494eb2cb69191a9f5301
  siteIntegration(
    integrationId: String!
    siteId: String!
  ): SiteIntegrationGQLType
  sitePaymentProviders(siteId: String!): [SitePaymentProviderGQLType]
  siteStatus(
    integrationId: String!
    siteId: String!
  ): ResultGQLType20552225696d4dc1a71c4df6632a93c1
  subscriptionEvents(
    filter: FilterGQLInputType
    pagination: PaginationGQLInputType
    siteId: String!
    sorting: [SortingGQLInputType]
  ): PaginationResultGQLType14b1b90cbac7463c9699b3a97fe214fd
  transaction(siteId: String!, transactionId: String!): TransactionGQLType
  transactions(
    filter: FilterGQLInputType
    pagination: PaginationGQLInputType
    siteId: String!
    sorting: [SortingGQLInputType]
  ): PaginationResultGQLType6dc8a291090f44afa9b0277b654de367
  verifyChatMessagingSettings(
    apiSettings: String!
    clientName: String!
    siteId: String!
    to: String!
  ): ResultGQLType
  verifyEmailSettings(
    emailSettings: EmailSettingsGQLInputType!
    siteId: String!
    testEmail: String!
  ): ResultGQLType
  verifySmsSettings(
    apiSettings: String!
    clientName: String!
    siteId: String!
    testSms: String!
  ): ResultGQLType
  verifyUsageApi(
    siteId: String!
    usageQuery: UsageQueryGQLInputType!
  ): ResultGQLTypefbd4317feb214b0ca2497aa49d0bea41
  verifyWebhookSettings(
    siteId: String!
    subscriptionEventId: String!
    webhookSettings: SubscriptionEventActionWebhookGQLInputType!
  ): ResultGQLType
}

Customer

type CustomerGQLType {
  activePlan: String
  activities: [ActivityLogGQLType]
  address: AddressGQLType
  comment: String
  company: String
  customerId: String
  customFields: [KeyValuePairGQLType]
  emailAddress: String!
  firstJoined: DateTime
  firstName: String!
  fullName: String!
  id: ID
  infoFields: [CustomerInfoFieldGQLType]
  invoices: [InvoiceGQLType]
  lastName: String!
  lifeTimeRevenue: Decimal!
  lifeTimeRevenueCurrency: String!
  nextInvoiceOn: DateTime
  paymentMethods: [PaymentMethodGQLType]
  shippingAddress: AddressGQLType
  siteId: String!
  status: String!
  subscriptions: [SubscriptionGQLType]
  transactions: [TransactionGQLType]
}

Activity Log

type ActivityLogGQLType {
  displayText: String
  doneBy: ID
  id: String!
  timestamp: DateTime
}

Address

type AddressGQLType {
  city: String!
  countryCode: String!
  line1: String!
  line2: String!
  postalCode: String!
  province: String!
}

Key Value Pair

type KeyValuePairGQLType {
  key: String!
  value: String!
}

Customer Infofield

type CustomerInfoFieldGQLType {
  label: String!
  name: String!
  value: String!
}

Invoice

type InvoiceGQLType {
  billedOn: DateTime
  createdOn: DateTime
  dueOn: DateTime
  id: ID
  info: InvoiceInfoGQLType
  number: String
  siteId: String!
  status: String
}

Invoice Info

type InvoiceInfoGQLType {
  billingInfo: BillingInfoGQLType
  currency: String!
  discounts: [InvoiceSubtotalGQLType]
  extraFees: [InvoiceSubtotalGQLType]
  lineItems: [InvoiceLineItemGQLType]
  paymentDetails: String
  taxes: [InvoiceSubtotalGQLType]
  terms: String
}

Invoice Line Item

type InvoiceLineItemGQLType {
  end: Date
  item: String!
  order: Int!
  quantity: Decimal!
  start: Date!
  unitPrice: Decimal!
}

Invoice Subtotal

type InvoiceSubtotalGQLType {
  amount: Decimal!
  description: String!
  order: Int!
}

Payment Method

type PaymentMethodGQLType {
  billingInfo: BillingInfoGQLType
  displayText: String!
  isDefault: Boolean!
  type: String!
}

Plan

type PlanGQLType {
  accountingCode: String
  addOns: [AddOnGQLType]
  billingCycle: BillingCycleGQLType
  billingType: BillingType
  billingModel: BillingModel
  defaultCurrency: CurrencyGQLType
  description: String
  discountedFrom: Decimal
  displaySettings: String
  effectiveEndDate: DateTime
  effectiveStartDate: DateTime
  fixedPricing: FixedPricingGQLType
  hasActiveSubscribers: Boolean!
  hostedPageUrl: String!
  id: ID
  imageUrl: String
  invoiceName: String
  name: String!
  perUnitPricing: PerUnitPricingGQLType
  planCode: String!
  pricingModel: PricingModel
  productName: String
  setupFee: Decimal
  siteId: String!
  status: ActiveStatus
  trialPeriod: TrialPeriodSettingsGQLType
  variablePricing: VariablePricingGQLType
}

Addon

type AddOn {
  accountingCode: String
  billingCycle: BillingCycleGQLType
  billingType: BillingType
  billingModel: BillingModel
  currency: CurrencyGQLType
  description: String
  displaySettings: String
  fixedPricing: FixedPricingGQLType
  hasActiveSubscribers: Boolean!
  id: ID
  imageUrl: String
  invoiceName: String
  name: String!
  perUnitPricing: PerUnitPricingGQLType
  pricingModel: PricingModel
  siteId: String!
  status: ActiveStatus
  variablePricing: VariablePricingGQLType
}

Active Status

enum ActiveStatus {
  Active
  Inactive
}

Billing Cycle

type BillingCycleGQLType {
  duration: Int!
  termLimit: TermLimitGQLType
  unit: IntervalUnit
}

Billing Type

enum BillingType {
  OneTime
  Recurring
}

Currency

type CurrencyGQLType {
  code: String!
  displayText: String!
  symbol: String!
}

Pricing Model

enum PricingModel {
  Fixed
  PerUnit
  Variable
}

Fixed Pricing

type FixedPricingGQLType {
  price: Decimal!
  required: Boolean
}

PerUnit Pricing

type PerUnitPricingGQLType {
  freeQuantity: Int!
  pricePerUnit: Decimal!
  unit: String!
  unitsPerIncrement: Int!
}

Variable Pricing

type VariablePricingGQLType {
  tiers: [PricingTierGQLType]
  type: VariablePricingType
  unit: String
}

Pricing Tier

type PricingTierGQLType {
  from: Int!
  price: Decimal!
  to: Int
  unitsPerIncrement: Int!
}

Variable Pricing Type

enum VariablePricingType {
  Tiered
  Volume
  StairStep
}

Trial Period

type TrialPeriodSettingsGQLType {
  duration: Int!
  requiresCreditCard: Boolean!
  unit: IntervalUnit
}

Interval Unit

enum IntervalUnit {
  Day
  Week
  Month
  Quarter
  Year
}

Term Limit

type TermLimitGQLType {
  actionOnEnd: ActionOnTermEnd
  cycles: Int
}

Action On Term End

enum ActionOnTermEnd {
  Renew
  Cancel
}

Subscription

type SubscriptionGQLType {
  addOns: [AddOnSubscriptionGQLType]
  currency: String
  endedOn: DateTime
  id: String!
  plan: PlanGQLType
  quantity: Int
  siteId: String!
  startedOn: DateTime
  status: SubscriptionStatus
}

Addon Subscription

type AddOnSubscriptionGQLType {
  addOn: AddOnGQLType
  endedOn: DateTime
  id: String!
  movedTo: String
  quantity: Int
  startedOn: DateTime
  status: SubscriptionStatus
}

Subscription Status

enum SubscriptionStatus {
  InTrial
  Active
  FutureStartDate
  Paused
  NonRenewing
  Cancelled
  Moved
  Activating
  Pausing
  Cancelling
}

Transaction

type TransactionGQLType {
  amount: Decimal
  currency: String
  customer: CustomerGQLType
  gatewayResponse: String
  id: ID
  paymentMethod: PaymentMethodGQLType
  referenceNumber: String
  siteId: String!
  status: String
  timestamp: DateTime
  type: String
}

Payment Info

type PaymentInfoGQLType {
  paymentAttempts: [PaymentAttemptsGQLType]
}

Payment Attempts

type PaymentAttemptsGQLType {
    succeeded: Boolean!
    transactionId: String!
    utcTimestamp: DateTime!
    sitePaymentMethodId: String!

Pagination

type PaginationGQLType {
  page: Int
  perPage: Int
  totalRecords: Int
}

type PaginationGQLInputType {
  page: Int
  perPage: Int
}

Sorting

type SortingGQLInputType {
  field: String
  direction: String
}

Direction

enum Direction {
  Ascending
  Descending
}

Filtering

type FilterGQLInputType {
  field: String
  operator: String
  value: String
}

Operator

enum Operator {
  Equal
  GreaterThan
  GreaterThanOrEqual
  LessThan
  LessThanOrEqual
  Contains
  StartsWith
  EndsWith
}