{
  "service": "moonclerk",
  "displayName": "MoonClerk",
  "categories": [
    "Finance",
    "Productivity"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "MOONCLERK_API_KEY",
      "description": "MoonClerk API key used in the Authorization header as `Token token=[API Key]`. Generate and view it in MoonClerk settings: https://app.moonclerk.com/settings/api-key."
    }
  ],
  "homepageUrl": "https://moonclerk.com",
  "actions": [
    {
      "id": "moonclerk.get_customer",
      "service": "moonclerk",
      "name": "get_customer",
      "description": "Retrieve one MoonClerk customer by its numeric ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "minimum": 1,
            "description": "The MoonClerk numeric identifier."
          }
        },
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "description": "Input parameters for retrieving one MoonClerk customer."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "customer": {
            "type": "object",
            "properties": {
              "id": {
                "type": "integer",
                "minimum": 1,
                "description": "The MoonClerk numeric identifier."
              },
              "account_balance": {
                "type": "integer",
                "description": "The amount in cents as returned by MoonClerk."
              },
              "name": {
                "type": "string",
                "description": "The customer name."
              },
              "email": {
                "type": "string",
                "description": "The customer email address."
              },
              "payment_method": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "description": "The payment method type, such as card."
                      },
                      "last4": {
                        "type": "string",
                        "description": "The last four digits of the payment method."
                      },
                      "exp_month": {
                        "type": "integer",
                        "description": "The payment card expiration month."
                      },
                      "exp_year": {
                        "type": "integer",
                        "description": "The payment card expiration year."
                      },
                      "brand": {
                        "type": "string",
                        "description": "The payment card brand."
                      }
                    },
                    "additionalProperties": false,
                    "description": "The payment method details returned by MoonClerk."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "custom_id": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The custom ID supplied through MoonClerk integrations."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "customer_reference": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The related Stripe customer reference."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "discount": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "coupon": {
                        "type": "object",
                        "properties": {
                          "code": {
                            "type": "string",
                            "description": "The coupon code."
                          },
                          "duration": {
                            "type": "string",
                            "description": "The coupon duration type."
                          },
                          "amount_off": {
                            "anyOf": [
                              {
                                "type": "integer",
                                "description": "The amount in cents as returned by MoonClerk when a value exists."
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "currency": {
                            "anyOf": [
                              {
                                "type": "string",
                                "description": "The coupon currency."
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "percent_off": {
                            "anyOf": [
                              {
                                "type": "number",
                                "description": "The coupon percent discount when present."
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "duration_in_months": {
                            "anyOf": [
                              {
                                "type": "integer",
                                "description": "The number of months the coupon is active."
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "max_redemptions": {
                            "anyOf": [
                              {
                                "type": "integer",
                                "description": "The coupon redemption limit when present."
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "redeem_by": {
                            "anyOf": [
                              {
                                "type": "string",
                                "description": "The coupon redemption deadline in UTC.",
                                "format": "date-time"
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        },
                        "additionalProperties": false,
                        "description": "The coupon details returned by MoonClerk."
                      },
                      "starts_at": {
                        "anyOf": [
                          {
                            "type": "string",
                            "description": "The discount start timestamp in UTC.",
                            "format": "date-time"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "ends_at": {
                        "anyOf": [
                          {
                            "type": "string",
                            "description": "The discount end timestamp in UTC.",
                            "format": "date-time"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      }
                    },
                    "additionalProperties": false,
                    "description": "The discount details returned by MoonClerk."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "delinquent": {
                "type": "boolean",
                "description": "Whether the customer is currently delinquent."
              },
              "management_url": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The MoonClerk management URL for the customer."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "custom_fields": {
                "type": "object",
                "additionalProperties": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "The numeric custom field identifier."
                    },
                    "type": {
                      "type": "string",
                      "description": "The custom field type."
                    },
                    "response": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "A string custom field response."
                        },
                        {
                          "type": "object",
                          "properties": {
                            "line1": {
                              "type": "string",
                              "description": "The first address line."
                            },
                            "line2": {
                              "type": "string",
                              "description": "The second address line."
                            },
                            "city": {
                              "type": "string",
                              "description": "The address city."
                            },
                            "state": {
                              "type": "string",
                              "description": "The address state or region."
                            },
                            "postal_code": {
                              "type": "string",
                              "description": "The postal or ZIP code."
                            },
                            "country": {
                              "type": "string",
                              "description": "The country name."
                            }
                          },
                          "additionalProperties": false,
                          "description": "The address response stored in a MoonClerk custom field."
                        },
                        {
                          "anyOf": [
                            {
                              "type": "string",
                              "description": "A nullable string custom field response."
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "line1": {
                                  "type": "string",
                                  "description": "The first address line."
                                },
                                "line2": {
                                  "type": "string",
                                  "description": "The second address line."
                                },
                                "city": {
                                  "type": "string",
                                  "description": "The address city."
                                },
                                "state": {
                                  "type": "string",
                                  "description": "The address state or region."
                                },
                                "postal_code": {
                                  "type": "string",
                                  "description": "The postal or ZIP code."
                                },
                                "country": {
                                  "type": "string",
                                  "description": "The country name."
                                }
                              },
                              "additionalProperties": false,
                              "description": "The address response stored in a MoonClerk custom field."
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        {
                          "description": "An unmodeled custom field response."
                        }
                      ],
                      "description": "The custom field response value."
                    }
                  },
                  "additionalProperties": false,
                  "description": "One MoonClerk custom field response."
                },
                "description": "The custom fields returned for the customer."
              },
              "form_id": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The associated MoonClerk form ID."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "checkout": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "amount_due": {
                        "anyOf": [
                          {
                            "type": "integer",
                            "description": "The amount in cents as returned by MoonClerk when a value exists."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "coupon_amount": {
                        "anyOf": [
                          {
                            "type": "integer",
                            "description": "The amount in cents as returned by MoonClerk when a value exists."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "coupon_code": {
                        "anyOf": [
                          {
                            "type": "string",
                            "description": "The coupon code applied during checkout."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "date": {
                        "anyOf": [
                          {
                            "type": "string",
                            "description": "The checkout timestamp in UTC.",
                            "format": "date-time"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "fee": {
                        "anyOf": [
                          {
                            "type": "integer",
                            "description": "The amount in cents as returned by MoonClerk when a value exists."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "subtotal": {
                        "anyOf": [
                          {
                            "type": "integer",
                            "description": "The amount in cents as returned by MoonClerk when a value exists."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "token": {
                        "anyOf": [
                          {
                            "type": "string",
                            "description": "The MoonClerk checkout token."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "total": {
                        "anyOf": [
                          {
                            "type": "integer",
                            "description": "The amount in cents as returned by MoonClerk when a value exists."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "trial_period_days": {
                        "anyOf": [
                          {
                            "type": "integer",
                            "description": "The checkout trial period in days."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "upfront_amount": {
                        "anyOf": [
                          {
                            "type": "integer",
                            "description": "The amount in cents as returned by MoonClerk when a value exists."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      }
                    },
                    "additionalProperties": false,
                    "description": "The checkout details returned by MoonClerk."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "subscription": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "id": {
                        "anyOf": [
                          {
                            "type": "integer",
                            "description": "The MoonClerk subscription identifier."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "subscription_reference": {
                        "anyOf": [
                          {
                            "type": "string",
                            "description": "The related Stripe subscription reference."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "status": {
                        "anyOf": [
                          {
                            "type": "string",
                            "description": "The subscription status."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "start": {
                        "anyOf": [
                          {
                            "type": "string",
                            "description": "The subscription start timestamp in UTC.",
                            "format": "date-time"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "first_payment_attempt": {
                        "anyOf": [
                          {
                            "type": "string",
                            "description": "The first payment attempt timestamp in UTC.",
                            "format": "date-time"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "next_payment_attempt": {
                        "anyOf": [
                          {
                            "type": "string",
                            "description": "The next payment attempt timestamp in UTC.",
                            "format": "date-time"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "current_period_start": {
                        "anyOf": [
                          {
                            "type": "string",
                            "description": "The current billing period start in UTC.",
                            "format": "date-time"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "current_period_end": {
                        "anyOf": [
                          {
                            "type": "string",
                            "description": "The current billing period end in UTC.",
                            "format": "date-time"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "trial_start": {
                        "anyOf": [
                          {
                            "type": "string",
                            "description": "The trial start timestamp in UTC.",
                            "format": "date-time"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "trial_end": {
                        "anyOf": [
                          {
                            "type": "string",
                            "description": "The trial end timestamp in UTC.",
                            "format": "date-time"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "trial_period_days": {
                        "anyOf": [
                          {
                            "type": "integer",
                            "description": "The subscription trial period in days."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "expires_at": {
                        "anyOf": [
                          {
                            "type": "string",
                            "description": "The subscription expiry timestamp in UTC.",
                            "format": "date-time"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "canceled_at": {
                        "anyOf": [
                          {
                            "type": "string",
                            "description": "The subscription cancellation timestamp in UTC.",
                            "format": "date-time"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "ended_at": {
                        "anyOf": [
                          {
                            "type": "string",
                            "description": "The subscription end timestamp in UTC.",
                            "format": "date-time"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "plan": {
                        "anyOf": [
                          {
                            "type": "object",
                            "properties": {
                              "id": {
                                "anyOf": [
                                  {
                                    "type": "integer",
                                    "description": "The MoonClerk plan identifier."
                                  },
                                  {
                                    "type": "null"
                                  }
                                ]
                              },
                              "plan_reference": {
                                "anyOf": [
                                  {
                                    "type": "string",
                                    "description": "The related Stripe plan reference."
                                  },
                                  {
                                    "type": "null"
                                  }
                                ]
                              },
                              "amount": {
                                "anyOf": [
                                  {
                                    "type": "integer",
                                    "description": "The amount in cents as returned by MoonClerk when a value exists."
                                  },
                                  {
                                    "type": "null"
                                  }
                                ]
                              },
                              "amount_description": {
                                "anyOf": [
                                  {
                                    "type": "string",
                                    "description": "The plan amount description."
                                  },
                                  {
                                    "type": "null"
                                  }
                                ]
                              },
                              "currency": {
                                "anyOf": [
                                  {
                                    "type": "string",
                                    "description": "The plan currency."
                                  },
                                  {
                                    "type": "null"
                                  }
                                ]
                              },
                              "interval": {
                                "anyOf": [
                                  {
                                    "type": "string",
                                    "description": "The billing interval."
                                  },
                                  {
                                    "type": "null"
                                  }
                                ]
                              },
                              "interval_count": {
                                "anyOf": [
                                  {
                                    "type": "integer",
                                    "description": "The billing interval count."
                                  },
                                  {
                                    "type": "null"
                                  }
                                ]
                              }
                            },
                            "additionalProperties": false,
                            "description": "The subscription plan details returned by MoonClerk."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      }
                    },
                    "additionalProperties": false,
                    "description": "The subscription details returned by MoonClerk."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false,
            "required": [
              "id"
            ],
            "description": "The MoonClerk customer object."
          }
        },
        "additionalProperties": false,
        "required": [
          "customer"
        ],
        "description": "The MoonClerk customer detail response."
      }
    },
    {
      "id": "moonclerk.get_form",
      "service": "moonclerk",
      "name": "get_form",
      "description": "Retrieve one MoonClerk payment form by its numeric ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "minimum": 1,
            "description": "The MoonClerk numeric identifier."
          }
        },
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "description": "Input parameters for retrieving one MoonClerk form."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "form": {
            "type": "object",
            "properties": {
              "id": {
                "type": "integer",
                "minimum": 1,
                "description": "The MoonClerk numeric identifier."
              },
              "title": {
                "type": "string",
                "description": "The MoonClerk form title."
              },
              "access_token": {
                "type": "string",
                "description": "The public access token for the form."
              },
              "currency": {
                "type": "string",
                "description": "The form currency."
              },
              "payment_volume": {
                "type": "integer",
                "description": "The amount in cents as returned by MoonClerk."
              },
              "successful_checkout_count": {
                "type": "integer",
                "description": "The number of successful checkouts for the form."
              },
              "created_at": {
                "type": "string",
                "description": "The form creation timestamp in UTC.",
                "format": "date-time"
              },
              "updated_at": {
                "type": "string",
                "description": "The form last update timestamp in UTC.",
                "format": "date-time"
              }
            },
            "additionalProperties": false,
            "required": [
              "id",
              "title"
            ],
            "description": "The MoonClerk form object."
          }
        },
        "additionalProperties": false,
        "required": [
          "form"
        ],
        "description": "The MoonClerk form detail response."
      }
    },
    {
      "id": "moonclerk.get_payment",
      "service": "moonclerk",
      "name": "get_payment",
      "description": "Retrieve one MoonClerk payment by its numeric ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "minimum": 1,
            "description": "The MoonClerk numeric identifier."
          }
        },
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "description": "Input parameters for retrieving one MoonClerk payment."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "payment": {
            "type": "object",
            "properties": {
              "id": {
                "type": "integer",
                "minimum": 1,
                "description": "The MoonClerk numeric identifier."
              },
              "date": {
                "type": "string",
                "description": "The payment timestamp in UTC.",
                "format": "date-time"
              },
              "status": {
                "type": "string",
                "description": "The payment status."
              },
              "currency": {
                "type": "string",
                "description": "The payment currency."
              },
              "amount": {
                "type": "integer",
                "description": "The amount in cents as returned by MoonClerk."
              },
              "fee": {
                "type": "integer",
                "description": "The amount in cents as returned by MoonClerk."
              },
              "amount_refunded": {
                "type": "integer",
                "description": "The amount in cents as returned by MoonClerk."
              },
              "amount_description": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The payment amount description."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "name": {
                "type": "string",
                "description": "The payer name."
              },
              "email": {
                "type": "string",
                "description": "The payer email address."
              },
              "payment_method": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "description": "The payment method type, such as card."
                      },
                      "last4": {
                        "type": "string",
                        "description": "The last four digits of the payment method."
                      },
                      "exp_month": {
                        "type": "integer",
                        "description": "The payment card expiration month."
                      },
                      "exp_year": {
                        "type": "integer",
                        "description": "The payment card expiration year."
                      },
                      "brand": {
                        "type": "string",
                        "description": "The payment card brand."
                      }
                    },
                    "additionalProperties": false,
                    "description": "The payment method details returned by MoonClerk."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "charge_reference": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The related Stripe charge reference."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "customer_id": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The associated MoonClerk customer ID."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "customer_reference": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The related Stripe customer reference."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "invoice_reference": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The related Stripe invoice reference."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "custom_fields": {
                "type": "object",
                "additionalProperties": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "The numeric custom field identifier."
                    },
                    "type": {
                      "type": "string",
                      "description": "The custom field type."
                    },
                    "response": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "A string custom field response."
                        },
                        {
                          "type": "object",
                          "properties": {
                            "line1": {
                              "type": "string",
                              "description": "The first address line."
                            },
                            "line2": {
                              "type": "string",
                              "description": "The second address line."
                            },
                            "city": {
                              "type": "string",
                              "description": "The address city."
                            },
                            "state": {
                              "type": "string",
                              "description": "The address state or region."
                            },
                            "postal_code": {
                              "type": "string",
                              "description": "The postal or ZIP code."
                            },
                            "country": {
                              "type": "string",
                              "description": "The country name."
                            }
                          },
                          "additionalProperties": false,
                          "description": "The address response stored in a MoonClerk custom field."
                        },
                        {
                          "anyOf": [
                            {
                              "type": "string",
                              "description": "A nullable string custom field response."
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "line1": {
                                  "type": "string",
                                  "description": "The first address line."
                                },
                                "line2": {
                                  "type": "string",
                                  "description": "The second address line."
                                },
                                "city": {
                                  "type": "string",
                                  "description": "The address city."
                                },
                                "state": {
                                  "type": "string",
                                  "description": "The address state or region."
                                },
                                "postal_code": {
                                  "type": "string",
                                  "description": "The postal or ZIP code."
                                },
                                "country": {
                                  "type": "string",
                                  "description": "The country name."
                                }
                              },
                              "additionalProperties": false,
                              "description": "The address response stored in a MoonClerk custom field."
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        {
                          "description": "An unmodeled custom field response."
                        }
                      ],
                      "description": "The custom field response value."
                    }
                  },
                  "additionalProperties": false,
                  "description": "One MoonClerk custom field response."
                },
                "description": "The custom fields returned for the payment."
              },
              "form_id": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The associated MoonClerk form ID."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "custom_id": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The custom ID supplied through MoonClerk integrations."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "checkout": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "amount_due": {
                        "anyOf": [
                          {
                            "type": "integer",
                            "description": "The amount in cents as returned by MoonClerk when a value exists."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "coupon_amount": {
                        "anyOf": [
                          {
                            "type": "integer",
                            "description": "The amount in cents as returned by MoonClerk when a value exists."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "coupon_code": {
                        "anyOf": [
                          {
                            "type": "string",
                            "description": "The coupon code applied during checkout."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "date": {
                        "anyOf": [
                          {
                            "type": "string",
                            "description": "The checkout timestamp in UTC.",
                            "format": "date-time"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "fee": {
                        "anyOf": [
                          {
                            "type": "integer",
                            "description": "The amount in cents as returned by MoonClerk when a value exists."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "subtotal": {
                        "anyOf": [
                          {
                            "type": "integer",
                            "description": "The amount in cents as returned by MoonClerk when a value exists."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "token": {
                        "anyOf": [
                          {
                            "type": "string",
                            "description": "The MoonClerk checkout token."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "total": {
                        "anyOf": [
                          {
                            "type": "integer",
                            "description": "The amount in cents as returned by MoonClerk when a value exists."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "trial_period_days": {
                        "anyOf": [
                          {
                            "type": "integer",
                            "description": "The checkout trial period in days."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "upfront_amount": {
                        "anyOf": [
                          {
                            "type": "integer",
                            "description": "The amount in cents as returned by MoonClerk when a value exists."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      }
                    },
                    "additionalProperties": false,
                    "description": "The checkout details returned by MoonClerk."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "coupon": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "code": {
                        "type": "string",
                        "description": "The coupon code."
                      },
                      "duration": {
                        "type": "string",
                        "description": "The coupon duration type."
                      },
                      "amount_off": {
                        "anyOf": [
                          {
                            "type": "integer",
                            "description": "The amount in cents as returned by MoonClerk when a value exists."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "currency": {
                        "anyOf": [
                          {
                            "type": "string",
                            "description": "The coupon currency."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "percent_off": {
                        "anyOf": [
                          {
                            "type": "number",
                            "description": "The coupon percent discount when present."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "duration_in_months": {
                        "anyOf": [
                          {
                            "type": "integer",
                            "description": "The number of months the coupon is active."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "max_redemptions": {
                        "anyOf": [
                          {
                            "type": "integer",
                            "description": "The coupon redemption limit when present."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "redeem_by": {
                        "anyOf": [
                          {
                            "type": "string",
                            "description": "The coupon redemption deadline in UTC.",
                            "format": "date-time"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      }
                    },
                    "additionalProperties": false,
                    "description": "The coupon details returned by MoonClerk."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false,
            "required": [
              "id"
            ],
            "description": "The MoonClerk payment object."
          }
        },
        "additionalProperties": false,
        "required": [
          "payment"
        ],
        "description": "The MoonClerk payment detail response."
      }
    },
    {
      "id": "moonclerk.list_customers",
      "service": "moonclerk",
      "name": "list_customers",
      "description": "List MoonClerk customers with official filters for form, checkout date, next payment date, and status.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The number of rows to return. MoonClerk accepts values from 1 to 100."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "The starting offset for pagination in the current result set."
          },
          "form_id": {
            "type": "integer",
            "minimum": 1,
            "description": "The MoonClerk numeric identifier."
          },
          "checkout_from": {
            "type": "string",
            "description": "The date in YYYY-MM-DD format required by MoonClerk.",
            "format": "date"
          },
          "checkout_to": {
            "type": "string",
            "description": "The date in YYYY-MM-DD format required by MoonClerk.",
            "format": "date"
          },
          "next_payment_from": {
            "type": "string",
            "description": "The date in YYYY-MM-DD format required by MoonClerk.",
            "format": "date"
          },
          "next_payment_to": {
            "type": "string",
            "description": "The date in YYYY-MM-DD format required by MoonClerk.",
            "format": "date"
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "canceled",
              "expired",
              "past_due",
              "pending",
              "unpaid"
            ],
            "description": "The MoonClerk customer subscription status filter."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for listing MoonClerk customers."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "customers": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer",
                  "minimum": 1,
                  "description": "The MoonClerk numeric identifier."
                },
                "account_balance": {
                  "type": "integer",
                  "description": "The amount in cents as returned by MoonClerk."
                },
                "name": {
                  "type": "string",
                  "description": "The customer name."
                },
                "email": {
                  "type": "string",
                  "description": "The customer email address."
                },
                "payment_method": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "description": "The payment method type, such as card."
                        },
                        "last4": {
                          "type": "string",
                          "description": "The last four digits of the payment method."
                        },
                        "exp_month": {
                          "type": "integer",
                          "description": "The payment card expiration month."
                        },
                        "exp_year": {
                          "type": "integer",
                          "description": "The payment card expiration year."
                        },
                        "brand": {
                          "type": "string",
                          "description": "The payment card brand."
                        }
                      },
                      "additionalProperties": false,
                      "description": "The payment method details returned by MoonClerk."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "custom_id": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The custom ID supplied through MoonClerk integrations."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "customer_reference": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The related Stripe customer reference."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "discount": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {
                        "coupon": {
                          "type": "object",
                          "properties": {
                            "code": {
                              "type": "string",
                              "description": "The coupon code."
                            },
                            "duration": {
                              "type": "string",
                              "description": "The coupon duration type."
                            },
                            "amount_off": {
                              "anyOf": [
                                {
                                  "type": "integer",
                                  "description": "The amount in cents as returned by MoonClerk when a value exists."
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "currency": {
                              "anyOf": [
                                {
                                  "type": "string",
                                  "description": "The coupon currency."
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "percent_off": {
                              "anyOf": [
                                {
                                  "type": "number",
                                  "description": "The coupon percent discount when present."
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "duration_in_months": {
                              "anyOf": [
                                {
                                  "type": "integer",
                                  "description": "The number of months the coupon is active."
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "max_redemptions": {
                              "anyOf": [
                                {
                                  "type": "integer",
                                  "description": "The coupon redemption limit when present."
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "redeem_by": {
                              "anyOf": [
                                {
                                  "type": "string",
                                  "description": "The coupon redemption deadline in UTC.",
                                  "format": "date-time"
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            }
                          },
                          "additionalProperties": false,
                          "description": "The coupon details returned by MoonClerk."
                        },
                        "starts_at": {
                          "anyOf": [
                            {
                              "type": "string",
                              "description": "The discount start timestamp in UTC.",
                              "format": "date-time"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "ends_at": {
                          "anyOf": [
                            {
                              "type": "string",
                              "description": "The discount end timestamp in UTC.",
                              "format": "date-time"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        }
                      },
                      "additionalProperties": false,
                      "description": "The discount details returned by MoonClerk."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "delinquent": {
                  "type": "boolean",
                  "description": "Whether the customer is currently delinquent."
                },
                "management_url": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The MoonClerk management URL for the customer."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "custom_fields": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "The numeric custom field identifier."
                      },
                      "type": {
                        "type": "string",
                        "description": "The custom field type."
                      },
                      "response": {
                        "anyOf": [
                          {
                            "type": "string",
                            "description": "A string custom field response."
                          },
                          {
                            "type": "object",
                            "properties": {
                              "line1": {
                                "type": "string",
                                "description": "The first address line."
                              },
                              "line2": {
                                "type": "string",
                                "description": "The second address line."
                              },
                              "city": {
                                "type": "string",
                                "description": "The address city."
                              },
                              "state": {
                                "type": "string",
                                "description": "The address state or region."
                              },
                              "postal_code": {
                                "type": "string",
                                "description": "The postal or ZIP code."
                              },
                              "country": {
                                "type": "string",
                                "description": "The country name."
                              }
                            },
                            "additionalProperties": false,
                            "description": "The address response stored in a MoonClerk custom field."
                          },
                          {
                            "anyOf": [
                              {
                                "type": "string",
                                "description": "A nullable string custom field response."
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          {
                            "anyOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "line1": {
                                    "type": "string",
                                    "description": "The first address line."
                                  },
                                  "line2": {
                                    "type": "string",
                                    "description": "The second address line."
                                  },
                                  "city": {
                                    "type": "string",
                                    "description": "The address city."
                                  },
                                  "state": {
                                    "type": "string",
                                    "description": "The address state or region."
                                  },
                                  "postal_code": {
                                    "type": "string",
                                    "description": "The postal or ZIP code."
                                  },
                                  "country": {
                                    "type": "string",
                                    "description": "The country name."
                                  }
                                },
                                "additionalProperties": false,
                                "description": "The address response stored in a MoonClerk custom field."
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          {
                            "description": "An unmodeled custom field response."
                          }
                        ],
                        "description": "The custom field response value."
                      }
                    },
                    "additionalProperties": false,
                    "description": "One MoonClerk custom field response."
                  },
                  "description": "The custom fields returned for the customer."
                },
                "form_id": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "The associated MoonClerk form ID."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "checkout": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {
                        "amount_due": {
                          "anyOf": [
                            {
                              "type": "integer",
                              "description": "The amount in cents as returned by MoonClerk when a value exists."
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "coupon_amount": {
                          "anyOf": [
                            {
                              "type": "integer",
                              "description": "The amount in cents as returned by MoonClerk when a value exists."
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "coupon_code": {
                          "anyOf": [
                            {
                              "type": "string",
                              "description": "The coupon code applied during checkout."
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "date": {
                          "anyOf": [
                            {
                              "type": "string",
                              "description": "The checkout timestamp in UTC.",
                              "format": "date-time"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "fee": {
                          "anyOf": [
                            {
                              "type": "integer",
                              "description": "The amount in cents as returned by MoonClerk when a value exists."
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "subtotal": {
                          "anyOf": [
                            {
                              "type": "integer",
                              "description": "The amount in cents as returned by MoonClerk when a value exists."
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "token": {
                          "anyOf": [
                            {
                              "type": "string",
                              "description": "The MoonClerk checkout token."
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "total": {
                          "anyOf": [
                            {
                              "type": "integer",
                              "description": "The amount in cents as returned by MoonClerk when a value exists."
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "trial_period_days": {
                          "anyOf": [
                            {
                              "type": "integer",
                              "description": "The checkout trial period in days."
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "upfront_amount": {
                          "anyOf": [
                            {
                              "type": "integer",
                              "description": "The amount in cents as returned by MoonClerk when a value exists."
                            },
                            {
                              "type": "null"
                            }
                          ]
                        }
                      },
                      "additionalProperties": false,
                      "description": "The checkout details returned by MoonClerk."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "subscription": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {
                        "id": {
                          "anyOf": [
                            {
                              "type": "integer",
                              "description": "The MoonClerk subscription identifier."
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "subscription_reference": {
                          "anyOf": [
                            {
                              "type": "string",
                              "description": "The related Stripe subscription reference."
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "status": {
                          "anyOf": [
                            {
                              "type": "string",
                              "description": "The subscription status."
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "start": {
                          "anyOf": [
                            {
                              "type": "string",
                              "description": "The subscription start timestamp in UTC.",
                              "format": "date-time"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "first_payment_attempt": {
                          "anyOf": [
                            {
                              "type": "string",
                              "description": "The first payment attempt timestamp in UTC.",
                              "format": "date-time"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "next_payment_attempt": {
                          "anyOf": [
                            {
                              "type": "string",
                              "description": "The next payment attempt timestamp in UTC.",
                              "format": "date-time"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "current_period_start": {
                          "anyOf": [
                            {
                              "type": "string",
                              "description": "The current billing period start in UTC.",
                              "format": "date-time"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "current_period_end": {
                          "anyOf": [
                            {
                              "type": "string",
                              "description": "The current billing period end in UTC.",
                              "format": "date-time"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "trial_start": {
                          "anyOf": [
                            {
                              "type": "string",
                              "description": "The trial start timestamp in UTC.",
                              "format": "date-time"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "trial_end": {
                          "anyOf": [
                            {
                              "type": "string",
                              "description": "The trial end timestamp in UTC.",
                              "format": "date-time"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "trial_period_days": {
                          "anyOf": [
                            {
                              "type": "integer",
                              "description": "The subscription trial period in days."
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "expires_at": {
                          "anyOf": [
                            {
                              "type": "string",
                              "description": "The subscription expiry timestamp in UTC.",
                              "format": "date-time"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "canceled_at": {
                          "anyOf": [
                            {
                              "type": "string",
                              "description": "The subscription cancellation timestamp in UTC.",
                              "format": "date-time"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "ended_at": {
                          "anyOf": [
                            {
                              "type": "string",
                              "description": "The subscription end timestamp in UTC.",
                              "format": "date-time"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "plan": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "anyOf": [
                                    {
                                      "type": "integer",
                                      "description": "The MoonClerk plan identifier."
                                    },
                                    {
                                      "type": "null"
                                    }
                                  ]
                                },
                                "plan_reference": {
                                  "anyOf": [
                                    {
                                      "type": "string",
                                      "description": "The related Stripe plan reference."
                                    },
                                    {
                                      "type": "null"
                                    }
                                  ]
                                },
                                "amount": {
                                  "anyOf": [
                                    {
                                      "type": "integer",
                                      "description": "The amount in cents as returned by MoonClerk when a value exists."
                                    },
                                    {
                                      "type": "null"
                                    }
                                  ]
                                },
                                "amount_description": {
                                  "anyOf": [
                                    {
                                      "type": "string",
                                      "description": "The plan amount description."
                                    },
                                    {
                                      "type": "null"
                                    }
                                  ]
                                },
                                "currency": {
                                  "anyOf": [
                                    {
                                      "type": "string",
                                      "description": "The plan currency."
                                    },
                                    {
                                      "type": "null"
                                    }
                                  ]
                                },
                                "interval": {
                                  "anyOf": [
                                    {
                                      "type": "string",
                                      "description": "The billing interval."
                                    },
                                    {
                                      "type": "null"
                                    }
                                  ]
                                },
                                "interval_count": {
                                  "anyOf": [
                                    {
                                      "type": "integer",
                                      "description": "The billing interval count."
                                    },
                                    {
                                      "type": "null"
                                    }
                                  ]
                                }
                              },
                              "additionalProperties": false,
                              "description": "The subscription plan details returned by MoonClerk."
                            },
                            {
                              "type": "null"
                            }
                          ]
                        }
                      },
                      "additionalProperties": false,
                      "description": "The subscription details returned by MoonClerk."
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              },
              "additionalProperties": false,
              "required": [
                "id"
              ],
              "description": "The MoonClerk customer object."
            },
            "description": "The customers returned by MoonClerk."
          }
        },
        "additionalProperties": false,
        "required": [
          "customers"
        ],
        "description": "The MoonClerk customers list response."
      }
    },
    {
      "id": "moonclerk.list_forms",
      "service": "moonclerk",
      "name": "list_forms",
      "description": "List MoonClerk payment forms with official pagination parameters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The number of rows to return. MoonClerk accepts values from 1 to 100."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "The starting offset for pagination in the current result set."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for listing MoonClerk forms."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "forms": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer",
                  "minimum": 1,
                  "description": "The MoonClerk numeric identifier."
                },
                "title": {
                  "type": "string",
                  "description": "The MoonClerk form title."
                },
                "access_token": {
                  "type": "string",
                  "description": "The public access token for the form."
                },
                "currency": {
                  "type": "string",
                  "description": "The form currency."
                },
                "payment_volume": {
                  "type": "integer",
                  "description": "The amount in cents as returned by MoonClerk."
                },
                "successful_checkout_count": {
                  "type": "integer",
                  "description": "The number of successful checkouts for the form."
                },
                "created_at": {
                  "type": "string",
                  "description": "The form creation timestamp in UTC.",
                  "format": "date-time"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The form last update timestamp in UTC.",
                  "format": "date-time"
                }
              },
              "additionalProperties": false,
              "required": [
                "id",
                "title"
              ],
              "description": "The MoonClerk form object."
            },
            "description": "The forms returned by MoonClerk."
          }
        },
        "additionalProperties": false,
        "required": [
          "forms"
        ],
        "description": "The MoonClerk forms list response."
      }
    },
    {
      "id": "moonclerk.list_payments",
      "service": "moonclerk",
      "name": "list_payments",
      "description": "List MoonClerk payments with official filters for form, customer, payment date, and status.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The number of rows to return. MoonClerk accepts values from 1 to 100."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "The starting offset for pagination in the current result set."
          },
          "form_id": {
            "type": "integer",
            "minimum": 1,
            "description": "The MoonClerk numeric identifier."
          },
          "customer_id": {
            "type": "integer",
            "minimum": 1,
            "description": "The MoonClerk numeric identifier."
          },
          "date_from": {
            "type": "string",
            "description": "The date in YYYY-MM-DD format required by MoonClerk.",
            "format": "date"
          },
          "date_to": {
            "type": "string",
            "description": "The date in YYYY-MM-DD format required by MoonClerk.",
            "format": "date"
          },
          "status": {
            "type": "string",
            "enum": [
              "successful",
              "refunded",
              "failed"
            ],
            "description": "The MoonClerk payment status filter."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for listing MoonClerk payments."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "payments": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer",
                  "minimum": 1,
                  "description": "The MoonClerk numeric identifier."
                },
                "date": {
                  "type": "string",
                  "description": "The payment timestamp in UTC.",
                  "format": "date-time"
                },
                "status": {
                  "type": "string",
                  "description": "The payment status."
                },
                "currency": {
                  "type": "string",
                  "description": "The payment currency."
                },
                "amount": {
                  "type": "integer",
                  "description": "The amount in cents as returned by MoonClerk."
                },
                "fee": {
                  "type": "integer",
                  "description": "The amount in cents as returned by MoonClerk."
                },
                "amount_refunded": {
                  "type": "integer",
                  "description": "The amount in cents as returned by MoonClerk."
                },
                "amount_description": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The payment amount description."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "name": {
                  "type": "string",
                  "description": "The payer name."
                },
                "email": {
                  "type": "string",
                  "description": "The payer email address."
                },
                "payment_method": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "description": "The payment method type, such as card."
                        },
                        "last4": {
                          "type": "string",
                          "description": "The last four digits of the payment method."
                        },
                        "exp_month": {
                          "type": "integer",
                          "description": "The payment card expiration month."
                        },
                        "exp_year": {
                          "type": "integer",
                          "description": "The payment card expiration year."
                        },
                        "brand": {
                          "type": "string",
                          "description": "The payment card brand."
                        }
                      },
                      "additionalProperties": false,
                      "description": "The payment method details returned by MoonClerk."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "charge_reference": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The related Stripe charge reference."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "customer_id": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "The associated MoonClerk customer ID."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "customer_reference": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The related Stripe customer reference."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "invoice_reference": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The related Stripe invoice reference."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "custom_fields": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "The numeric custom field identifier."
                      },
                      "type": {
                        "type": "string",
                        "description": "The custom field type."
                      },
                      "response": {
                        "anyOf": [
                          {
                            "type": "string",
                            "description": "A string custom field response."
                          },
                          {
                            "type": "object",
                            "properties": {
                              "line1": {
                                "type": "string",
                                "description": "The first address line."
                              },
                              "line2": {
                                "type": "string",
                                "description": "The second address line."
                              },
                              "city": {
                                "type": "string",
                                "description": "The address city."
                              },
                              "state": {
                                "type": "string",
                                "description": "The address state or region."
                              },
                              "postal_code": {
                                "type": "string",
                                "description": "The postal or ZIP code."
                              },
                              "country": {
                                "type": "string",
                                "description": "The country name."
                              }
                            },
                            "additionalProperties": false,
                            "description": "The address response stored in a MoonClerk custom field."
                          },
                          {
                            "anyOf": [
                              {
                                "type": "string",
                                "description": "A nullable string custom field response."
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          {
                            "anyOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "line1": {
                                    "type": "string",
                                    "description": "The first address line."
                                  },
                                  "line2": {
                                    "type": "string",
                                    "description": "The second address line."
                                  },
                                  "city": {
                                    "type": "string",
                                    "description": "The address city."
                                  },
                                  "state": {
                                    "type": "string",
                                    "description": "The address state or region."
                                  },
                                  "postal_code": {
                                    "type": "string",
                                    "description": "The postal or ZIP code."
                                  },
                                  "country": {
                                    "type": "string",
                                    "description": "The country name."
                                  }
                                },
                                "additionalProperties": false,
                                "description": "The address response stored in a MoonClerk custom field."
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          {
                            "description": "An unmodeled custom field response."
                          }
                        ],
                        "description": "The custom field response value."
                      }
                    },
                    "additionalProperties": false,
                    "description": "One MoonClerk custom field response."
                  },
                  "description": "The custom fields returned for the payment."
                },
                "form_id": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "The associated MoonClerk form ID."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "custom_id": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The custom ID supplied through MoonClerk integrations."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "checkout": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {
                        "amount_due": {
                          "anyOf": [
                            {
                              "type": "integer",
                              "description": "The amount in cents as returned by MoonClerk when a value exists."
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "coupon_amount": {
                          "anyOf": [
                            {
                              "type": "integer",
                              "description": "The amount in cents as returned by MoonClerk when a value exists."
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "coupon_code": {
                          "anyOf": [
                            {
                              "type": "string",
                              "description": "The coupon code applied during checkout."
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "date": {
                          "anyOf": [
                            {
                              "type": "string",
                              "description": "The checkout timestamp in UTC.",
                              "format": "date-time"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "fee": {
                          "anyOf": [
                            {
                              "type": "integer",
                              "description": "The amount in cents as returned by MoonClerk when a value exists."
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "subtotal": {
                          "anyOf": [
                            {
                              "type": "integer",
                              "description": "The amount in cents as returned by MoonClerk when a value exists."
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "token": {
                          "anyOf": [
                            {
                              "type": "string",
                              "description": "The MoonClerk checkout token."
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "total": {
                          "anyOf": [
                            {
                              "type": "integer",
                              "description": "The amount in cents as returned by MoonClerk when a value exists."
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "trial_period_days": {
                          "anyOf": [
                            {
                              "type": "integer",
                              "description": "The checkout trial period in days."
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "upfront_amount": {
                          "anyOf": [
                            {
                              "type": "integer",
                              "description": "The amount in cents as returned by MoonClerk when a value exists."
                            },
                            {
                              "type": "null"
                            }
                          ]
                        }
                      },
                      "additionalProperties": false,
                      "description": "The checkout details returned by MoonClerk."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "coupon": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "description": "The coupon code."
                        },
                        "duration": {
                          "type": "string",
                          "description": "The coupon duration type."
                        },
                        "amount_off": {
                          "anyOf": [
                            {
                              "type": "integer",
                              "description": "The amount in cents as returned by MoonClerk when a value exists."
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "currency": {
                          "anyOf": [
                            {
                              "type": "string",
                              "description": "The coupon currency."
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "percent_off": {
                          "anyOf": [
                            {
                              "type": "number",
                              "description": "The coupon percent discount when present."
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "duration_in_months": {
                          "anyOf": [
                            {
                              "type": "integer",
                              "description": "The number of months the coupon is active."
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "max_redemptions": {
                          "anyOf": [
                            {
                              "type": "integer",
                              "description": "The coupon redemption limit when present."
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "redeem_by": {
                          "anyOf": [
                            {
                              "type": "string",
                              "description": "The coupon redemption deadline in UTC.",
                              "format": "date-time"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        }
                      },
                      "additionalProperties": false,
                      "description": "The coupon details returned by MoonClerk."
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              },
              "additionalProperties": false,
              "required": [
                "id"
              ],
              "description": "The MoonClerk payment object."
            },
            "description": "The payments returned by MoonClerk."
          }
        },
        "additionalProperties": false,
        "required": [
          "payments"
        ],
        "description": "The MoonClerk payments list response."
      }
    }
  ]
}
