{
  "openapi": "3.1.0",
  "info": {
    "title": "Webhooks supported by Maple",
    "version": "1.0.0"
  },
  "paths": {},
  "webhooks": {
    "contract.created": {
      "post": {
        "tags": [
          "Contracts"
        ],
        "summary": "contract.created",
        "description": "Triggered when a contract is created through the dashboard or through the API",
        "operationId": "contract.created",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResponseProposalLiteRepresentation"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to indicate that the data was received successfully"
          }
        }
      }
    },
    "contract.executed": {
      "post": {
        "tags": [
          "Contracts"
        ],
        "summary": "contract.executed",
        "description": "Triggered when a contract completes execution from signature to a subscription or one-time invoice",
        "operationId": "contract.executed",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResponseProposalLiteRepresentation"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to indicate that the data was received successfully"
          }
        }
      }
    },
    "contract.signed": {
      "post": {
        "tags": [
          "Contracts"
        ],
        "summary": "contract.signed",
        "description": "Triggered whenever a signatory signs the contract",
        "operationId": "contract.signed",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResponseProposalLiteRepresentation"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to indicate that the data was received successfully"
          }
        }
      }
    },
    "contract.updated": {
      "post": {
        "tags": [
          "Contracts"
        ],
        "summary": "contract.updated",
        "description": "Triggered when the properties of a contract are updated through dashboard or through the API",
        "operationId": "contract.updated",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResponseProposalLiteRepresentation"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to indicate that the data was received successfully"
          }
        }
      }
    },
    "credit.created": {
      "post": {
        "tags": [
          "Credits"
        ],
        "summary": "credit.created",
        "description": "Triggered when a credit is created through the dashboard or through the API",
        "operationId": "credit.created",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResponseCreditRepresentation"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to indicate that the data was received successfully"
          }
        }
      }
    },
    "credit.expired": {
      "post": {
        "tags": [
          "Credits"
        ],
        "summary": "credit.expired",
        "description": "Triggered when a credit expires",
        "operationId": "credit.expired",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResponseCreditRepresentation"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to indicate that the data was received successfully"
          }
        }
      }
    },
    "credit.revoked": {
      "post": {
        "tags": [
          "Credits"
        ],
        "summary": "credit.revoked",
        "description": "Triggered when a credit is deleted through the dashboard or through the API",
        "operationId": "credit.revoked",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResponseCreditRepresentation"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to indicate that the data was received successfully"
          }
        }
      }
    },
    "credit.updated": {
      "post": {
        "tags": [
          "Credits"
        ],
        "summary": "credit.updated",
        "description": "Triggered when properties of a credit are updated such as the name through the dashboard or through the API",
        "operationId": "credit.updated",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResponseCreditRepresentation"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to indicate that the data was received successfully"
          }
        }
      }
    },
    "customer.created": {
      "post": {
        "tags": [
          "Customer"
        ],
        "summary": "customer.created",
        "description": "Triggered when a customer is created through the dashboard or the API",
        "operationId": "customer.created",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResponseCustomerWebhookRepresentation"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to indicate that the data was received successfully"
          }
        }
      }
    },
    "customer.mrr.changed": {
      "post": {
        "tags": [
          "Customer"
        ],
        "summary": "customer.mrr.changed",
        "description": "Triggered when the MRR value changes for a customer",
        "operationId": "customer.mrr.changed",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResponseMRRLogWebhookRepresentation"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to indicate that the data was received successfully"
          }
        }
      }
    },
    "customer.payment_method.attached": {
      "post": {
        "tags": [
          "Customer"
        ],
        "summary": "customer.payment_method.attached",
        "description": "Triggered when a payment method is added to the customer",
        "operationId": "customer.payment_method.attached",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResponsePaymentMethodWebhookRepresentation"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to indicate that the data was received successfully"
          }
        }
      }
    },
    "customer.payment_method.detached": {
      "post": {
        "tags": [
          "Customer"
        ],
        "summary": "customer.payment_method.detached",
        "description": "Triggered when a payment method is removed from a customer",
        "operationId": "customer.payment_method.detached",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResponsePaymentMethodWebhookRepresentation"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to indicate that the data was received successfully"
          }
        }
      }
    },
    "customer.updated": {
      "post": {
        "tags": [
          "Customer"
        ],
        "summary": "customer.updated",
        "description": "Triggered when any property on the customer is updated",
        "operationId": "customer.updated",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResponseCustomerWebhookRepresentation"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to indicate that the data was received successfully"
          }
        }
      }
    },
    "ingest.events.failed": {
      "post": {
        "tags": [
          "Events Ingest"
        ],
        "summary": "ingest.events.failed",
        "description": "Triggered when billable events fail upon asynchronous ingestion",
        "operationId": "ingest.events.failed",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResponseBillableUsageEventError"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to indicate that the data was received successfully"
          }
        }
      }
    },
    "invoice.created": {
      "post": {
        "tags": [
          "Invoice"
        ],
        "summary": "invoice.created",
        "description": "Triggered when an invoice is generated from the dashboard, automatic recurring subscriptions or from the API",
        "operationId": "invoice.created",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResponseInvoiceWebhookRepresentation"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to indicate that the data was received successfully"
          }
        }
      }
    },
    "invoice.paid": {
      "post": {
        "tags": [
          "Invoice"
        ],
        "summary": "invoice.paid",
        "description": "Triggered when an invoice is fully paid",
        "operationId": "invoice.paid",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResponseInvoiceWebhookRepresentation"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to indicate that the data was received successfully"
          }
        }
      }
    },
    "invoice.voided": {
      "post": {
        "tags": [
          "Invoice"
        ],
        "summary": "invoice.voided",
        "description": "Triggered when an invoice is voided from the dashboard",
        "operationId": "invoice.voided",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResponseInvoiceWebhookRepresentation"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to indicate that the data was received successfully"
          }
        }
      }
    },
    "invoice_payment_retry_schedule.completed": {
      "post": {
        "tags": [
          "Invoice"
        ],
        "summary": "invoice_payment_retry_schedule.completed",
        "description": "Triggered when all automated retries for payment have been completed",
        "operationId": "invoice_payment_retry_schedule.completed",
        "responses": {
          "200": {
            "description": "Return a 200 status to indicate that the data was received successfully"
          }
        }
      }
    },
    "invoice_reminder_schedule.completed": {
      "post": {
        "tags": [
          "Invoice"
        ],
        "summary": "invoice_reminder_schedule.completed",
        "description": "Triggered when all reminders for payment on an invoice have been completed",
        "operationId": "invoice_reminder_schedule.completed",
        "responses": {
          "200": {
            "description": "Return a 200 status to indicate that the data was received successfully"
          }
        }
      }
    },
    "item.created": {
      "post": {
        "tags": [
          "Item"
        ],
        "summary": "item.created",
        "description": "Triggered when a billable item is created",
        "operationId": "item.created",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResponseBillableItemRepresentation"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to indicate that the data was received successfully"
          }
        }
      }
    },
    "item.updated": {
      "post": {
        "tags": [
          "Item"
        ],
        "summary": "item.updated",
        "description": "Triggered when a billable item is updated",
        "operationId": "item.updated",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResponseBillableItemRepresentation"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to indicate that the data was received successfully"
          }
        }
      }
    },
    "metric.created": {
      "post": {
        "tags": [
          "Metric"
        ],
        "summary": "metric.created",
        "description": "Triggered when a billable metric is created",
        "operationId": "metric.created",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResponseBillableMetricRepresentation"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to indicate that the data was received successfully"
          }
        }
      }
    },
    "metric.updated": {
      "post": {
        "tags": [
          "Metric"
        ],
        "summary": "metric.updated",
        "description": "Triggered when a billable metric is updated",
        "operationId": "metric.updated",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResponseBillableMetricRepresentation"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to indicate that the data was received successfully"
          }
        }
      }
    },
    "payment.failed": {
      "post": {
        "tags": [
          "Payments"
        ],
        "summary": "payment.failed",
        "description": "Triggered when an invoice has a failed payment through the payment provider",
        "operationId": "payment.failed",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResponsePaymentTransactionRepresentation"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to indicate that the data was received successfully"
          }
        }
      }
    },
    "payment.success": {
      "post": {
        "tags": [
          "Payments"
        ],
        "summary": "payment.success",
        "description": "Triggered when an invoice is successfully paid either through the payment provider or a payment logged through the dashboard",
        "operationId": "payment.success",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResponsePaymentTransactionRepresentation"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to indicate that the data was received successfully"
          }
        }
      }
    },
    "subscription.cancelled": {
      "post": {
        "tags": [
          "Subscription"
        ],
        "summary": "subscription.cancelled",
        "description": "Triggered when the subscription is cancelled from the dashboard or through the API",
        "operationId": "subscription.cancelled",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResponseSubscriptionWebhookRepresentation"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to indicate that the data was received successfully"
          }
        }
      }
    },
    "subscription.changed": {
      "post": {
        "tags": [
          "Subscription"
        ],
        "summary": "subscription.changed",
        "description": "Triggered when the pricing plan on a subscription is changed",
        "operationId": "subscription.changed",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResponseSubscriptionWebhookRepresentation"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to indicate that the data was received successfully"
          }
        }
      }
    },
    "subscription.created": {
      "post": {
        "tags": [
          "Subscription"
        ],
        "summary": "subscription.created",
        "description": "Triggered when a subscription is created for a customer through the dashboard or the API",
        "operationId": "subscription.created",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResponseSubscriptionWebhookRepresentation"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to indicate that the data was received successfully"
          }
        }
      }
    },
    "subscription.default_usage_threshold_exceeded": {
      "post": {
        "tags": [
          "Subscription"
        ],
        "summary": "subscription.default_usage_threshold_exceeded",
        "description": "Triggered when usage thresholds set on the subscription are exceeded",
        "operationId": "subscription.default_usage_threshold_exceeded",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResponseSubscriptionWebhookRepresentation"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to indicate that the data was received successfully"
          }
        }
      }
    },
    "subscription.mrr.changed": {
      "post": {
        "tags": [
          "Subscription"
        ],
        "summary": "subscription.mrr.changed",
        "description": "Triggered when the MRR value changes for a subscription",
        "operationId": "subscription.mrr.changed",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResponseMRRLogWebhookRepresentation"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to indicate that the data was received successfully"
          }
        }
      }
    },
    "subscription.renewed": {
      "post": {
        "tags": [
          "Subscription"
        ],
        "summary": "subscription.renewed",
        "description": "Triggered when the subscription renews at the term end",
        "operationId": "subscription.renewed",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResponseSubscriptionWebhookRepresentation"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to indicate that the data was received successfully"
          }
        }
      }
    },
    "subscription.unpaid": {
      "post": {
        "tags": [
          "Subscription"
        ],
        "summary": "subscription.unpaid",
        "description": "Triggered when a subscription status becomes unpaid typically through a payment retry or invoice reminder campaign or through the API",
        "operationId": "subscription.unpaid",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResponseSubscriptionWebhookRepresentation"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to indicate that the data was received successfully"
          }
        }
      }
    },
    "subscription.updated": {
      "post": {
        "tags": [
          "Subscription"
        ],
        "summary": "subscription.updated",
        "description": "Triggered when properties the subscription such as the metadata, net terms, auto-charge status are updated. Please note that a different webhook is triggered when the pricing plan is changed on the subscription.",
        "operationId": "subscription.updated",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResponseSubscriptionWebhookRepresentation"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to indicate that the data was received successfully"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "DatatypesJSON": {
        "items": {
          "minimum": 0,
          "type": "integer"
        },
        "type": [
          "array",
          "null"
        ]
      },
      "GormDeletedAt": {
        "type": "object"
      },
      "ModelAddress": {
        "properties": {
          "address_line_1": {
            "type": "string"
          },
          "address_line_2": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "country": {
            "description": "2-character country code (ISO 3166-1 alpha-2)",
            "examples": [
              "US"
            ],
            "type": "string"
          },
          "place_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "state": {
            "type": "string"
          },
          "zip": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "ModelAmount": {
        "description": "The amount which has value in cents and a currency",
        "properties": {
          "currency": {
            "type": "string"
          },
          "value_in_cents": {
            "type": "integer"
          }
        },
        "type": "object"
      },
      "ModelCreditPricing": {
        "properties": {
          "amount": {
            "$ref": "#/components/schemas/ModelAmount",
            "description": "Amount of credit"
          },
          "item_id": {
            "description": "Item ID of the credit",
            "type": [
              "null",
              "string"
            ]
          },
          "type": {
            "description": "Type of credit",
            "type": "string"
          },
          "units": {
            "description": "Units of credit",
            "type": "number"
          }
        },
        "type": "object"
      },
      "ModelCustomPricing": {
        "properties": {
          "max_price_per_unit": {
            "type": "string"
          },
          "min_price_per_unit": {
            "type": "string"
          },
          "preset_price_per_unit": {
            "type": "string"
          },
          "price_per_unit": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "ModelDiscount": {
        "properties": {
          "amount": {
            "$ref": "#/components/schemas/ModelAmount"
          },
          "cap": {
            "$ref": "#/components/schemas/ModelAmount"
          },
          "company_id": {
            "type": "string"
          },
          "coupon_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "customer_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "deleted_at": {
            "$ref": "#/components/schemas/GormDeletedAt"
          },
          "expiration_date": {
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          },
          "id": {
            "type": "string"
          },
          "import_created_at_ref": {
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          },
          "import_ref": {
            "type": [
              "null",
              "string"
            ]
          },
          "imported_from": {
            "type": [
              "null",
              "string"
            ]
          },
          "item_pricing_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "name": {
            "type": "string"
          },
          "onetime_billable": {
            "$ref": "#/components/schemas/ModelOneTimeBillable"
          },
          "onetime_billable_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "percent": {
            "type": "number"
          },
          "product_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "product_pricing_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "proposal_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "state": {
            "type": "string"
          },
          "subscription_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "type": {
            "type": "string"
          },
          "updated_at": {
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ModelFixedPricing": {
        "properties": {
          "price_per_unit": {
            "description": "Price per unit (in cents)",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ModelGradientPricing": {
        "properties": {
          "end": {
            "description": "End quantity for the row",
            "minimum": 0,
            "type": "integer"
          },
          "flat_price": {
            "description": "Flat Price (in cents)",
            "type": "string"
          },
          "is_custom_tier": {
            "description": "Is custom tier",
            "type": "boolean"
          },
          "price_per_unit": {
            "description": "Price per unit (in cents)",
            "type": "string"
          },
          "start": {
            "description": "Start quantity for the row",
            "minimum": 0,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "ModelInvoiceField": {
        "properties": {
          "name": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "ModelItemPricingMinimumSpendSchedule": {
        "properties": {
          "allow_pulling_forward": {
            "description": "Allow pulling forward of minimum spend",
            "type": "boolean"
          },
          "amount_per_period": {
            "description": "Amount of period per unit (in cents)",
            "items": {
              "type": "string"
            },
            "type": [
              "null",
              "array"
            ]
          },
          "minimum_spend_schedule_type": {
            "description": "Type of minimum spend schedule",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ModelItemPricingRecognitionSchedule": {
        "properties": {
          "amount_per_period": {
            "description": "Amount of period per unit (in cents)",
            "items": {
              "type": "string"
            },
            "type": [
              "null",
              "array"
            ]
          },
          "recognition_schedule_type": {
            "description": "Type of recognition schedule",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ModelMatchingRule": {
        "properties": {
          "comparator": {
            "$ref": "#/components/schemas/ModelMatchingRuleComparator"
          }
        },
        "type": "object"
      },
      "ModelMatchingRuleComparator": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/ModelMatchingRule"
            },
            "type": "array"
          },
          "left_item": {
            "$ref": "#/components/schemas/ModelMatchingRuleItem"
          },
          "right_item": {
            "$ref": "#/components/schemas/ModelMatchingRuleItem"
          },
          "type": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "ModelMatchingRuleItem": {
        "properties": {
          "comparator": {
            "$ref": "#/components/schemas/ModelMatchingRuleComparator"
          },
          "item_type": {
            "type": "string"
          },
          "property": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "ModelMeteringRule": {
        "properties": {
          "aggregator": {
            "type": "string"
          },
          "group_keys": {
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "property": {
            "type": "string"
          },
          "rule": {
            "$ref": "#/components/schemas/ModelMatchingRule"
          }
        },
        "type": "object"
      },
      "ModelNullableString": {
        "type": "object"
      },
      "ModelOneTimeBillable": {
        "properties": {
          "aggregate": {
            "type": "number"
          },
          "company_id": {
            "type": "string"
          },
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "custom_price": {
            "$ref": "#/components/schemas/ModelOneTimeCustomPrice"
          },
          "customer_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "deleted_at": {
            "$ref": "#/components/schemas/GormDeletedAt"
          },
          "id": {
            "type": "string"
          },
          "import_ref": {
            "type": [
              "null",
              "string"
            ]
          },
          "imported_from": {
            "type": [
              "null",
              "string"
            ]
          },
          "name": {
            "type": "string"
          },
          "product_pricing_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "proposal_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "quantity_config": {
            "$ref": "#/components/schemas/ModelQuantityConfig"
          },
          "sort_order": {
            "type": [
              "null",
              "number"
            ]
          },
          "state": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "updated_at": {
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ModelOneTimeCustomPrice": {
        "properties": {
          "amount": {
            "$ref": "#/components/schemas/ModelAmount",
            "description": "The amount of quantity"
          },
          "description": {
            "$ref": "#/components/schemas/ModelNullableString",
            "description": "The description of the one-time charge"
          },
          "product_id": {
            "description": "The product ID",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ModelProposalOptions": {
        "properties": {
          "allow_promo_code": {
            "type": "boolean"
          },
          "collect_taxes": {
            "type": "boolean"
          },
          "completion_action": {
            "type": "string"
          },
          "confirmation_message": {
            "type": "string"
          },
          "redirect_url": {
            "type": "string"
          },
          "requires_customer_address": {
            "type": "boolean"
          },
          "requires_customer_confirmation": {
            "type": "boolean"
          },
          "requires_customer_phone": {
            "type": "boolean"
          },
          "requires_email_verification": {
            "type": "boolean"
          },
          "save_card_on_checkout": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "ModelQuantityConfig": {
        "properties": {
          "allow_custom_quantity": {
            "type": "boolean"
          },
          "max_quantity": {
            "type": "integer"
          },
          "min_quantity": {
            "type": "integer"
          }
        },
        "type": "object"
      },
      "ModelScheduledPricing": {
        "properties": {
          "price_per_unit_per_period": {
            "description": "Price per unit (in cents)",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "ModelSignatory": {
        "properties": {
          "declined": {
            "type": "boolean"
          },
          "email": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "position": {
            "type": [
              "null",
              "integer"
            ]
          },
          "signature_id": {
            "type": "string"
          },
          "signature_link": {
            "type": "string"
          },
          "signed": {
            "type": "boolean"
          },
          "signed_date": {
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          },
          "title": {
            "type": "string"
          },
          "view_timestamps": {
            "items": {
              "format": "date-time",
              "type": "string"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "ModelStepPricing": {
        "properties": {
          "price_per_step": {
            "description": "Price per step (in cents)",
            "type": "string"
          },
          "step_size": {
            "description": "Step size",
            "minimum": 0,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "ModelSubscriptionConfigItem": {
        "description": "The configuration for pricing components which can be license counts or minimum usage units",
        "properties": {
          "hide_at_checkout": {
            "description": "Whether the pricing row will be hidden at checkout, defaults to false",
            "type": [
              "null",
              "boolean"
            ]
          },
          "minimum_units": {
            "description": "The number of minimum units for this usage-based component",
            "type": "number"
          },
          "num_licenses": {
            "description": "The number of licenses for this license-based component",
            "type": "number"
          },
          "product_metric_pricing_id": {
            "description": "The product metric pricing ID to which this config applies.",
            "type": [
              "null",
              "string"
            ]
          },
          "product_pricing_id": {
            "description": "The product pricing ID to which this config applies. If the product pricing contains multiple components, the same config will apply to all of them",
            "type": [
              "null",
              "string"
            ]
          },
          "quantity_config": {
            "$ref": "#/components/schemas/ModelQuantityConfig"
          },
          "sort_order": {
            "description": "The sort index",
            "type": [
              "null",
              "number"
            ]
          },
          "upsell_product_metric_pricing_id": {
            "type": [
              "null",
              "string"
            ]
          }
        },
        "type": "object"
      },
      "ModelTerm": {
        "description": "The term which includes a frequency interval and a count for number of intervals",
        "properties": {
          "count": {
            "description": "The number of times the frequency elapses",
            "type": "integer"
          },
          "frequency": {
            "description": "The frequency at which the term repeats",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ModelVolumePricing": {
        "properties": {
          "flat_price": {
            "description": "Flat Price (in cents)",
            "type": "string"
          },
          "is_custom_tier": {
            "description": "Is custom tier",
            "type": "boolean"
          },
          "price_per_unit": {
            "description": "Price per unit (in cents)",
            "type": "string"
          },
          "total_units_end": {
            "description": "End quantity for the row",
            "minimum": 0,
            "type": "integer"
          },
          "total_units_start": {
            "description": "Start quantity for the row",
            "minimum": 0,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "ResponseBillableItemPricingRepresentation": {
        "properties": {
          "base_price": {
            "$ref": "#/components/schemas/ModelAmount"
          },
          "base_units": {
            "type": "number"
          },
          "carry_over": {
            "type": "boolean"
          },
          "charge_type": {
            "type": "string"
          },
          "company": {
            "$ref": "#/components/schemas/ResponseCompanyRepresentation"
          },
          "company_id": {
            "type": "string"
          },
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "credit_price": {
            "$ref": "#/components/schemas/ModelCreditPricing"
          },
          "custom_price": {
            "$ref": "#/components/schemas/ModelCustomPricing"
          },
          "description": {
            "type": "string"
          },
          "display_type": {
            "type": "string"
          },
          "editable": {
            "type": "boolean"
          },
          "external_name": {
            "type": "string"
          },
          "fixed_price": {
            "$ref": "#/components/schemas/ModelFixedPricing"
          },
          "frequency": {
            "type": "string"
          },
          "gradient_price": {
            "items": {
              "$ref": "#/components/schemas/ModelGradientPricing"
            },
            "type": "array"
          },
          "id": {
            "type": "string"
          },
          "item": {
            "$ref": "#/components/schemas/ResponseBillableItemRepresentation"
          },
          "item_id": {
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/DatatypesJSON"
          },
          "minimum_spend": {
            "$ref": "#/components/schemas/ModelAmount"
          },
          "minimum_spend_schedule": {
            "$ref": "#/components/schemas/ModelItemPricingMinimumSpendSchedule"
          },
          "name": {
            "type": "string"
          },
          "num_subs": {
            "minimum": 0,
            "type": "integer"
          },
          "proration_type": {
            "type": "string"
          },
          "recognition_schedule": {
            "$ref": "#/components/schemas/ModelItemPricingRecognitionSchedule"
          },
          "scheduled_price": {
            "$ref": "#/components/schemas/ModelScheduledPricing"
          },
          "state": {
            "type": "string"
          },
          "step_price": {
            "$ref": "#/components/schemas/ModelStepPricing"
          },
          "term_count": {
            "type": "integer"
          },
          "true_up_frequency": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "updated_at": {
            "format": "date-time",
            "type": "string"
          },
          "volume_price": {
            "items": {
              "$ref": "#/components/schemas/ModelVolumePricing"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "ResponseBillableItemRepresentation": {
        "properties": {
          "company_id": {
            "description": "The company ID for the billable item",
            "type": "string"
          },
          "created_at": {
            "description": "The date the billable item was created",
            "format": "date-time",
            "type": "string"
          },
          "description": {
            "description": "Any description attached to the billable item",
            "type": "string"
          },
          "display_type": {
            "description": "The display type of the billable item which can be one of UNITS, AMOUNT, THOUSAND_UNITS, MILLION_UNITS",
            "type": "string"
          },
          "editable": {
            "description": "Whether the billable item can be further edited",
            "type": "boolean"
          },
          "external_name": {
            "description": "The public name of the billable item",
            "type": "string"
          },
          "id": {
            "description": "The ID of the billable item in Maple",
            "type": "string"
          },
          "name": {
            "description": "The name of the billable item",
            "type": "string"
          },
          "standard": {
            "description": "Whether this is a standard billable item in Maple or a custom billable item",
            "type": "boolean"
          },
          "type": {
            "description": "The type of the billable item which can be one of CUSTOM_USAGE or CUSTOM_OBJ, based on usage-based item or object-based item",
            "type": "string"
          },
          "updated_at": {
            "description": "The date the billable item was last updated",
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ResponseBillableMetricRepresentation": {
        "properties": {
          "company_id": {
            "description": "The company ID for the billable metric",
            "type": "string"
          },
          "created_at": {
            "description": "The date the billable metric was created",
            "format": "date-time",
            "type": "string"
          },
          "description": {
            "description": "Any description attached to the billable metric",
            "type": "string"
          },
          "editable": {
            "description": "Whether the billable metric can be further edited",
            "type": "boolean"
          },
          "external_name": {
            "description": "The public name of the billable metric",
            "type": "string"
          },
          "id": {
            "description": "The ID of the billable metric in Maple",
            "type": "string"
          },
          "is_billable": {
            "description": "Whether this is a billable metric",
            "type": "boolean"
          },
          "item_id": {
            "description": "The billable item this metric is tied to",
            "type": "string"
          },
          "metering_rule": {
            "$ref": "#/components/schemas/ModelMeteringRule",
            "description": "JSON representation of the metering rule associated with the metric"
          },
          "name": {
            "description": "The name of the billable metric",
            "type": "string"
          },
          "standard": {
            "description": "Whether this is a standard billable metric in Maple or a custom billable metric",
            "type": "boolean"
          },
          "state": {
            "description": "The state of the metric which can be one of ACTIVE or ARCHIVED",
            "type": "string"
          },
          "type": {
            "description": "The type of the billable metric which can be one of LICENSE_METRIC, ONETIME_METRIC or CUSTOM_METRIC depending if it is a standard billable metric in Maple or a custom metric",
            "type": "string"
          },
          "updated_at": {
            "description": "The date the billable metric was last updated",
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ResponseBillableMetricStringRepresentation": {
        "properties": {
          "company_id": {
            "type": "string"
          },
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "external_name": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "item_id": {
            "type": "string"
          },
          "metering_rule": {
            "$ref": "#/components/schemas/ResponseMeteringRuleRepresentation"
          },
          "name": {
            "type": "string"
          },
          "standard": {
            "type": "boolean"
          },
          "type": {
            "type": "string"
          },
          "updated_at": {
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ResponseBillableUsageEventError": {
        "properties": {
          "TransactionIDs": {
            "deprecated": true,
            "description": "The transaction_id provided for the event",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "error": {
            "description": "The error message",
            "type": "string"
          },
          "transaction_ids": {
            "description": "The transaction_id provided for the event",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "ResponseCompanyRepresentation": {
        "properties": {
          "address": {
            "$ref": "#/components/schemas/ModelAddress"
          },
          "computed_entitlements": {
            "additionalProperties": {},
            "type": "object"
          },
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "customer_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "demo": {
            "type": "boolean"
          },
          "email": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "is_dev": {
            "type": "boolean"
          },
          "legal_name": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "preferred_currency": {
            "type": "string"
          },
          "preferred_timezone": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "updated_at": {
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ResponseContractAttachmentRepresentation": {
        "properties": {
          "attachment_type": {
            "type": [
              "null",
              "string"
            ]
          },
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "file_id": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "original_filename": {
            "type": "string"
          },
          "uploaded_at": {
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ResponseCounterSignatoryRepresentation": {
        "properties": {
          "company_user": {
            "$ref": "#/components/schemas/ResponseProposalCompanyUserRepresentation"
          },
          "declined": {
            "type": "boolean"
          },
          "email": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "position": {
            "type": [
              "null",
              "integer"
            ]
          },
          "signature_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "signed": {
            "type": "boolean"
          },
          "signed_date": {
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          }
        },
        "type": "object"
      },
      "ResponseCreditRepresentation": {
        "properties": {
          "amount": {
            "$ref": "#/components/schemas/ModelAmount"
          },
          "coupon_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "customer_id": {
            "type": "string"
          },
          "expiration_date": {
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          },
          "id": {
            "type": "string"
          },
          "import_created_at_ref": {
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          },
          "import_ref": {
            "type": [
              "null",
              "string"
            ]
          },
          "imported_from": {
            "type": [
              "null",
              "string"
            ]
          },
          "issued_amount": {
            "$ref": "#/components/schemas/ModelAmount"
          },
          "issued_units": {
            "type": "number"
          },
          "item": {
            "$ref": "#/components/schemas/ResponseBillableItemRepresentation"
          },
          "item_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "metric_record_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "name": {
            "type": "string"
          },
          "one_time_billable_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "proration_date": {
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          },
          "state": {
            "type": "string"
          },
          "subscription_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "type": {
            "type": "string"
          },
          "units": {
            "type": "number"
          }
        },
        "type": "object"
      },
      "ResponseCustomerWebhookRepresentation": {
        "properties": {
          "email": {
            "description": "The email of the customer",
            "type": "string"
          },
          "exclude_from_metrics": {
            "description": "Whether to exclude this customer and related fields from any metrics in Maple",
            "type": "boolean"
          },
          "id": {
            "description": "The ID of the customer in Maple",
            "type": "string"
          },
          "identifier": {
            "description": "The unique identifier for the customer that ties back to your system. You can query for a customer using this identifier",
            "type": "string"
          },
          "managed_externally": {
            "description": "Whether this customer is managed outside of Maple",
            "type": "boolean"
          },
          "metadata": {
            "$ref": "#/components/schemas/DatatypesJSON",
            "description": "The metadata as key-value pairs attached to this customer"
          },
          "name": {
            "description": "The name of the customer",
            "type": "string"
          },
          "org_name": {
            "description": "The name of the company or the organization this customer is a part of",
            "type": "string"
          },
          "owner_id": {
            "description": "The company user ID of person in Maple assigned to manage this customer",
            "type": [
              "null",
              "string"
            ]
          },
          "parent_customer_id": {
            "description": "The customer ID of the parent customer assigned in Maple",
            "type": [
              "null",
              "string"
            ]
          },
          "status": {
            "description": "The status of the customer such as ACTIVE or ARCHIVED",
            "type": "string"
          },
          "title": {
            "description": "The title of the customer, such as CEO, VP",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ResponseEmbeddedCustomerRepresentation": {
        "properties": {
          "email": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "identifier": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "org_name": {
            "type": "string"
          },
          "parent_customer": {
            "$ref": "#/components/schemas/ResponseEmbeddedCustomerRepresentation"
          },
          "parent_customer_id": {
            "type": [
              "null",
              "string"
            ]
          }
        },
        "type": "object"
      },
      "ResponseEntitlementDataRepresentation": {
        "properties": {
          "entitlement_id": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "inherited_from_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "inherited_from_type": {
            "type": [
              "null",
              "string"
            ]
          },
          "key": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "original_value": {},
          "overridden": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "type": {
            "type": "string"
          },
          "value": {}
        },
        "type": "object"
      },
      "ResponseInvoiceWebhookRepresentation": {
        "properties": {
          "auto_charges": {
            "description": "Whether the invoice is automatically charged to the payment method on file for the customer",
            "type": "boolean"
          },
          "billed_customer": {
            "$ref": "#/components/schemas/ResponseCustomerWebhookRepresentation",
            "description": "The expanded billed customer for the invoice"
          },
          "billed_customer_id": {
            "description": "The billed customer ID for the invoice. This matches the customer_id by default, but can be set to another parent customer ID",
            "type": "string"
          },
          "company_id": {
            "description": "The company ID for the invoice",
            "type": "string"
          },
          "created_at": {
            "description": "The date the invoice was created",
            "format": "date-time",
            "type": "string"
          },
          "credit_details": {
            "$ref": "#/components/schemas/ResponsePriceBreakdownLiteRepresentation",
            "description": "The breakdown of credits applied on the invoice"
          },
          "currency": {
            "description": "The currency of the invoice",
            "type": "string"
          },
          "customer": {
            "$ref": "#/components/schemas/ResponseCustomerWebhookRepresentation",
            "description": "The expanded customer for the invoice"
          },
          "customer_id": {
            "description": "The customer ID for the invoice",
            "type": "string"
          },
          "discount_details": {
            "$ref": "#/components/schemas/ResponsePriceBreakdownLiteRepresentation",
            "description": "The breakdown of discounts applied on the invoice"
          },
          "due": {
            "$ref": "#/components/schemas/ModelAmount",
            "description": "The total amount due on the invoice after any payments"
          },
          "due_date": {
            "description": "The date the invoice total is due",
            "format": "date-time",
            "type": "string"
          },
          "hosted_link": {
            "description": "The hosted link for the invoice",
            "type": [
              "null",
              "string"
            ]
          },
          "id": {
            "description": "The ID of the invoice",
            "type": "string"
          },
          "immediate": {
            "description": "Whether the invoice is immediately charged or attached to the next invoice date",
            "type": "boolean"
          },
          "import_created_at_ref": {
            "description": "The date the invoice was created from the import source",
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          },
          "import_ref": {
            "description": "The import reference for the invoice",
            "type": [
              "null",
              "string"
            ]
          },
          "imported_from": {
            "description": "Where the invoice was imported from",
            "type": [
              "null",
              "string"
            ]
          },
          "invoice_date": {
            "description": "The date for the invoice",
            "format": "date-time",
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/DatatypesJSON",
            "description": "Any additional data as key-value pairs attached to the invoice"
          },
          "name": {
            "description": "The name of the invoice",
            "type": "string"
          },
          "notes": {
            "description": "Any notes attached to the invoice",
            "type": [
              "null",
              "string"
            ]
          },
          "number": {
            "description": "The invoice number for the invoice",
            "type": "string"
          },
          "paid": {
            "$ref": "#/components/schemas/ModelAmount",
            "description": "The total amount paid against the invoice"
          },
          "paid_date": {
            "description": "The date the invoice was paid",
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          },
          "payment_processing_amount": {
            "$ref": "#/components/schemas/ModelAmount",
            "description": "Any processing payments for the invoice"
          },
          "pdf_link": {
            "description": "The PDF link for the invoice",
            "type": [
              "null",
              "string"
            ]
          },
          "prorated_amount": {
            "$ref": "#/components/schemas/ModelAmount",
            "description": "Any prorated amounts for the invoice"
          },
          "status": {
            "description": "The status of the invoice such as PAID, DRAFT, VOID or PENDING",
            "type": "string"
          },
          "sub_total": {
            "$ref": "#/components/schemas/ModelAmount",
            "description": "The subtotal of the invoice which is prior to applying credits"
          },
          "subscription_id": {
            "description": "The subscription ID for the invoice, if is not a one-time invoice",
            "type": [
              "null",
              "string"
            ]
          },
          "tax_details": {
            "$ref": "#/components/schemas/ResponseTaxBreakdownLiteRepresentation",
            "description": "The breakdown of tax charges on the invoice"
          },
          "total": {
            "$ref": "#/components/schemas/ModelAmount",
            "description": "The final total of the invoice after applying all credits, discounts and taxes"
          },
          "updated_at": {
            "description": "The last date the invoice was updated",
            "format": "date-time",
            "type": "string"
          },
          "uuid": {
            "description": "The unique identifier for the invoice",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ResponseMRRLogWebhookRepresentation": {
        "properties": {
          "changed_amount": {
            "$ref": "#/components/schemas/ModelAmount"
          },
          "company_id": {
            "type": "string"
          },
          "customer_id": {
            "type": "string"
          },
          "event_type": {
            "type": "string"
          },
          "subscription_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "time": {
            "format": "date-time",
            "type": "string"
          },
          "total_amount": {
            "$ref": "#/components/schemas/ModelAmount"
          }
        },
        "type": "object"
      },
      "ResponseMeteringRuleRepresentation": {
        "properties": {
          "aggregator": {
            "type": "string"
          },
          "group_keys": {
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "property": {
            "type": "string"
          },
          "rule": {
            "type": [
              "null",
              "string"
            ]
          }
        },
        "type": "object"
      },
      "ResponseOneTimeRepresentation": {
        "properties": {
          "aggregate": {
            "type": "number"
          },
          "company_id": {
            "type": "string"
          },
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "custom_price": {
            "$ref": "#/components/schemas/ModelOneTimeCustomPrice"
          },
          "customer_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "product_pricing": {
            "$ref": "#/components/schemas/ResponseProductPricingRepresentation"
          },
          "product_pricing_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "quantity_config": {
            "$ref": "#/components/schemas/ModelQuantityConfig"
          },
          "sort_order": {
            "type": [
              "null",
              "number"
            ]
          },
          "state": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "updated_at": {
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ResponsePaymentMethodData": {
        "properties": {
          "brand": {
            "type": "string"
          },
          "last_4": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "ResponsePaymentMethodWebhookRepresentation": {
        "properties": {
          "customer_id": {
            "type": "string"
          },
          "integration_id": {
            "type": "string"
          },
          "payment_method_id": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "ResponsePaymentTransactionRepresentation": {
        "properties": {
          "application_fee_amount": {
            "$ref": "#/components/schemas/ModelAmount"
          },
          "company_id": {
            "type": "string"
          },
          "connected_account_transaction": {
            "type": "boolean"
          },
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "customer": {
            "$ref": "#/components/schemas/ResponseEmbeddedCustomerRepresentation"
          },
          "customer_id": {
            "type": "string"
          },
          "deleted_at": {
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          },
          "disallow_partial_refund": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "id": {
            "type": "string"
          },
          "initiated_by": {
            "type": [
              "null",
              "string"
            ]
          },
          "initiated_by_type": {
            "type": [
              "null",
              "string"
            ]
          },
          "invoice_number": {
            "type": "string"
          },
          "invoice_uuid": {
            "type": "string"
          },
          "is_refundable": {
            "type": "boolean"
          },
          "is_voidable": {
            "type": "boolean"
          },
          "net_amount": {
            "$ref": "#/components/schemas/ModelAmount"
          },
          "note": {
            "type": [
              "null",
              "string"
            ]
          },
          "payment_method": {
            "$ref": "#/components/schemas/ResponsePaymentMethodData"
          },
          "proposal_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "provider_transaction_id": {
            "type": "string"
          },
          "provider_type": {
            "type": "string"
          },
          "refundable_amount": {
            "$ref": "#/components/schemas/ModelAmount"
          },
          "status": {
            "type": "string"
          },
          "status_message": {
            "type": [
              "null",
              "string"
            ]
          },
          "stripe_fee_amount": {
            "$ref": "#/components/schemas/ModelAmount"
          },
          "total_amount": {
            "$ref": "#/components/schemas/ModelAmount"
          },
          "total_amount_default_currency": {
            "$ref": "#/components/schemas/ModelAmount"
          },
          "total_fee_amount": {
            "$ref": "#/components/schemas/ModelAmount"
          },
          "transaction_type": {
            "type": "string"
          },
          "updated_at": {
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ResponsePriceBreakdownLiteRepresentation": {
        "properties": {
          "aggregate_price": {
            "$ref": "#/components/schemas/ModelAmount"
          }
        },
        "type": "object"
      },
      "ResponseProductMetricPricingRepresentation": {
        "properties": {
          "company_id": {
            "type": "string"
          },
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "item": {
            "$ref": "#/components/schemas/ResponseBillableItemRepresentation"
          },
          "item_id": {
            "type": "string"
          },
          "item_pricing": {
            "$ref": "#/components/schemas/ResponseBillableItemPricingRepresentation"
          },
          "item_pricing_id": {
            "type": "string"
          },
          "metric": {
            "$ref": "#/components/schemas/ResponseBillableMetricStringRepresentation"
          },
          "metric_id": {
            "type": "string"
          },
          "product_id": {
            "type": "string"
          },
          "updated_at": {
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ResponseProductPricingRepresentation": {
        "properties": {
          "company_id": {
            "description": "The company ID for the product pricing",
            "type": "string"
          },
          "computed_entitlements": {
            "description": "The final computed features for the product pricing",
            "items": {
              "$ref": "#/components/schemas/ResponseEntitlementDataRepresentation"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "created_at": {
            "description": "The date the product pricing was created",
            "format": "date-time",
            "type": "string"
          },
          "currency": {
            "description": "The currency for the product pricing",
            "type": "string"
          },
          "description": {
            "description": "The description for the product pricing",
            "type": "string"
          },
          "external_name": {
            "description": "The externally exposed name for the product pricing used on invoices",
            "type": "string"
          },
          "id": {
            "description": "The ID of the product pricing in Maple",
            "type": "string"
          },
          "import_created_at_ref": {
            "description": "The date the product pricing was created from the import source",
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          },
          "import_ref": {
            "description": "The import reference of the product pricing",
            "type": [
              "null",
              "string"
            ]
          },
          "imported_from": {
            "description": "Where the product pricing was imported from",
            "type": [
              "null",
              "string"
            ]
          },
          "metadata": {
            "$ref": "#/components/schemas/DatatypesJSON",
            "description": "Any additional data as key-value pairs attached to the product pricing"
          },
          "name": {
            "description": "The name of the product pricing",
            "type": "string"
          },
          "num_subs": {
            "description": "The number of subscriptions in the company with the product pricing",
            "minimum": 0,
            "type": "integer"
          },
          "override_entitlements": {
            "description": "The overridden features for the product pricing",
            "items": {
              "$ref": "#/components/schemas/ResponseEntitlementDataRepresentation"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "product": {
            "$ref": "#/components/schemas/ResponseProductRepresentation",
            "description": "The expanded product for the product pricing"
          },
          "product_id": {
            "description": "The product ID that the product pricing is attached to",
            "type": "string"
          },
          "product_metric_pricings": {
            "description": "The metric components of the product pricing plan",
            "items": {
              "$ref": "#/components/schemas/ResponseProductMetricPricingRepresentation"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "state": {
            "description": "The state of the product pricing such as ACTIVE or ARCHIVED",
            "type": "string"
          },
          "tags": {
            "description": "Any tags on the product pricing",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "type": {
            "description": "The type of product pricing such as recurring or one-time",
            "type": "string"
          },
          "updated_at": {
            "description": "The date the product pricing was last updated",
            "format": "date-time",
            "type": "string"
          },
          "upsell_product_pricing_id": {
            "description": "The upsell product pricing ID",
            "type": [
              "null",
              "string"
            ]
          }
        },
        "type": "object"
      },
      "ResponseProductRepresentation": {
        "properties": {
          "company_id": {
            "description": "The company ID of the product",
            "type": "string"
          },
          "created_at": {
            "description": "The date the product was created",
            "format": "date-time",
            "type": "string"
          },
          "description": {
            "description": "The description of the product",
            "type": "string"
          },
          "entitlements": {
            "description": "The entitlements that enable features for the product",
            "items": {
              "$ref": "#/components/schemas/ResponseEntitlementDataRepresentation"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "external_name": {
            "description": "The external name of the product",
            "type": "string"
          },
          "id": {
            "description": "The ID of the product in Maple",
            "type": "string"
          },
          "image_url": {
            "description": "The url for the image of the product",
            "type": [
              "null",
              "string"
            ]
          },
          "import_created_at_ref": {
            "description": "The date the product was created in the import source",
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          },
          "import_ref": {
            "description": "The import reference ID for the product",
            "type": [
              "null",
              "string"
            ]
          },
          "imported_from": {
            "description": "Where the product is imported from",
            "type": [
              "null",
              "string"
            ]
          },
          "metadata": {
            "$ref": "#/components/schemas/DatatypesJSON",
            "description": "Any additional data as key-value pairs attached to the product"
          },
          "name": {
            "description": "The name of the product",
            "type": "string"
          },
          "product_pricings": {
            "description": "The product prices attached to this product",
            "items": {
              "$ref": "#/components/schemas/ResponseProductPricingRepresentation"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "state": {
            "description": "The state of the product such as ACTIVE or ARCHIVED",
            "type": "string"
          },
          "tags": {
            "description": "Any tags on the product",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "updated_at": {
            "description": "The date the product was last updated",
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ResponseProposalCompanyUserRepresentation": {
        "properties": {
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "image_url": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "updated_at": {
            "format": "date-time",
            "type": "string"
          },
          "user": {
            "$ref": "#/components/schemas/ResponseProposalUserRepresentation"
          }
        },
        "type": "object"
      },
      "ResponseProposalLiteRepresentation": {
        "properties": {
          "acv": {
            "$ref": "#/components/schemas/ModelAmount"
          },
          "auto_charges": {
            "type": "boolean"
          },
          "auto_renews": {
            "type": "boolean"
          },
          "bundle_pricing_id": {
            "type": "string"
          },
          "change_custom_date": {
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          },
          "change_proration_type": {
            "type": [
              "null",
              "string"
            ]
          },
          "change_reset_billing_anchor": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "change_timing": {
            "type": [
              "null",
              "string"
            ]
          },
          "company_id": {
            "type": "string"
          },
          "completed_date": {
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          },
          "config_items": {
            "items": {
              "$ref": "#/components/schemas/ModelSubscriptionConfigItem"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "contract_attachments": {
            "items": {
              "$ref": "#/components/schemas/ResponseContractAttachmentRepresentation"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "counter_signatories": {
            "items": {
              "$ref": "#/components/schemas/ResponseCounterSignatoryRepresentation"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "custom_variables": {
            "additionalProperties": {},
            "type": [
              "object",
              "null"
            ]
          },
          "customer_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "discounts": {
            "items": {
              "$ref": "#/components/schemas/ModelDiscount"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "expiration_date": {
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          },
          "finalized_date": {
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          },
          "id": {
            "type": "string"
          },
          "invoice_due_date_from_creation": {
            "minimum": 0,
            "type": [
              "null",
              "integer"
            ]
          },
          "invoice_event_grace_period": {
            "minimum": 0,
            "type": [
              "null",
              "integer"
            ]
          },
          "metadata": {
            "$ref": "#/components/schemas/DatatypesJSON"
          },
          "minimum_spend": {
            "$ref": "#/components/schemas/ModelAmount"
          },
          "one_time_billables": {
            "items": {
              "$ref": "#/components/schemas/ResponseOneTimeRepresentation"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "options": {
            "$ref": "#/components/schemas/ModelProposalOptions"
          },
          "owner_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "parent_billed": {
            "type": "boolean"
          },
          "payment_provided_date": {
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          },
          "po_number": {
            "type": [
              "null",
              "string"
            ]
          },
          "require_payment_method": {
            "type": "boolean"
          },
          "signatories": {
            "items": {
              "$ref": "#/components/schemas/ModelSignatory"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "signed_date": {
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          },
          "signed_file_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "signed_offline": {
            "type": "boolean"
          },
          "start_date": {
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          },
          "start_type": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "tcv": {
            "$ref": "#/components/schemas/ModelAmount"
          },
          "template_variables": {
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "term": {
            "$ref": "#/components/schemas/ModelTerm"
          },
          "title": {
            "type": "string"
          },
          "trial": {
            "type": "boolean"
          },
          "trial_term": {
            "$ref": "#/components/schemas/ModelTerm"
          },
          "type": {
            "type": "string"
          },
          "updated_at": {
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ResponseProposalUserRepresentation": {
        "properties": {
          "email": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "verified": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "ResponseSubscriptionWebhookRepresentation": {
        "properties": {
          "arr": {
            "$ref": "#/components/schemas/ModelAmount",
            "description": "The annual recurring revenue for this subscription"
          },
          "auto_charges": {
            "description": "Whether the subscription is set up to automatically charge the card attached to the subscription or the default payment method on the customer",
            "type": "boolean"
          },
          "auto_renews": {
            "description": "Whether the subscription is set up to automatically renew",
            "type": "boolean"
          },
          "billing_anchor_date": {
            "description": "The billing anchor date for this subscription, typically the same as the start date",
            "format": "date-time",
            "type": "string"
          },
          "bundle_pricing_id": {
            "description": "The bundle of product pricings attached to this subscription",
            "type": "string"
          },
          "cancel_date": {
            "description": "The date this subscription was cancelled. The end date represents the date that the subscription will actually cancel",
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          },
          "change_date": {
            "description": "The date this subscription is due to change to a different plan",
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          },
          "computed_entitlements": {
            "description": "Computed entitlements attached to this subscription",
            "items": {
              "$ref": "#/components/schemas/ResponseEntitlementDataRepresentation"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "config_items": {
            "description": "The mapping of the quantities and the product metric pricings",
            "items": {
              "$ref": "#/components/schemas/ModelSubscriptionConfigItem"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "created_at": {
            "description": "The date the subscription was created",
            "format": "date-time",
            "type": "string"
          },
          "customer": {
            "$ref": "#/components/schemas/ResponseCustomerWebhookRepresentation",
            "description": "The expanded customer details for the subscription"
          },
          "customer_cancel_reason": {
            "description": "An optional reason provided by the customer for the cancellation",
            "type": [
              "null",
              "string"
            ]
          },
          "customer_id": {
            "description": "The customer to which this subscription belongs",
            "type": "string"
          },
          "end_date": {
            "description": "The end date of the subscription, if there is one",
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          },
          "id": {
            "description": "The ID of the subscription in Maple",
            "type": "string"
          },
          "import_created_at_ref": {
            "description": "The date the subscription was created in the import source",
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          },
          "import_ref": {
            "description": "The reference ID in the provider that this subscription maps to",
            "type": [
              "null",
              "string"
            ]
          },
          "imported_from": {
            "description": "The provider from which this subscription was imported",
            "type": [
              "null",
              "string"
            ]
          },
          "invoice_additional_display_fields": {
            "description": "Any additional invoice key-value pairs that attached to the invoices for this subscription",
            "items": {
              "$ref": "#/components/schemas/ModelInvoiceField"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "invoice_due_date_from_creation": {
            "description": "The number of days between the invoice date and the due date",
            "minimum": 0,
            "type": "integer"
          },
          "invoice_event_grace_period": {
            "description": "The grace period (in seconds) for post charge events to be captured before invoice is generated",
            "minimum": 0,
            "type": "integer"
          },
          "metadata": {
            "$ref": "#/components/schemas/DatatypesJSON",
            "description": "Any additional data as key-value pairs attached to the subscription"
          },
          "minimum_spend": {
            "$ref": "#/components/schemas/ModelAmount",
            "description": "The minimum spend for this subscription per billing period"
          },
          "mrr": {
            "$ref": "#/components/schemas/ModelAmount",
            "description": "The monthly recurring revenue for this subscription"
          },
          "next_invoice_date": {
            "description": "The date the next invoice for this subscription will be available",
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          },
          "parent_billed": {
            "description": "Whether the subscription is billed to the parent of this customer",
            "type": "boolean"
          },
          "parent_customer": {
            "$ref": "#/components/schemas/ResponseCustomerWebhookRepresentation",
            "description": "The parent customer for this subscription"
          },
          "parent_customer_id": {
            "description": "The parent customer to which this subscription could be billed to",
            "type": [
              "null",
              "string"
            ]
          },
          "pause_date": {
            "description": "The date this subscription was paused for collection",
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          },
          "payment_method_id": {
            "deprecated": true,
            "description": "The payment method for this subscription, if available. Use 'paymentMethod' instead",
            "type": [
              "null",
              "string"
            ]
          },
          "product_pricing_ids": {
            "description": "The list of plans that are part of this subscription along with the quantities and minimum purchased units per metric under the plan",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "renewal_date": {
            "description": "The renewal date of the subscription, if there is one",
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          },
          "start_date": {
            "description": "The start date of the subscription",
            "format": "date-time",
            "type": "string"
          },
          "status": {
            "description": "The subscription status which can be one of active, cancelled or unpaid",
            "type": "string"
          },
          "tags": {
            "description": "Tags attached to the subscription",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "term": {
            "$ref": "#/components/schemas/ModelTerm",
            "description": "The term for the subscription, broken into the intervals and the number of intervals"
          },
          "trial": {
            "description": "Whether the subscription is a trial",
            "type": "boolean"
          },
          "trial_conversion_date": {
            "description": "The date the trial converted to an active subscription, remains null if trial does not convert",
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          },
          "updated_at": {
            "description": "The date the subscription was last updated",
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ResponseTaxBreakdownLiteRepresentation": {
        "properties": {
          "aggregate_price": {
            "$ref": "#/components/schemas/ModelAmount"
          }
        },
        "type": "object"
      }
    }
  }
}