{
  "openapi": "3.1.0",
  "info": {
    "title": "Maple Billing API",
    "description": "APIs to communicate with Maple",
    "version": "1.0.0"
  },
  "servers": [
    {
      "url": "http://localhost:2500/api/v1"
    }
  ],
  "paths": {
    "/companies/{company_id}/billable_items": {
      "post": {
        "tags": [
          "Pricing"
        ],
        "summary": "Create Billable Item",
        "description": "Create a billable item",
        "operationId": "Create_Billable_Item",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestCreateBillableItemRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseBillableItemRepresentation"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/billable_items/find": {
      "post": {
        "tags": [
          "Pricing"
        ],
        "summary": "Find Billable Items",
        "description": "Find billable items",
        "operationId": "Find_Billable_Items",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestFindBillableItemsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseFindBillableItemsResponse"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/billable_items/{id}": {
      "patch": {
        "tags": [
          "Pricing"
        ],
        "summary": "Update Billable Item",
        "description": "Update a billable item",
        "operationId": "Update_Billable_Item",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The resource ID",
            "required": true,
            "schema": {
              "description": "The resource ID",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestUpdateBillableItemRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseBillableItemRepresentation"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/billable_metrics": {
      "post": {
        "tags": [
          "Pricing"
        ],
        "summary": "Create Billable Metric",
        "description": "Create a billable metric",
        "operationId": "Create_Billable_Metric",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestCreateBillableMetricRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseBillableMetricRepresentation"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/billable_metrics/find": {
      "post": {
        "tags": [
          "Pricing"
        ],
        "summary": "Find Billable Metrics",
        "description": "Find billable metrics",
        "operationId": "Find_Billable_Metrics",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestFindBillableMetricsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseFindBillableMetricsResponse"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/billable_metrics/{id}": {
      "patch": {
        "tags": [
          "Pricing"
        ],
        "summary": "Update Billable Metric",
        "description": "Update a billable metric",
        "operationId": "Update_Billable_Metric",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The resource ID",
            "required": true,
            "schema": {
              "description": "The resource ID",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestUpdateBillableMetricRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseBillableMetricRepresentation"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/bundles/find": {
      "post": {
        "tags": [
          "Pricing"
        ],
        "summary": "Find Bundles",
        "description": "Search for bundles with given parameters",
        "operationId": "Find_Bundles",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestFindBundlePricingRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseFindBundlePricingResponse"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/bundles/{id}": {
      "get": {
        "tags": [
          "Pricing"
        ],
        "summary": "Get Bundle",
        "description": "Retrieve a bundle by ID",
        "operationId": "Get_Bundle",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The resource ID",
            "required": true,
            "schema": {
              "description": "The resource ID",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseBundlePricingRepresentation"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/checkout": {
      "post": {
        "tags": [
          "Checkout"
        ],
        "summary": "Create Checkout Session",
        "description": "Create a customer-specific checkout session link to purchase a set of plans",
        "operationId": "Create_Checkout_Session",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestCreateCheckoutSessionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseProposalLinkResponse"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/checkout/{id}": {
      "get": {
        "tags": [
          "Checkout"
        ],
        "summary": "Get Checkout Session",
        "description": "Retrieve a checkout session by ID",
        "operationId": "Get_Checkout_Session",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The resource ID",
            "required": true,
            "schema": {
              "description": "The resource ID",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseProposalRepresentation"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/contracts": {
      "post": {
        "tags": [
          "Contracts"
        ],
        "summary": "Create Contract",
        "description": "Create a signature-enabled contract link to purchase a set of plans",
        "operationId": "Create_Contract",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestCreateContractRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseProposalRepresentation"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/contracts/find": {
      "post": {
        "tags": [
          "Contracts"
        ],
        "summary": "Find Contracts",
        "description": "Search contracts with given parameters",
        "operationId": "Find_Contracts",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestFindContractRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseFindContractResponse"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/contracts/{id}": {
      "get": {
        "tags": [
          "Contracts"
        ],
        "summary": "Get Contract",
        "description": "Retrieve a contract by ID",
        "operationId": "Get_Contract",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The resource ID",
            "required": true,
            "schema": {
              "description": "The resource ID",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseProposalRepresentation"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      },
      "patch": {
        "tags": [
          "Contracts"
        ],
        "summary": "Update Contract",
        "description": "Update a specific contract",
        "operationId": "Update_Contract",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The resource ID",
            "required": true,
            "schema": {
              "description": "The resource ID",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestUpdateContractRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseProposalRepresentation"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/credits": {
      "post": {
        "tags": [
          "Credits"
        ],
        "summary": "Create Credit",
        "description": "Create a credit with given parameters",
        "operationId": "Create_Credit",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestCreateCreditRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseCreditRepresentation"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/credits/check_balance/{customer_id}": {
      "get": {
        "tags": [
          "Credits"
        ],
        "summary": "Check Balance",
        "description": "Check credits balance for customer",
        "operationId": "Check_Balance",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "customer_id",
            "in": "path",
            "description": "customer_id or identifier",
            "required": true,
            "schema": {
              "description": "customer_id or identifier",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseCreditBalanceResponse"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/credits/consume": {
      "post": {
        "tags": [
          "Credits"
        ],
        "summary": "Consume Credits",
        "description": "Consume credits with given parameters",
        "operationId": "Consume_Credits",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestConsumeCreditsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseCreditBalanceResponse"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/credits/find": {
      "post": {
        "tags": [
          "Credits"
        ],
        "summary": "Find Credits",
        "description": "Search credits with given parameters",
        "operationId": "Find_Credits",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestFindCreditRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseFindCreditResponse"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/credits/logs/find": {
      "post": {
        "tags": [
          "Credits"
        ],
        "summary": "Find Credit Logs",
        "description": "Search credit logs with given parameters",
        "operationId": "Find_Credit_Logs",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestFindCreditLogsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseFindCreditLogsResponse"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/credits/{id}": {
      "get": {
        "tags": [
          "Credits"
        ],
        "summary": "Get Credit",
        "description": "Retrieve a credit by ID",
        "operationId": "Get_Credit",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The resource ID",
            "required": true,
            "schema": {
              "description": "The resource ID",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseCreditRepresentation"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      },
      "delete": {
        "tags": [
          "Credits"
        ],
        "summary": "Revoke Credit",
        "description": "Revoke a credit by ID",
        "operationId": "Revoke_Credit",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The resource ID",
            "required": true,
            "schema": {
              "description": "The resource ID",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseCreditRepresentation"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/customer_dashboards/{customer_id}/portal": {
      "post": {
        "tags": [
          "Customer Dashboards"
        ],
        "summary": "Get Customer Portal Link",
        "description": "Retrieve a customer portal link for a specific customer",
        "operationId": "Get_Customer_Portal_Link",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "customer_id",
            "in": "path",
            "description": "customer_id or identifier",
            "required": true,
            "schema": {
              "description": "customer_id or identifier",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseCustomerPortalLinkResponse"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/customer_dashboards/{customer_id}/usage": {
      "post": {
        "tags": [
          "Customer Dashboards"
        ],
        "summary": "Get Customer Usage Dashboard Link",
        "description": "Retrieve a embeddable usage dashboard link for a specific customer",
        "operationId": "Get_Customer_Usage_Dashboard_Link",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "customer_id",
            "in": "path",
            "description": "customer_id or identifier",
            "required": true,
            "schema": {
              "description": "customer_id or identifier",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseCustomerUsageDashboardLinkResponse"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/customers": {
      "post": {
        "tags": [
          "Customers"
        ],
        "summary": "Create Customer",
        "description": "Create a customer with given parameters",
        "operationId": "Create_Customer",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestCreateCustomerRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseCustomerLiteRepresentation"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/customers/find": {
      "post": {
        "tags": [
          "Customers"
        ],
        "summary": "Find Customers",
        "description": "Search customers with given parameters",
        "operationId": "Find_Customers",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestFindCustomerRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseFindCustomerLiteResponse"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/customers/{customer_id}": {
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "Get Customer",
        "description": "Retrieve a customer by ID or external identifier",
        "operationId": "Get_Customer",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "customer_id",
            "in": "path",
            "description": "customer_id or identifier",
            "required": true,
            "schema": {
              "description": "customer_id or identifier",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseCustomerLiteRepresentation"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      },
      "patch": {
        "tags": [
          "Customers"
        ],
        "summary": "Update Customer",
        "description": "Update a customer by ID or external identifier",
        "operationId": "Update_Customer",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "customer_id",
            "in": "path",
            "description": "customer_id or identifier",
            "required": true,
            "schema": {
              "description": "customer_id or identifier",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestUpdateCustomerRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseCustomerLiteRepresentation"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/customers/{customer_id}/add_payment_method_link": {
      "post": {
        "tags": [
          "Customers"
        ],
        "summary": "Add Payment Method Link",
        "description": "Get a link to a hosted page which allows a customer to add a payment method.",
        "operationId": "Add_Payment_Method_Link",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "customer_id",
            "in": "path",
            "description": "customer_id or identifier",
            "required": true,
            "schema": {
              "description": "customer_id or identifier",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestAddPaymentMethodLinkRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseAddPaymentMethodLinkResponse"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/customers/{customer_id}/payment_methods": {
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "Get Payment Methods",
        "description": "Get all payment methods for this customer from your payment provider (such as Stripe)",
        "operationId": "Get_Payment_Methods",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "customer_id",
            "in": "path",
            "description": "customer_id or identifier",
            "required": true,
            "schema": {
              "description": "customer_id or identifier",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseAllPaymentMethodsResponse"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/customers/{customer_id}/payment_methods/setup_intent": {
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "Get Payment Provider Intent",
        "description": "Get an intent for a customer to add a payment method for a payment provider (such as Stripe).",
        "operationId": "Get_Payment_Provider_Intent",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "customer_id",
            "in": "path",
            "description": "customer_id or identifier",
            "required": true,
            "schema": {
              "description": "customer_id or identifier",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseSetupIntentResponse"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/customers/{customer_id}/payment_methods/{id}": {
      "delete": {
        "tags": [
          "Customers"
        ],
        "summary": "Delete Payment Method",
        "description": "Deletes a customer payment method if it is not being used. If the payment method is still being used, an error will be returned",
        "operationId": "Delete_Payment_Method",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "customer_id",
            "in": "path",
            "description": "customer_id or identifier",
            "required": true,
            "schema": {
              "description": "customer_id or identifier",
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The resource ID",
            "required": true,
            "schema": {
              "description": "The resource ID",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseDeletePaymentMethodsResponse"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      },
      "patch": {
        "tags": [
          "Customers"
        ],
        "summary": "Update Payment Method",
        "description": "Update payment methods for this customer from your payment provider (such as Stripe). This endpoint also gives you the option to change all the subscriptions to use this endpoint",
        "operationId": "Update_Payment_Method",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "customer_id",
            "in": "path",
            "description": "customer_id or identifier",
            "required": true,
            "schema": {
              "description": "customer_id or identifier",
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The resource ID",
            "required": true,
            "schema": {
              "description": "The resource ID",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestUpdatePaymentMethodsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseUpdatePaymentMethodsResponse"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/customers/{customer_id}/start_managing": {
      "patch": {
        "tags": [
          "Customers"
        ],
        "summary": "Start Managing Customer",
        "description": "Start managing a customer in Maple that was previous managed externally.",
        "operationId": "Start_Managing_Customer",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "customer_id",
            "in": "path",
            "description": "customer_id or identifier",
            "required": true,
            "schema": {
              "description": "customer_id or identifier",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseCustomerLiteRepresentation"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/entitlements": {
      "post": {
        "tags": [
          "Entitlements"
        ],
        "summary": "Create Entitlement",
        "description": "Create an entitlement with given parameters",
        "operationId": "Create_Entitlement",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestCreateEntitlementRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseEntitlementRepresentation"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/entitlements/find": {
      "post": {
        "tags": [
          "Entitlements"
        ],
        "summary": "Find Entitlements",
        "description": "Search entitlements with given parameters",
        "operationId": "Find_Entitlements",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestFindEntitlementRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseFindEntitlementResponse"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/entitlements/{id}": {
      "get": {
        "tags": [
          "Entitlements"
        ],
        "summary": "Get Entitlement",
        "description": "Retrieve an entitlement by ID",
        "operationId": "Get_Entitlement",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The resource ID",
            "required": true,
            "schema": {
              "description": "The resource ID",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseEntitlementRepresentation"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      },
      "delete": {
        "tags": [
          "Entitlements"
        ],
        "summary": "Delete Entitlement",
        "description": "Delete an entitlement by ID",
        "operationId": "Delete_Entitlement",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The resource ID",
            "required": true,
            "schema": {
              "description": "The resource ID",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseBaseSuccessResponse"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      },
      "patch": {
        "tags": [
          "Entitlements"
        ],
        "summary": "Update Entitlement",
        "description": "Update an entitlement by ID",
        "operationId": "Update_Entitlement",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The resource ID",
            "required": true,
            "schema": {
              "description": "The resource ID",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestUpdateEntitlementRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseEntitlementRepresentation"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/events/ingest": {
      "post": {
        "tags": [
          "Events"
        ],
        "summary": "Ingest Usage Events",
        "description": "Send bulk billable usage events for metrics calculation",
        "operationId": "Ingest_Usage_Events",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestIngestEventsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseIngestEventsResponse"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/invoices/find": {
      "post": {
        "tags": [
          "Invoices"
        ],
        "summary": "Find Invoices",
        "description": "Search invoices with given parameters",
        "operationId": "Find_Invoices",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestFindInvoiceRequestExternal"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseFindInvoiceLiteResponse"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/invoices/next": {
      "post": {
        "tags": [
          "Invoices"
        ],
        "summary": "Next Invoice",
        "description": "Retrieve the upcoming invoice for the given subscription including any upcoming one time charges.",
        "operationId": "Next_Invoice",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestNextInvoiceRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseInvoiceLiteRepresentation"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/invoices/{uuid}": {
      "get": {
        "tags": [
          "Invoices"
        ],
        "summary": "Get Invoice",
        "description": "Retrieve an invoice by UUID",
        "operationId": "Get_Invoice",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "uuid",
            "in": "path",
            "description": "The resource UUID",
            "required": true,
            "schema": {
              "description": "The resource UUID",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseInvoiceLiteRepresentation"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      },
      "patch": {
        "tags": [
          "Invoices"
        ],
        "summary": "Update Invoice",
        "description": "Update invoice properties by UUID. To update status, refer to specific status update endpoints",
        "operationId": "Update_Invoice",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "uuid",
            "in": "path",
            "description": "The resource UUID",
            "required": true,
            "schema": {
              "description": "The resource UUID",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestUpdateInvoiceRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseInvoiceLiteRepresentation"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/invoices/{uuid}/finalize": {
      "post": {
        "tags": [
          "Invoices"
        ],
        "summary": "Finalize Draft Invoice",
        "description": "Finalize a draft invoice by UUID",
        "operationId": "Finalize_Draft_Invoice",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "uuid",
            "in": "path",
            "description": "The resource UUID",
            "required": true,
            "schema": {
              "description": "The resource UUID",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseInvoiceLiteRepresentation"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/invoices/{uuid}/mark_paid": {
      "post": {
        "tags": [
          "Invoices"
        ],
        "summary": "Mark Invoice As Paid",
        "description": "Mark an invoice as paid by UUID",
        "operationId": "Mark_Invoice_As_Paid",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "uuid",
            "in": "path",
            "description": "The resource UUID",
            "required": true,
            "schema": {
              "description": "The resource UUID",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestMarkInvoicePaidParams"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseInvoiceLiteRepresentation"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/invoices/{uuid}/void": {
      "post": {
        "tags": [
          "Invoices"
        ],
        "summary": "Void Invoice",
        "description": "Void an invoice by UUID",
        "operationId": "Void_Invoice",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "uuid",
            "in": "path",
            "description": "The resource UUID",
            "required": true,
            "schema": {
              "description": "The resource UUID",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseInvoiceLiteRepresentation"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/objects": {
      "post": {
        "tags": [
          "Objects"
        ],
        "summary": "Create Object",
        "description": "Create an object for metrics calculation",
        "operationId": "Create_Object",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestCreateBillableObjectRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseBillableObjectLiteRepresentation"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/objects/find": {
      "post": {
        "tags": [
          "Objects"
        ],
        "summary": "Find Objects",
        "description": "Search for objects with matching parameters",
        "operationId": "Find_Objects",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestFindBillableObjectRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseFindBillableObjectLiteResponse"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/objects/ingest": {
      "post": {
        "tags": [
          "Objects"
        ],
        "summary": "Ingest Objects",
        "description": "Send bulk billable objects for metrics calculation",
        "operationId": "Ingest_Objects",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestIngestObjectsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseIngestObjectsResponse"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/objects/{id}": {
      "get": {
        "tags": [
          "Objects"
        ],
        "summary": "Get Object",
        "description": "Retrieve an existing object by ID",
        "operationId": "Get_Object",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The resource ID",
            "required": true,
            "schema": {
              "description": "The resource ID",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseBillableObjectLiteRepresentation"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      },
      "delete": {
        "tags": [
          "Objects"
        ],
        "summary": "Delete Object",
        "description": "Delete an object by ID",
        "operationId": "Delete_Object",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The resource ID",
            "required": true,
            "schema": {
              "description": "The resource ID",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      },
      "patch": {
        "tags": [
          "Objects"
        ],
        "summary": "Update Object",
        "description": "Update the properties of an existing object",
        "operationId": "Update_Object",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The resource ID",
            "required": true,
            "schema": {
              "description": "The resource ID",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestUpdateBillableObjectRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseBillableObjectLiteRepresentation"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/one_times": {
      "post": {
        "tags": [
          "One-Time"
        ],
        "summary": "Create One-Time Charges",
        "description": "Create a one-time charges with given parameters",
        "operationId": "Create_One-Time_Charges",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestCreateOneTimesRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/ResponseOneTimeRepresentation"
                  },
                  "type": "array"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/one_times/find": {
      "post": {
        "tags": [
          "One-Time"
        ],
        "summary": "Find One-Time Charges",
        "description": "Search one-time charges with given parameters",
        "operationId": "Find_One-Time_Charges",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestFindOneTimesRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseFindOneTimesResponse"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/payments/transactions/find": {
      "post": {
        "tags": [
          "Payments"
        ],
        "summary": "Find Payment Transactions",
        "description": "Search payment transactions with given parameters.",
        "operationId": "Find_Payment_Transactions",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestFindPaymentTransactionsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseFindPaymentTransactionsResponse"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/payments/transactions/{id}/refund": {
      "post": {
        "tags": [
          "Payments"
        ],
        "summary": "Refund a Payment Transaction",
        "description": "Refund a specific payment transaction.",
        "operationId": "Refund_a_Payment_Transaction",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The resource ID",
            "required": true,
            "schema": {
              "description": "The resource ID",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestRefundTransactionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponsePaymentTransactionRepresentation"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/pricing": {
      "post": {
        "tags": [
          "Pricing"
        ],
        "summary": "Create Product Pricing",
        "description": "Create a new product pricing",
        "operationId": "Create_Product_Pricing",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestCreateSingleProductPricingRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseProductPricingLiteRepresentation"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/pricing/find": {
      "post": {
        "tags": [
          "Pricing"
        ],
        "summary": "Find Product Pricing",
        "description": "Search for product pricing with given parameters",
        "operationId": "Find_Product_Pricing",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestFindProductPricingRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseFindProductPricingLiteResponse"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/pricing/{id}": {
      "get": {
        "tags": [
          "Pricing"
        ],
        "summary": "Get Product Pricing",
        "description": "Retrieve a product pricing by ID or external identifier",
        "operationId": "Get_Product_Pricing",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The resource ID",
            "required": true,
            "schema": {
              "description": "The resource ID",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseProductPricingLiteRepresentation"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      },
      "patch": {
        "tags": [
          "Pricing"
        ],
        "summary": "Update Product Pricing",
        "description": "Update a product pricing by ID or external identifier",
        "operationId": "Update_Product_Pricing",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The resource ID",
            "required": true,
            "schema": {
              "description": "The resource ID",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestUpdateProductPricingRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseProductPricingLiteRepresentation"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/products": {
      "post": {
        "tags": [
          "Pricing"
        ],
        "summary": "Create Product",
        "description": "Create a new product",
        "operationId": "Create_Product",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestCreateProductRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseProductRepresentation"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/products/find": {
      "post": {
        "tags": [
          "Pricing"
        ],
        "summary": "Find Products",
        "description": "Search for products with given parameters",
        "operationId": "Find_Products",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestFindProductRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseFindProductLiteResponse"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/products/{id}": {
      "get": {
        "tags": [
          "Pricing"
        ],
        "summary": "Get Product",
        "description": "Retrieve a product by ID or external identifier",
        "operationId": "Get_Product",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The resource ID",
            "required": true,
            "schema": {
              "description": "The resource ID",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseProductLiteRepresentation"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      },
      "patch": {
        "tags": [
          "Pricing"
        ],
        "summary": "Update Product",
        "description": "Update by product by ID or external identifier",
        "operationId": "Update_Product",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The resource ID",
            "required": true,
            "schema": {
              "description": "The resource ID",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestUpdateProductRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseProductRepresentation"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/report/cached_metrics": {
      "post": {
        "tags": [
          "Metrics"
        ],
        "summary": "Get Metrics Data",
        "description": "Retrieve a specific metrics data",
        "operationId": "Get_Metrics_Data",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestCachedMetricChartRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/ResponseMetricsChartResponse"
                  },
                  "type": "array"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/subscriptions": {
      "post": {
        "tags": [
          "Subscriptions"
        ],
        "summary": "Create Subscription",
        "description": "Create a subscription with the provided plan details",
        "operationId": "Create_Subscription",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestCreateSubscriptionRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseSubscriptionLiteRepresentation"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/subscriptions/find": {
      "post": {
        "tags": [
          "Subscriptions"
        ],
        "summary": "Find Subscriptions",
        "description": "Search subscriptions with given parameters",
        "operationId": "Find_Subscriptions",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestFindSubscriptionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseFindSubscriptionLiteResponse"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/subscriptions/{id}": {
      "get": {
        "tags": [
          "Subscriptions"
        ],
        "summary": "Get Subscription",
        "description": "Retrieve a subscription by ID or external identifier",
        "operationId": "Get_Subscription",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The resource ID",
            "required": true,
            "schema": {
              "description": "The resource ID",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseSubscriptionLiteRepresentation"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      },
      "patch": {
        "tags": [
          "Subscriptions"
        ],
        "summary": "Update Subscription",
        "description": "Update the properties of the subscription by ID with the provided details. Note: The subscription product pricing can not be changed with this endpoint. Please refer to /change to make plan changes.",
        "operationId": "Update_Subscription",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The resource ID",
            "required": true,
            "schema": {
              "description": "The resource ID",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestUpdateSubscriptionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseSubscriptionLiteRepresentation"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/subscriptions/{id}/cancel": {
      "post": {
        "tags": [
          "Subscriptions"
        ],
        "summary": "Cancel Subscription",
        "description": "Cancel a subscription by ID with the provided cancellation options",
        "operationId": "Cancel_Subscription",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The resource ID",
            "required": true,
            "schema": {
              "description": "The resource ID",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestCancelSubscriptionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseSubscriptionLiteRepresentation"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/subscriptions/{id}/change": {
      "post": {
        "tags": [
          "Subscriptions"
        ],
        "summary": "Change Subscription",
        "description": "Change a subscription by ID with the provided plan details",
        "operationId": "Change_Subscription",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The resource ID",
            "required": true,
            "schema": {
              "description": "The resource ID",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestChangeSubscriptionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseSubscriptionLiteRepresentation"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/subscriptions/{id}/current_period_usage": {
      "post": {
        "tags": [
          "Subscriptions"
        ],
        "summary": "Get Subscription Usage for Current Period",
        "description": "Retrieve the usage for the current period of the subscription for a specific billable item",
        "operationId": "Get_Subscription_Usage_for_Current_Period",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The resource ID",
            "required": true,
            "schema": {
              "description": "The resource ID",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestSubscriptionCurrentPeriodUsageRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseSubscriptionCurrentPeriodUsage"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/subscriptions/{id}/extend": {
      "post": {
        "tags": [
          "Subscriptions"
        ],
        "summary": "Extend Trial End Date",
        "description": "Update the end of the trial for the subscription. This can only be performed on an active trial subscription.",
        "operationId": "Extend_Trial_End_Date",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The resource ID",
            "required": true,
            "schema": {
              "description": "The resource ID",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestSubscriptionTrialExtendRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseSubscriptionLiteRepresentation"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/subscriptions/{id}/generate_next_invoice": {
      "post": {
        "tags": [
          "Subscriptions"
        ],
        "summary": "Generate Next Invoice",
        "description": "Generate the next invoice for the subscription right away. This is an asynchronous process so changes won't be reflected immediately.",
        "operationId": "Generate_Next_Invoice",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The resource ID",
            "required": true,
            "schema": {
              "description": "The resource ID",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseBaseSuccessResponse"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/subscriptions/{id}/undo_cancel": {
      "post": {
        "tags": [
          "Subscriptions"
        ],
        "summary": "Undo Cancel Subscription",
        "description": "Undo an upcoming cancellation on a subscription by ID. This does not revive an already cancelled subscription.",
        "operationId": "Undo_Cancel_Subscription",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The resource ID",
            "required": true,
            "schema": {
              "description": "The resource ID",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseSubscriptionLiteRepresentation"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    },
    "/companies/{company_id}/subscriptions/{id}/usage": {
      "post": {
        "tags": [
          "Subscriptions"
        ],
        "summary": "Get Subscription Usage",
        "description": "Retrieve the subscription usage by ID for a specific metric",
        "operationId": "Get_Subscription_Usage",
        "parameters": [
          {
            "name": "company_id",
            "in": "path",
            "description": "The company ID with the prefix 'cmp_'. ",
            "required": true,
            "schema": {
              "description": "The company ID with the prefix 'cmp_'. ",
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The resource ID",
            "required": true,
            "schema": {
              "description": "The resource ID",
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "The idempotency key that will be used to ensure the request is only performed once",
            "schema": {
              "description": "The idempotency key that will be used to ensure the request is only performed once",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestSubscriptionUsageRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseSubscriptionUsageRepresentation"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "apiKey": [
              ""
            ]
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "CommonHelcimPaymentIntent": {
        "properties": {
          "checkout_token": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "CommonPaymentMethod": {
        "properties": {
          "billing_email": {
            "type": "string"
          },
          "brand": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "default": {
            "type": "boolean"
          },
          "exp_month": {
            "format": "int64",
            "type": "integer"
          },
          "exp_year": {
            "format": "int64",
            "type": "integer"
          },
          "helcim_payment_method_id": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "institution_number": {
            "type": "string"
          },
          "last_4": {
            "type": "string"
          },
          "mandate_id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "payment_provider_key": {
            "type": "string"
          },
          "routing_number": {
            "type": "string"
          },
          "transit_number": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "CommonRazorPaySetupIntent": {
        "properties": {
          "id": {
            "type": "string"
          },
          "intent_secret": {
            "type": "string"
          },
          "provider_customer_id": {
            "type": "string"
          },
          "recurring": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "CommonSquareSetupIntent": {
        "properties": {
          "account_id": {
            "type": "string"
          },
          "location_id": {
            "type": "string"
          },
          "provider_customer_id": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "CommonStripeSetupIntent": {
        "properties": {
          "account_id": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "intent_secret": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "DatatypesJSON": {
        "items": {
          "minimum": 0,
          "type": "integer"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "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": {
            "format": "int64",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "ModelAmountFilter": {
        "properties": {
          "eq": {
            "description": "Equal to",
            "type": [
              "null",
              "number"
            ]
          },
          "gte": {
            "description": "Greater than or equal to",
            "type": [
              "null",
              "number"
            ]
          },
          "lte": {
            "description": "Less than or equal to",
            "type": [
              "null",
              "number"
            ]
          }
        },
        "type": [
          "object",
          "null"
        ]
      },
      "ModelArrayFilterString": {
        "properties": {
          "condition": {
            "enum": [
              "AND",
              "OR"
            ],
            "type": "string"
          },
          "values": {
            "items": {
              "type": "string"
            },
            "type": [
              "array"
            ]
          }
        },
        "required": [
          "condition",
          "values"
        ],
        "type": "object"
      },
      "ModelAvalaraCustomerIntegrationMetadata": {
        "properties": {
          "entity_code": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "ModelBillableObjectAction": {
        "properties": {
          "action": {
            "description": "The specific object action such as CREATE, UPDATE or DELETE to perform.",
            "enum": [
              "CREATE",
              "UPDATE",
              "DELETE"
            ],
            "type": "string"
          },
          "customer_id": {
            "description": "The customer ID in Maple",
            "type": "string"
          },
          "customer_identifier": {
            "description": "A unique identifier for the customer that ties back to your system",
            "type": "string"
          },
          "item_id": {
            "description": "The billable item ID from Maple that this object is being tracked for",
            "type": "string"
          },
          "object_identifier": {
            "description": "A unique identifier for the object that ties back to your system",
            "type": "string"
          },
          "properties": {
            "additionalProperties": {},
            "description": "The set of properties relevant to billing metrics that are set up in Maple",
            "type": [
              "object"
            ]
          }
        },
        "required": [
          "customer_id",
          "customer_identifier",
          "object_identifier",
          "item_id",
          "properties",
          "action"
        ],
        "type": "object"
      },
      "ModelBillableUsageEvent": {
        "properties": {
          "customer_id": {
            "description": "The customer ID in Maple",
            "type": "string"
          },
          "customer_identifier": {
            "description": "The unique identifier for the customer that ties back to your system",
            "type": "string"
          },
          "item_id": {
            "description": "The billable item ID from Maple that this event is being tracked for",
            "type": "string"
          },
          "properties": {
            "additionalProperties": {},
            "description": "The set of properties relevant to billing metrics that are set up in Maple",
            "type": [
              "object"
            ]
          },
          "subscription_id": {
            "description": "Optionally, the subscription ID in Maple that the event should be restricted to",
            "type": [
              "null",
              "string"
            ]
          },
          "timestamp": {
            "description": "The timestamp for the event in RFC-3339 format",
            "type": "string"
          },
          "transaction_id": {
            "description": "The unique identifier for the event. This is used for idempotency over 24 hours.",
            "type": "string"
          }
        },
        "required": [
          "transaction_id",
          "timestamp",
          "item_id",
          "properties"
        ],
        "type": "object"
      },
      "ModelBundlePricing": {
        "properties": {
          "bundle_product_pricings": {
            "items": {
              "$ref": "#/components/schemas/ModelBundleProductPricing"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "company_id": {
            "type": "string"
          },
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "currency": {
            "type": "string"
          },
          "default_term": {
            "$ref": "#/components/schemas/ModelTerm"
          },
          "deleted_at": {
            "$ref": "#/components/schemas/GormDeletedAt"
          },
          "description": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "image_url": {
            "type": "string"
          },
          "import_created_at_ref": {
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          },
          "import_ref": {
            "type": [
              "null",
              "string"
            ]
          },
          "imported_from": {
            "type": [
              "null",
              "string"
            ]
          },
          "is_auto_generated": {
            "type": "boolean"
          },
          "key": {
            "type": "string"
          },
          "metadata": {
            "additionalProperties": true,
            "type": "object"
          },
          "name": {
            "type": "string"
          },
          "num_subs": {
            "minimum": 0,
            "type": "integer"
          },
          "state": {
            "type": "string"
          },
          "updated_at": {
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ModelBundleProductPricing": {
        "properties": {
          "bundle_pricing_id": {
            "type": "string"
          },
          "company_id": {
            "type": "string"
          },
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "deleted_at": {
            "$ref": "#/components/schemas/GormDeletedAt"
          },
          "id": {
            "type": "string"
          },
          "product_id": {
            "type": "string"
          },
          "product_pricing_id": {
            "type": "string"
          },
          "updated_at": {
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ModelChildRollupBillingConfig": {
        "description": "The configuration for child rollup billing",
        "properties": {
          "auto_charges": {
            "description": "Whether the rollup invoice is automatically charged on the customer payment method",
            "type": [
              "null",
              "boolean"
            ]
          },
          "end_date": {
            "description": "The last date of the rollup invoice generation",
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          },
          "frequency": {
            "description": "The frequency at which the rollup invoice is generated",
            "enum": [
              "HOUR",
              "DAY",
              "WEEK",
              "BI_MONTH",
              "MONTH",
              "QUARTER",
              "BI_ANNUAL",
              "YEAR"
            ],
            "type": [
              "string"
            ]
          },
          "invoice_additional_display_fields": {
            "description": "Any additional metadata fields to be displayed on the rollup invoice such as a PO number, payment details etc.",
            "items": {
              "$ref": "#/components/schemas/ModelInvoiceField"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "invoice_due_date_from_creation": {
            "description": "The net terms of the rollup invoice generated",
            "minimum": 0,
            "type": [
              "null",
              "integer"
            ]
          },
          "start_date": {
            "description": "The start date of the rollup invoice generation",
            "format": "date-time",
            "type": [
              "string"
            ]
          }
        },
        "required": [
          "frequency",
          "start_date"
        ],
        "type": [
          "object",
          "null"
        ]
      },
      "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",
            "enum": [
              "AMOUNT",
              "UNITS"
            ],
            "type": "string"
          },
          "units": {
            "description": "Units of credit",
            "exclusiveMinimum": 0,
            "format": "double",
            "type": "number"
          }
        },
        "required": [
          "type"
        ],
        "type": "object"
      },
      "ModelCustomPricing": {
        "properties": {
          "max_price_per_unit": {
            "type": "number"
          },
          "min_price_per_unit": {
            "type": "number"
          },
          "preset_price_per_unit": {
            "type": "number"
          },
          "price_per_unit": {
            "type": "number"
          }
        },
        "type": "object"
      },
      "ModelCustomerIntegrationMetadata": {
        "properties": {
          "avalara": {
            "$ref": "#/components/schemas/ModelAvalaraCustomerIntegrationMetadata"
          }
        },
        "type": "object"
      },
      "ModelDateFilter": {
        "properties": {
          "eq": {
            "description": "Equal to the specific time",
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          },
          "gte": {
            "description": "On or after the specific time",
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          },
          "lt": {
            "description": "Before the specific time",
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          },
          "lte": {
            "description": "On or before the specific time",
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          }
        },
        "type": [
          "object",
          "null"
        ]
      },
      "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": {
            "format": "double",
            "type": "number"
          },
          "product_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "product_pricing_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "proposal_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "state": {
            "type": [
              "string",
              "null"
            ]
          },
          "subscription_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "type": {
            "type": "string"
          },
          "updated_at": {
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ModelDiscountParams": {
        "description": "The details for the discount",
        "properties": {
          "amount": {
            "$ref": "#/components/schemas/ModelAmount"
          },
          "cap": {
            "$ref": "#/components/schemas/ModelAmount"
          },
          "coupon_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "customer_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "expiration_date": {
            "format": "date-time",
            "type": [
              "null",
              "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_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "percent": {
            "format": "double",
            "maximum": 1,
            "minimum": 0,
            "type": "number"
          },
          "product_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "product_pricing_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "proposal_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "state": {
            "enum": [
              "ACTIVE",
              "PENDING",
              "REVOKED",
              "EXPIRED",
              "CONSUMED"
            ],
            "type": [
              "null",
              "string"
            ]
          },
          "subscription_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "type": {
            "enum": [
              "DISCOUNT_AMOUNT",
              "DISCOUNT_PERCENT"
            ],
            "type": "string"
          }
        },
        "required": [
          "name",
          "type"
        ],
        "type": "object"
      },
      "ModelFixedPricing": {
        "properties": {
          "price_per_unit": {
            "description": "Price per unit (in cents)",
            "type": "number"
          }
        },
        "type": "object"
      },
      "ModelGradientPricing": {
        "properties": {
          "end": {
            "description": "End quantity for the row",
            "minimum": 0,
            "type": "integer"
          },
          "flat_price": {
            "description": "Flat Price (in cents)",
            "type": "number"
          },
          "is_custom_tier": {
            "description": "Is custom tier",
            "type": "boolean"
          },
          "price_per_unit": {
            "description": "Price per unit (in cents)",
            "type": "number"
          },
          "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"
      },
      "ModelMetricGroupingResponse": {
        "properties": {
          "key": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "value": {}
        },
        "type": "object"
      },
      "ModelMetricResponse": {
        "properties": {
          "breakout": {
            "additionalProperties": {},
            "type": "object"
          },
          "grouping": {
            "additionalProperties": {
              "$ref": "#/components/schemas/ModelMetricGroupingResponse"
            },
            "type": "object"
          },
          "period": {
            "$ref": "#/components/schemas/ModelPeriod"
          },
          "value": {}
        },
        "type": "object"
      },
      "ModelNullableAddress": {
        "type": "object"
      },
      "ModelNullableString": {
        "type": "object"
      },
      "ModelOneTimeBillable": {
        "properties": {
          "aggregate": {
            "format": "double",
            "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": {
            "description": "The description of the one-time charge",
            "type": [
              "string",
              "null"
            ]
          },
          "product_id": {
            "description": "The product ID",
            "type": "string"
          }
        },
        "required": [
          "product_id",
          "amount"
        ],
        "type": "object"
      },
      "ModelOneTimeParams": {
        "description": "The pricing and aggregate for the one-time billable item",
        "properties": {
          "aggregate": {
            "description": "The quantity of the one-time charge",
            "exclusiveMinimum": 0,
            "format": "double",
            "type": "number"
          },
          "custom_price": {
            "$ref": "#/components/schemas/ModelOneTimeCustomPrice",
            "description": "The custom pricing for the product. Either 'product_pricing_id' or 'custom_price' is required"
          },
          "product_pricing_id": {
            "description": "The product pricing for the one-time charge. Either 'product_pricing_id' or 'custom_price' is required",
            "type": [
              "null",
              "string"
            ]
          },
          "quantity_config": {
            "$ref": "#/components/schemas/ModelQuantityConfig"
          },
          "sort_order": {
            "description": "The sort index",
            "type": [
              "null",
              "number"
            ]
          }
        },
        "required": [
          "aggregate"
        ],
        "type": "object"
      },
      "ModelPeriod": {
        "description": "The period with a start and end date range",
        "properties": {
          "end_date": {
            "description": "The end date of the period in RFC-3339 format",
            "format": "date-time",
            "type": "string"
          },
          "start_date": {
            "description": "The start date of the period in RFC-3339 format",
            "format": "date-time",
            "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"
      },
      "ModelRecurringAuthorizeNetParams": {
        "properties": {
          "payment_method_id": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "ModelRecurringHelcimParams": {
        "properties": {
          "payment_method_id": {
            "type": [
              "null",
              "string"
            ]
          }
        },
        "type": "object"
      },
      "ModelRecurringPaymentData": {
        "properties": {
          "authorize_net": {
            "$ref": "#/components/schemas/ModelRecurringAuthorizeNetParams"
          },
          "helcim": {
            "$ref": "#/components/schemas/ModelRecurringHelcimParams"
          },
          "payment_provider_key": {
            "enum": [
              "stripe",
              "helcim"
            ],
            "type": "string"
          },
          "razor_pay": {
            "$ref": "#/components/schemas/ModelRecurringRazorPayParams"
          },
          "stripe": {
            "$ref": "#/components/schemas/ModelRecurringStripeParams"
          }
        },
        "type": "object"
      },
      "ModelRecurringRazorPayParams": {
        "properties": {
          "token_id": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "ModelRecurringStripeParams": {
        "properties": {
          "payment_method_id": {
            "type": "string"
          }
        },
        "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"
          }
        },
        "required": [
          "name",
          "email"
        ],
        "type": "object"
      },
      "ModelStepPricing": {
        "properties": {
          "price_per_step": {
            "description": "Price per step (in cents)",
            "type": "number"
          },
          "step_size": {
            "description": "Step size",
            "minimum": 0,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "ModelSubscriptionCancelConfig": {
        "properties": {
          "campaign_id": {
            "type": "string"
          },
          "campaign_step_id": {
            "type": "string"
          },
          "charge_remaining_balance": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "custom_end_date": {
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          },
          "custom_refund_amount": {
            "$ref": "#/components/schemas/ModelAmount"
          },
          "reason": {
            "type": [
              "null",
              "string"
            ]
          },
          "refund_type": {
            "type": "string"
          },
          "send_customer_receipt": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "timing": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "ModelSubscriptionChangeConfig": {
        "properties": {
          "actual_change_time": {
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          },
          "auto_charges": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "bundle_pricing": {
            "$ref": "#/components/schemas/ModelBundlePricing"
          },
          "bundle_pricing_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "config_items": {
            "items": {
              "$ref": "#/components/schemas/ModelSubscriptionConfigItem"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "custom_change_date": {
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          },
          "discounts": {
            "items": {
              "$ref": "#/components/schemas/ModelDiscountParams"
            },
            "type": [
              "null",
              "array"
            ]
          },
          "metadata": {
            "additionalProperties": true,
            "type": "object"
          },
          "minimum_spend": {
            "$ref": "#/components/schemas/ModelAmount"
          },
          "onetime_items": {
            "items": {
              "$ref": "#/components/schemas/ModelOneTimeParams"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "payment_method_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "product_pricing_ids": {
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "proration_type": {
            "enum": [
              "NEXT",
              "IMMEDIATE",
              "NONE"
            ],
            "type": "string"
          },
          "relative_term": {
            "$ref": "#/components/schemas/ModelTerm"
          },
          "reset_billing_anchor": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "term": {
            "$ref": "#/components/schemas/ModelTerm"
          },
          "timing": {
            "enum": [
              "IMMEDIATE",
              "PERIOD_END",
              "RENEWAL",
              "CUSTOM",
              "RELATIVE"
            ],
            "type": "string"
          },
          "trial": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "trial_term": {
            "$ref": "#/components/schemas/ModelTerm"
          }
        },
        "required": [
          "timing",
          "proration_type"
        ],
        "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",
            "format": "double",
            "minimum": 0,
            "type": "number"
          },
          "num_licenses": {
            "description": "The number of licenses for this license-based component",
            "format": "double",
            "minimum": 0,
            "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"
      },
      "ModelSubscriptionPauseConfig": {
        "properties": {
          "behavior": {
            "type": "string"
          },
          "resume_date": {
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          }
        },
        "required": [
          "behavior"
        ],
        "type": "object"
      },
      "ModelSubscriptionUsageValue": {
        "properties": {
          "breakdown": {
            "items": {
              "$ref": "#/components/schemas/ModelMetricResponse"
            },
            "type": "array"
          },
          "period": {
            "$ref": "#/components/schemas/ModelPeriod"
          },
          "subscription_metric_record_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "value": {}
        },
        "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",
            "exclusiveMinimum": 0,
            "format": "int64",
            "type": "integer"
          },
          "frequency": {
            "description": "The frequency at which the term repeats",
            "enum": [
              "HOUR",
              "DAY",
              "WEEK",
              "BI_MONTH",
              "MONTH",
              "QUARTER",
              "BI_ANNUAL",
              "YEAR",
              "ONETIME"
            ],
            "type": "string"
          }
        },
        "required": [
          "frequency",
          "count"
        ],
        "type": "object"
      },
      "ModelVariableConfig": {
        "properties": {
          "default": {
            "type": "string"
          },
          "is_custom": {
            "type": "boolean"
          },
          "is_editable": {
            "type": "boolean"
          },
          "key": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "tag": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "validation": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "ModelVolumePricing": {
        "properties": {
          "flat_price": {
            "description": "Flat Price (in cents)",
            "type": "number"
          },
          "is_custom_tier": {
            "description": "Is custom tier",
            "type": "boolean"
          },
          "price_per_unit": {
            "description": "Price per unit (in cents)",
            "type": "number"
          },
          "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"
      },
      "NullableV1String": {
        "type": "object"
      },
      "RequestAddPaymentMethodLinkRequest": {
        "properties": {
          "redirect_url": {
            "type": [
              "null",
              "string"
            ]
          }
        },
        "type": "object"
      },
      "RequestApplyToOpenInvoicesParams": {
        "properties": {
          "enable": {
            "type": "boolean"
          },
          "invoice_uuids": {
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "enable"
        ],
        "type": "object"
      },
      "RequestCachedMetricChartRequest": {
        "properties": {
          "frequency": {
            "enum": [
              "DAY",
              "WEEK",
              "MONTH",
              "QUARTER"
            ],
            "type": "string"
          },
          "grouping": {
            "default": "NONE",
            "enum": [
              "NONE",
              "PRODUCT",
              "PRICING",
              "PRODUCT_TAGS",
              "PRICING_TAGS"
            ],
            "type": "string"
          },
          "metric": {
            "description": "The metric chart type",
            "enum": [
              "ACTIVE_SUBS",
              "NEW_SUBS",
              "CHURNED_SUBS",
              "ACTIVE_TRIALS",
              "NEW_TRIALS",
              "CHURNED_TRIALS",
              "CONVERTED_TRIALS",
              "ACTIVE_CUSTOMERS",
              "NEW_CUSTOMERS",
              "CHURNED_CUSTOMERS",
              "NET_REVENUE",
              "TOTAL_REVENUE",
              "TOTAL_INVOICED_REVENUE",
              "MRR",
              "ARR",
              "MRR_GROWTH",
              "FEES",
              "UPGRADES",
              "DOWNGRADES",
              "USER_CHURN",
              "REVENUE_CHURN",
              "NET_REVENUE_CHURN",
              "ARPU",
              "LTV",
              "ARPL",
              "OTHER_REVENUE",
              "LICENSES",
              "HISTORICAL_ARPU",
              "APPLICATION_FEES_CONNECTED_ACCOUNTS",
              "REVENUE_CONNECTED_ACCOUNTS",
              "DISCOUNTS_REDEEMED",
              "FAILED_CHARGES",
              "REFUNDS",
              "NEW_REFUNDS",
              "REACTIVATIONS"
            ],
            "type": "string"
          },
          "period": {
            "$ref": "#/components/schemas/ModelPeriod"
          }
        },
        "required": [
          "metric",
          "period",
          "frequency"
        ],
        "type": "object"
      },
      "RequestCancelSubscriptionRequest": {
        "description": "The cancellation configuration for the subscription",
        "properties": {
          "cancel_pending_invoices": {
            "description": "Whether to cancel the pending invoices in the subscription",
            "type": "boolean"
          },
          "charge_remaining_balance": {
            "description": "Whether to charge the remaining balance on the subscription. This option cannot be combined with other refund types",
            "type": [
              "boolean"
            ]
          },
          "custom_end_date": {
            "description": "The date for the cancellation in RFC-3339 format when the timing is CUSTOM",
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          },
          "custom_refund_amount": {
            "$ref": "#/components/schemas/ModelAmount",
            "description": "The amount for the refund when the refund type is CUSTOM"
          },
          "customer_cancel_reason": {
            "description": "An optional reason provided by the customer for the cancellation",
            "type": [
              "null",
              "string"
            ]
          },
          "reason": {
            "description": "The reason for the subscription cancellation",
            "enum": [
              "subscription.revoked",
              "subscription.cancelled",
              "subscription.expired"
            ],
            "type": [
              "null",
              "string"
            ]
          },
          "refund_type": {
            "description": "This is one of PRORATED, NONE, LAST_PAYMENT or CUSTOM based on whether the refund needs to be the prorated price of the subscription, no refund, the last payment from the customer for this subscription or any custom amount respectively",
            "enum": [
              "PRORATED",
              "NONE",
              "LAST_PAYMENT",
              "CUSTOM"
            ],
            "type": "string"
          },
          "send_customer_receipt": {
            "description": "Whether to email the cancellation receipt to the customer",
            "type": [
              "null",
              "boolean"
            ]
          },
          "timing": {
            "description": "This is one of IMMEDIATE, CUSTOM, PERIOD_END or RENEWAL based on whether the cancellation needs to happen immediately, at a custom date, at the end of the current period or at the renewal date respectively",
            "enum": [
              "IMMEDIATE",
              "CUSTOM",
              "PERIOD_END",
              "RENEWAL"
            ],
            "type": "string"
          }
        },
        "required": [
          "timing",
          "refund_type",
          "charge_remaining_balance"
        ],
        "type": "object"
      },
      "RequestChangeSubscriptionRequest": {
        "description": "The change configuration for subscription",
        "properties": {
          "auto_charges": {
            "description": "Whether the subscription is automatically charged to the payment method",
            "type": [
              "null",
              "boolean"
            ]
          },
          "config_items": {
            "description": "The mapping of the product metric pricings to their quantity",
            "items": {
              "$ref": "#/components/schemas/ModelSubscriptionConfigItem"
            },
            "type": [
              "array"
            ]
          },
          "discounts": {
            "description": "The discounts attached to the change. If no discounts are sent, the original discounts on the subscription will remain",
            "items": {
              "$ref": "#/components/schemas/RequestDiscountParams"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "metadata": {
            "additionalProperties": true,
            "description": "Any additional data as key-value pairs that needs to be attached to the changed subscription",
            "type": "object"
          },
          "onetime_items": {
            "description": "Any one time charges to be attached to the change",
            "items": {
              "$ref": "#/components/schemas/ModelOneTimeParams"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "payment_method_id": {
            "description": "The payment method for the subscription on change",
            "type": [
              "null",
              "string"
            ]
          },
          "product_pricing_ids": {
            "description": "The list of product pricings that form the subscription",
            "items": {
              "type": "string"
            },
            "type": [
              "array"
            ]
          },
          "proration_type": {
            "description": "This is one of NEXT, IMMEDIATE or NONE based on whether the proration is charged on the next invoice, immediately or no proration is applied respectively",
            "enum": [
              "NEXT",
              "IMMEDIATE",
              "NONE"
            ],
            "type": "string"
          },
          "reset_billing_anchor": {
            "description": "Whether to reset the billing anchor of the subscription",
            "type": [
              "null",
              "boolean"
            ]
          },
          "term": {
            "$ref": "#/components/schemas/ModelTerm",
            "description": "The term for the subscription, defaults to the largest product pricing frequency"
          },
          "timing": {
            "description": "This is one of IMMEDIATE, PERIOD_END or RENEWAL based on whether the change timing needs to be immediate, at the end of the current period, on renewal respectively",
            "enum": [
              "IMMEDIATE",
              "PERIOD_END",
              "RENEWAL"
            ],
            "type": "string"
          },
          "trial": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "trial_term": {
            "$ref": "#/components/schemas/ModelTerm"
          }
        },
        "required": [
          "timing",
          "proration_type",
          "product_pricing_ids",
          "config_items"
        ],
        "type": "object"
      },
      "RequestConsumeCreditsRequest": {
        "properties": {
          "amount": {
            "$ref": "#/components/schemas/ModelAmount",
            "description": "The amount to be consumed"
          },
          "credit_id": {
            "description": "The specific credit ID to consume",
            "type": [
              "null",
              "string"
            ]
          },
          "customer_id": {
            "description": "The customer ID to consume credits",
            "type": "string"
          },
          "item_id": {
            "description": "The billable item ID whose units are to be consumed",
            "type": [
              "null",
              "string"
            ]
          },
          "note": {
            "description": "Add any notes attached to the credit consumption",
            "type": [
              "null",
              "string"
            ]
          },
          "type": {
            "description": "The type of the credit to be consumed, can be one of AMOUNT or UNITS",
            "type": "string"
          },
          "units": {
            "description": "The units to consume",
            "minimum": 0,
            "type": [
              "null",
              "number"
            ]
          }
        },
        "required": [
          "customer_id",
          "type"
        ],
        "type": "object"
      },
      "RequestCreateBillableItemRequest": {
        "properties": {
          "description": {
            "description": "The description of the billable item",
            "type": "string"
          },
          "display_type": {
            "description": "The display units of the billable item which can be UNITS, AMOUNT, THOUSAND_UNITS or MILLION_UNITS, based on whether they need to be displayed as units, amounts, thousands of units (K) or millions of units (M)",
            "enum": [
              "UNITS",
              "AMOUNT",
              "THOUSAND_UNITS",
              "MILLION_UNITS"
            ],
            "type": [
              "null",
              "string"
            ]
          },
          "external_name": {
            "description": "The public name of the billable item",
            "type": "string"
          },
          "name": {
            "description": "The name of the billable item",
            "type": "string"
          },
          "type": {
            "description": "The type of billable item which can be one of CUSTOM_USAGE or CUSTOM_OBJ, based on usage-based item or object-based item",
            "enum": [
              "CUSTOM_USAGE",
              "CUSTOM_OBJ"
            ],
            "type": "string"
          }
        },
        "required": [
          "name",
          "type"
        ],
        "type": "object"
      },
      "RequestCreateBillableMetricRequest": {
        "properties": {
          "description": {
            "description": "The description of the billable metric",
            "type": "string"
          },
          "external_name": {
            "description": "The public name of the billable metric",
            "type": "string"
          },
          "is_billable": {
            "description": "Whether to include charges for this metric on invoices",
            "type": "boolean"
          },
          "item_id": {
            "description": "The billable item associated with the metric",
            "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"
          }
        },
        "required": [
          "name",
          "item_id",
          "metering_rule"
        ],
        "type": "object"
      },
      "RequestCreateBillableObjectRequest": {
        "properties": {
          "customer_id": {
            "description": "The customer ID in Maple",
            "type": [
              "null",
              "string"
            ]
          },
          "customer_identifier": {
            "description": "A unique identifier for the customer that ties back to your system",
            "type": [
              "null",
              "string"
            ]
          },
          "item_id": {
            "description": "The billable item ID from Maple that this object is being tracked for",
            "type": "string"
          },
          "object_identifier": {
            "description": "A unique identifier for the object that ties back to your system",
            "type": [
              "string"
            ]
          },
          "properties": {
            "additionalProperties": {},
            "description": "The set of properties relevant to billing metrics that are set up in Maple",
            "type": [
              "object"
            ]
          }
        },
        "required": [
          "object_identifier",
          "item_id",
          "properties"
        ],
        "type": "object"
      },
      "RequestCreateCheckoutSessionRequest": {
        "properties": {
          "auto_charges": {
            "description": "Whether the subscription is automatically charged to the payment method after the checkout session",
            "type": [
              "null",
              "boolean"
            ]
          },
          "auto_renews": {
            "description": "Whether this subscription auto renews at the end of the term. This is to be used without end date or renewal date",
            "type": [
              "null",
              "boolean"
            ]
          },
          "bundle_pricing_id": {
            "description": "The bundle pricing that forms the checkout session",
            "type": [
              "null",
              "string"
            ]
          },
          "change_proration_type": {
            "description": "The proration type of the existing subscription, if provided. This is one of NEXT, IMMEDIATE or NONE based on whether the proration is charged on the next invoice, immediately or no proration is applied respectively",
            "enum": [
              "NEXT",
              "IMMEDIATE",
              "NONE"
            ],
            "type": [
              "null",
              "string"
            ]
          },
          "change_reset_billing_anchor": {
            "description": "Whether to reset the billing anchor of the existing subscription, if provided",
            "type": [
              "null",
              "boolean"
            ]
          },
          "change_timing": {
            "description": "The change timing of the existing subscription, if provided. This is one of IMMEDIATE, PERIOD_END or RENEWAL based on whether the change timing needs to be immediate, at the end of the current period, on renewal respectively",
            "enum": [
              "IMMEDIATE",
              "PERIOD_END",
              "RENEWAL"
            ],
            "type": [
              "null",
              "string"
            ]
          },
          "config_items": {
            "items": {
              "$ref": "#/components/schemas/ModelSubscriptionConfigItem"
            },
            "type": [
              "array"
            ]
          },
          "customer_id": {
            "description": "The customer attached to the checkout session",
            "type": [
              "string"
            ]
          },
          "discounts": {
            "description": "The discounts attached to the checkout session",
            "items": {
              "$ref": "#/components/schemas/ModelDiscountParams"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "metadata": {
            "additionalProperties": true,
            "description": "Any additional as key-value pairs that needs to be attached to the subscription after the checkout session",
            "type": "object"
          },
          "onetime_items": {
            "description": "Any one time charges to be attached to the checkout session",
            "items": {
              "$ref": "#/components/schemas/ModelOneTimeParams"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "options": {
            "$ref": "#/components/schemas/RequestCreateProposalOptionsRequest",
            "description": "The detailed options for the checkout session such as confirmation messages, redirect urls etc."
          },
          "previous_subscription_id": {
            "description": "The ID of an existing subscription whose plan will change with the checkout session",
            "type": [
              "null",
              "string"
            ]
          },
          "product_pricing_ids": {
            "description": "The list of product pricings that form the checkout session",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "term": {
            "$ref": "#/components/schemas/ModelTerm",
            "description": "The term for the subscription created by the checkout session"
          },
          "trial": {
            "description": "Whether the checkout session creates a subscription in a trial",
            "type": [
              "null",
              "boolean"
            ]
          },
          "trial_term": {
            "$ref": "#/components/schemas/ModelTerm",
            "description": "The trial term for the subscription after the checkout session"
          },
          "type": {
            "description": "The type of the checkout session",
            "enum": [
              "CHECKOUT_SESSION"
            ],
            "type": "string"
          }
        },
        "required": [
          "type",
          "customer_id",
          "config_items"
        ],
        "type": "object"
      },
      "RequestCreateContractRequest": {
        "properties": {
          "auto_charges": {
            "description": "Whether the subscription is automatically charged to the payment method after the contract is signed",
            "type": [
              "null",
              "boolean"
            ]
          },
          "auto_renews": {
            "description": "Whether this subscription auto renews at the end of the term. This is to be used without end date or renewal date",
            "type": [
              "null",
              "boolean"
            ]
          },
          "bundle_pricing_id": {
            "description": "The bundle that form the contract.",
            "type": [
              "null",
              "string"
            ]
          },
          "config_items": {
            "items": {
              "$ref": "#/components/schemas/ModelSubscriptionConfigItem"
            },
            "type": [
              "array"
            ]
          },
          "custom_variables": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "The custom variables for the contract as key-value pairs",
            "type": [
              "object",
              "null"
            ]
          },
          "customer_id": {
            "description": "The customer attached to the contract",
            "type": [
              "string"
            ]
          },
          "discounts": {
            "description": "The discounts attached to the contract",
            "items": {
              "$ref": "#/components/schemas/ModelDiscountParams"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "expiration_date": {
            "description": "The expiration date for the contract in RFC-3339 format",
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          },
          "metadata": {
            "additionalProperties": true,
            "description": "Any additional data as key-value pairs that needs to be attached to the subscription after the contract is signed",
            "type": "object"
          },
          "onetime_items": {
            "description": "Any one time charges to be attached to the contract",
            "items": {
              "$ref": "#/components/schemas/ModelOneTimeParams"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "options": {
            "$ref": "#/components/schemas/RequestCreateProposalOptionsRequest",
            "description": "The detailed options for the contract such as confirmation messages, redirect urls etc."
          },
          "owner_id": {
            "description": "The company user ID of the user in Maple assigned to manage this contract",
            "type": [
              "string",
              "null"
            ]
          },
          "product_pricing_ids": {
            "description": "The list of product pricings that form the contract",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "require_payment_method": {
            "description": "Whether the contract requires a payment method to be executed",
            "type": [
              "null",
              "boolean"
            ]
          },
          "signatories": {
            "description": "The signatories for the contract",
            "items": {
              "$ref": "#/components/schemas/ModelSignatory"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "start_date": {
            "description": "The start date for the contract in RFC-3339 format, if it does not start immediately",
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          },
          "status": {
            "description": "The status of the contract, defaults to DRAFT",
            "enum": [
              "DRAFT",
              "PENDING_SIGNATURES"
            ],
            "type": [
              "null",
              "string"
            ]
          },
          "template_id": {
            "description": "The template to use for the contract",
            "type": "string"
          },
          "term": {
            "$ref": "#/components/schemas/ModelTerm",
            "description": "The term for the subscription created by the contract"
          },
          "title": {
            "description": "The title for the contract",
            "type": "string"
          },
          "trial": {
            "description": "Whether the contract creates a subscription in a trial",
            "type": [
              "null",
              "boolean"
            ]
          },
          "trial_term": {
            "$ref": "#/components/schemas/ModelTerm",
            "description": "The trial term for the subscription after the contract is executed"
          },
          "type": {
            "description": "The type of the proposal",
            "enum": [
              "CONTRACT"
            ],
            "type": "string"
          }
        },
        "required": [
          "type",
          "customer_id",
          "config_items",
          "template_id",
          "title",
          "signatories"
        ],
        "type": "object"
      },
      "RequestCreateCreditRequest": {
        "properties": {
          "amount": {
            "$ref": "#/components/schemas/ModelAmount",
            "description": "The amount of the credit, if the type of credit is AMOUNT"
          },
          "apply_to_open_invoices": {
            "$ref": "#/components/schemas/RequestApplyToOpenInvoicesParams"
          },
          "customer_id": {
            "description": "The customer ID for the customer to whom the credit will be attached",
            "type": "string"
          },
          "expiration_date": {
            "description": "The expiration date for the credit in RFC-3339 format",
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          },
          "item_id": {
            "description": "The billable item ID for the type of unit credits",
            "type": [
              "null",
              "string"
            ]
          },
          "name": {
            "description": "The name of the credit. This will show up in invoices",
            "type": "string"
          },
          "state": {
            "description": "The state of the credit that can be one of ACTIVE, REVOKED, EXPIRED or CONSUMED",
            "enum": [
              "ACTIVE",
              "REVOKED",
              "EXPIRED",
              "CONSUMED"
            ],
            "type": "string"
          },
          "subscription_id": {
            "description": "The specific subscription ID to which the credit is attached",
            "type": [
              "null",
              "string"
            ]
          },
          "type": {
            "description": "The type of the credit that can be one of AMOUNT or UNITS",
            "enum": [
              "AMOUNT",
              "UNITS"
            ],
            "type": "string"
          },
          "units": {
            "description": "The number of units of the credit, if the type of credit UNITS",
            "format": "double",
            "type": "number"
          }
        },
        "required": [
          "name",
          "type",
          "customer_id",
          "state"
        ],
        "type": "object"
      },
      "RequestCreateCustomerRequest": {
        "properties": {
          "address": {
            "description": "The address of the customer",
            "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",
              "null"
            ]
          },
          "billing_emails": {
            "description": "The additional emails to cc on customer's invoices",
            "examples": [
              [
                "harry.potter@hogwarts.com"
              ]
            ],
            "format": "email",
            "items": {
              "type": "string"
            },
            "type": [
              "null",
              "array"
            ]
          },
          "child_rollup_billing": {
            "description": "Whether to enable rollup billing for children of this account",
            "type": "boolean"
          },
          "child_rollup_billing_config": {
            "$ref": "#/components/schemas/ModelChildRollupBillingConfig",
            "description": "The billing configuration if child rollup billing is enabled"
          },
          "email": {
            "description": "The email address of the customer",
            "examples": [
              "harry.potter@hogwarts.com"
            ],
            "format": "email",
            "type": "string"
          },
          "exclude_from_metrics": {
            "description": "Whether to exclude this customer and related fields from any metrics in Maple",
            "type": [
              "null",
              "boolean"
            ]
          },
          "identifier": {
            "description": "A unique identifier that ties the customer back to your system",
            "type": "string"
          },
          "locale": {
            "description": "The locale of the customer",
            "type": "string"
          },
          "metadata": {
            "additionalProperties": true,
            "description": "Any additional data as key-value pairs that needs to be attached to the customer",
            "type": "object"
          },
          "name": {
            "description": "The name of the customer",
            "type": "string"
          },
          "org_name": {
            "description": "The name of the company or organization this customer is a part of",
            "type": "string"
          },
          "override_taxes": {
            "description": "Any specific taxes for the customer. These taxes will override any automatic tax collections for the customer.",
            "items": {
              "$ref": "#/components/schemas/RequestTaxParams"
            },
            "type": [
              "null",
              "array"
            ]
          },
          "owner_id": {
            "description": "The company user ID of the user in Maple assigned to manage this customer",
            "type": [
              "string",
              "null"
            ]
          },
          "parent_customer_id": {
            "description": "The parent of this customer account, used for parent-child billing",
            "type": [
              "string",
              "null"
            ]
          },
          "phone": {
            "description": "The phone number of the customer",
            "type": "string"
          },
          "title": {
            "description": "The title of the customer, such as CEO, VP",
            "type": "string"
          }
        },
        "required": [
          "identifier"
        ],
        "type": "object"
      },
      "RequestCreateEntitlementRequest": {
        "properties": {
          "adjust_for_quantity": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "aggregator_type": {
            "description": "The aggregator type of the entitlement in case a customer has different values for different subscriptions. This can be one of OR, AND (for BOOL), ADD, MINIMUM, MAXIMUM (for NUMBER), COALESCE (for TEXT or ENUM)",
            "enum": [
              "OR",
              "AND",
              "ADD",
              "MINIMUM",
              "MAXIMUM",
              "COALESCE"
            ],
            "type": "string"
          },
          "key": {
            "description": "A unique key for the entitlement without spaces, unicode or special characters eg. test-feature-1",
            "type": "string"
          },
          "name": {
            "description": "The name of the entitlement",
            "type": "string"
          },
          "possible_values": {
            "description": "The possible values for the entitlement of enum type",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "type": {
            "description": "The type of the entitlement that can be one of boolean, text, number or an enum.",
            "enum": [
              "BOOL",
              "NUMBER",
              "TEXT",
              "ENUM"
            ],
            "type": "string"
          }
        },
        "required": [
          "name",
          "type",
          "aggregator_type",
          "key"
        ],
        "type": "object"
      },
      "RequestCreateOneTimesRequest": {
        "properties": {
          "auto_charges": {
            "description": "Whether the one-time charges are automatically charged to the payment method for the customer",
            "type": [
              "null",
              "boolean"
            ]
          },
          "customer_id": {
            "description": "The customer to whom the one-time charges belong",
            "type": [
              "string"
            ]
          },
          "discounts": {
            "description": "The discounts attached to the one-time charges",
            "items": {
              "$ref": "#/components/schemas/ModelDiscountParams"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "invoice_date": {
            "description": "The date of invoice for the customer",
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          },
          "invoice_due_date_from_creation": {
            "description": "Number of days before the invoice is due (from the invoice date)",
            "minimum": 0,
            "type": [
              "null",
              "integer"
            ]
          },
          "invoice_payment_instructions": {
            "description": "The payment instructions for the customer",
            "type": [
              "string",
              "null"
            ]
          },
          "metadata": {
            "additionalProperties": true,
            "description": "Any additional data as key-value pairs attached to the charge",
            "type": "object"
          },
          "notes": {
            "description": "The notes attached to the one-time charges",
            "type": [
              "null",
              "string"
            ]
          },
          "onetime_items": {
            "description": "The list of one-time charges",
            "items": {
              "$ref": "#/components/schemas/ModelOneTimeParams"
            },
            "type": [
              "array"
            ]
          },
          "type": {
            "description": "The type of one-time charges which can be IMMEDIATE or NEXT depending on whether they are invoiced immediately or on the next invoice for the customer",
            "enum": [
              "IMMEDIATE",
              "NEXT"
            ],
            "type": "string"
          }
        },
        "required": [
          "customer_id",
          "type",
          "onetime_items"
        ],
        "type": "object"
      },
      "RequestCreateProductRequest": {
        "properties": {
          "description": {
            "description": "The description of the product",
            "type": "string"
          },
          "entitlements": {
            "description": "The entitlements that enable features for the product",
            "items": {
              "$ref": "#/components/schemas/RequestEntitlementData"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "external_name": {
            "description": "The external name of the product",
            "type": "string"
          },
          "image_url": {
            "$ref": "#/components/schemas/NullableV1String",
            "description": "The url for the image of the product"
          },
          "metadata": {
            "additionalProperties": true,
            "description": "Any additional data as key-value pairs that need to be attached to the product",
            "type": "object"
          },
          "name": {
            "description": "The name of the product",
            "type": "string"
          },
          "state": {
            "description": "The state of the product such as ACTIVE or ARCHIVED",
            "type": "string"
          },
          "tags": {
            "description": "Any string tags associated with this product",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "RequestCreateProposalOptionsRequest": {
        "properties": {
          "allow_promo_code": {
            "description": "Whether promo codes are allowed",
            "type": [
              "null",
              "boolean"
            ]
          },
          "completion_action": {
            "description": "The action to perform upon completion which can be REDIRECT or CONFIRMATION_PAGE",
            "enum": [
              "REDIRECT",
              "CONFIRMATION_PAGE"
            ],
            "type": [
              "null",
              "string"
            ]
          },
          "confirmation_message": {
            "description": "The message to show on completion, if the completion action is CONFIRMATION_PAGE",
            "type": [
              "null",
              "string"
            ]
          },
          "redirect_url": {
            "description": "The url to redirect to on completion, if the completion action is REDIRECT",
            "type": [
              "null",
              "string"
            ]
          },
          "requires_customer_address": {
            "description": "Whether the customer address is required, typically for tax purposes",
            "type": [
              "null",
              "boolean"
            ]
          }
        },
        "type": [
          "object",
          "null"
        ]
      },
      "RequestCreateSingleProductPricingRequest": {
        "properties": {
          "base_price": {
            "$ref": "#/components/schemas/ModelAmount"
          },
          "base_units": {
            "format": "double",
            "minimum": 0,
            "type": "number"
          },
          "billing_frequency": {
            "$ref": "#/components/schemas/ModelTerm"
          },
          "carryover": {
            "type": "boolean"
          },
          "charge_type": {
            "enum": [
              "PRE_POST",
              "POST_ONLY"
            ],
            "type": [
              "null",
              "string"
            ]
          },
          "credit_price": {
            "$ref": "#/components/schemas/ModelCreditPricing"
          },
          "currency": {
            "description": "The currency for the product pricing",
            "type": "string"
          },
          "description": {
            "description": "The description for the product pricing",
            "type": "string"
          },
          "display_type": {
            "type": [
              "null",
              "string"
            ]
          },
          "entitlements": {
            "description": "The entitlements that enable features for the product pricing",
            "items": {
              "$ref": "#/components/schemas/RequestEntitlementData"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "external_name": {
            "description": "The externally visible name for the product pricing",
            "type": "string"
          },
          "fixed_price": {
            "$ref": "#/components/schemas/ModelFixedPricing"
          },
          "gradient_price": {
            "items": {
              "$ref": "#/components/schemas/ModelGradientPricing"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "item_id": {
            "description": "The item ID of the product pricing. Used only for variable pricing",
            "type": [
              "null",
              "string"
            ]
          },
          "metadata": {
            "additionalProperties": true,
            "description": "Any additional data as key-value pairs that need to be attached to the product pricing",
            "type": "object"
          },
          "metric_id": {
            "description": "The billable metric ID of the product pricing. Used only for variable pricing",
            "type": [
              "null",
              "string"
            ]
          },
          "minimum_spend": {
            "$ref": "#/components/schemas/ModelAmount"
          },
          "minimum_spend_schedule": {
            "$ref": "#/components/schemas/ModelItemPricingMinimumSpendSchedule"
          },
          "name": {
            "description": "The name of the product pricing",
            "type": "string"
          },
          "pricing_type": {
            "enum": [
              "FIXED",
              "STEP",
              "GRADIENT",
              "VOLUME",
              "CUSTOM",
              "SCHEDULED"
            ],
            "type": "string"
          },
          "product_id": {
            "description": "The product ID of the product to which this pricing belongs",
            "type": "string"
          },
          "proration_type": {
            "enum": [
              "NONE",
              "PRORATE_ALL"
            ],
            "type": [
              "null",
              "string"
            ]
          },
          "recognition_schedule": {
            "$ref": "#/components/schemas/ModelItemPricingRecognitionSchedule"
          },
          "scheduled_price": {
            "$ref": "#/components/schemas/ModelScheduledPricing"
          },
          "step_price": {
            "$ref": "#/components/schemas/ModelStepPricing"
          },
          "tags": {
            "description": "Any string tags associated with this product pricing",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "true_up_frequency": {
            "type": [
              "string",
              "null"
            ]
          },
          "type": {
            "type": "string"
          },
          "volume_price": {
            "items": {
              "$ref": "#/components/schemas/ModelVolumePricing"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "name",
          "product_id",
          "type",
          "pricing_type",
          "currency"
        ],
        "type": "object"
      },
      "RequestCreateSubscriptionRequest": {
        "properties": {
          "auto_charges": {
            "description": "Whether the subscription is automatically charged to the payment method",
            "type": [
              "null",
              "boolean"
            ]
          },
          "auto_renews": {
            "description": "Whether this subscription auto renews at the end of the term. This is to be used without end date or renewal date",
            "type": [
              "null",
              "boolean"
            ]
          },
          "billing_anchor_date": {
            "description": "The billing anchor date for the subscription in RFC-3339 format, defaults to the start date of the subscription",
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          },
          "config_items": {
            "description": "The mapping of the product metric pricings to their quantity. If no product metric pricing is provided, then the config item is applied to all metrics part of the product pricing",
            "items": {
              "$ref": "#/components/schemas/ModelSubscriptionConfigItem"
            },
            "type": [
              "array"
            ]
          },
          "currency": {
            "description": "The currency for the subscription",
            "type": "string"
          },
          "customer_id": {
            "type": "string"
          },
          "discounts": {
            "description": "The minimum amount of spend that needs to be attached to the subscription",
            "items": {
              "$ref": "#/components/schemas/RequestDiscountParams"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "end_date": {
            "description": "The end date for the subscription in RFC-3339 format",
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          },
          "generate_past_invoice": {
            "type": "boolean"
          },
          "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_payment_instructions": {
            "description": "HTML formatted payment instructions attached to each invoice generated for the subscription. If non-null, overrides the invoice payment instructions set at the company-wide setting.",
            "type": [
              "null",
              "string"
            ]
          },
          "metadata": {
            "additionalProperties": true,
            "description": "Any additional data as key-value pairs that needs to be attached to the subscription",
            "type": "object"
          },
          "minimum_spend": {
            "$ref": "#/components/schemas/ModelAmount",
            "description": "The minimum amount of spend that needs to be attached to the subscription"
          },
          "onetime_items": {
            "description": "Any one time charges to be attached to the subscription",
            "items": {
              "$ref": "#/components/schemas/ModelOneTimeParams"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "override_entitlements": {
            "description": "The entitlements that will override product and product pricing entitlements",
            "items": {
              "$ref": "#/components/schemas/RequestEntitlementData"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "parent_billed": {
            "description": "Whether the subscription is billed to a parent customer",
            "type": "boolean"
          },
          "payment_method_id": {
            "description": "Whether the subscription is automatically charged to the payment method",
            "type": [
              "null",
              "string"
            ]
          },
          "product_pricing_ids": {
            "description": "The list of product pricings that form the subscription",
            "items": {
              "type": "string"
            },
            "type": [
              "array"
            ]
          },
          "renewal_date": {
            "description": "The renewal date for the subscription in RFC-3339 format, defaults to the frequency of the pricing",
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          },
          "start_date": {
            "description": "The start date for the subscription in RFC-3339 format, defaults to the time of the request",
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          },
          "tags": {
            "description": "Any tags that needs to be attached to the subscription",
            "items": {
              "type": "string"
            },
            "type": [
              "null",
              "array"
            ]
          },
          "term": {
            "$ref": "#/components/schemas/ModelTerm",
            "description": "The term for the subscription, defaults to the largest product pricing frequency"
          },
          "trial": {
            "description": "Whether the subscription is a trial",
            "type": [
              "null",
              "boolean"
            ]
          },
          "trial_term": {
            "$ref": "#/components/schemas/ModelTerm",
            "description": "The term for the trial for the subscription"
          }
        },
        "required": [
          "customer_id",
          "product_pricing_ids",
          "currency",
          "config_items"
        ],
        "type": "object"
      },
      "RequestDiscountParams": {
        "properties": {
          "amount": {
            "$ref": "#/components/schemas/ModelAmount",
            "description": "The amount of the discount"
          },
          "cap": {
            "$ref": "#/components/schemas/ModelAmount",
            "description": "The cap on the total discount amount, if needed"
          },
          "expiration_date": {
            "description": "The expiration date in RFC-3339 format for the discount, if needed",
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          },
          "name": {
            "description": "The name for the discount",
            "type": "string"
          },
          "percent": {
            "description": "The percent rate of the discount in decimal, less than 1",
            "format": "double",
            "maximum": 1,
            "type": "number"
          },
          "product_pricing_id": {
            "description": "The specific product pricing in the subscription that the discount is associated with, if not, the discount is applied to the whole subscription",
            "type": [
              "null",
              "string"
            ]
          },
          "type": {
            "description": "The type of discount that can be one of DISCOUNT_AMOUNT or DISCOUNT_PERCENT",
            "enum": [
              "DISCOUNT_AMOUNT",
              "DISCOUNT_PERCENT"
            ],
            "type": "string"
          }
        },
        "required": [
          "name",
          "type"
        ],
        "type": "object"
      },
      "RequestEntitlementData": {
        "properties": {
          "entitlement_id": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "key": {
            "type": "string"
          },
          "value": {}
        },
        "type": "object"
      },
      "RequestFindBillableItemsQueryCriteria": {
        "properties": {
          "external_name": {
            "type": [
              "null",
              "string"
            ]
          },
          "name": {
            "type": [
              "null",
              "string"
            ]
          },
          "state": {
            "type": [
              "null",
              "string"
            ]
          }
        },
        "type": [
          "object",
          "null"
        ]
      },
      "RequestFindBillableItemsRequest": {
        "properties": {
          "include_meta": {
            "description": "Whether to include additional metadata in the pagination response such the number of total results",
            "type": [
              "boolean",
              "null"
            ]
          },
          "pagination": {
            "$ref": "#/components/schemas/RequestPaginationRequest",
            "description": "The pagination parameters for the request"
          },
          "query": {
            "$ref": "#/components/schemas/RequestFindBillableItemsQueryCriteria",
            "description": "The query criteria for the request"
          },
          "sort_key": {
            "default": "createdAtDesc",
            "enum": [
              "createdAtDesc",
              "createdAtAsc",
              "updatedAtAsc",
              "updatedAtDesc"
            ],
            "type": "string"
          }
        },
        "required": [
          "sort_key",
          "pagination"
        ],
        "type": "object"
      },
      "RequestFindBillableMetricsQueryCriteria": {
        "properties": {
          "external_name": {
            "type": [
              "null",
              "string"
            ]
          },
          "item_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "name": {
            "type": [
              "null",
              "string"
            ]
          },
          "state": {
            "type": [
              "null",
              "string"
            ]
          }
        },
        "type": [
          "object",
          "null"
        ]
      },
      "RequestFindBillableMetricsRequest": {
        "properties": {
          "include_meta": {
            "description": "Whether to include additional metadata in the pagination response such the number of total results",
            "type": [
              "boolean",
              "null"
            ]
          },
          "pagination": {
            "$ref": "#/components/schemas/RequestPaginationRequest",
            "description": "The pagination parameters for the request"
          },
          "query": {
            "$ref": "#/components/schemas/RequestFindBillableMetricsQueryCriteria",
            "description": "The query criteria for the request"
          },
          "sort_key": {
            "default": "createdAtDesc",
            "enum": [
              "createdAtDesc",
              "createdAtAsc",
              "updatedAtAsc",
              "updatedAtDesc"
            ],
            "type": "string"
          }
        },
        "required": [
          "sort_key",
          "pagination"
        ],
        "type": "object"
      },
      "RequestFindBillableObjectQueryCriteria": {
        "description": "The find criteria for the billable objects",
        "properties": {
          "customer_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "customer_identifier": {
            "type": [
              "null",
              "string"
            ]
          },
          "item_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "matching_rule_string": {
            "examples": [
              "{\"comparator\":{\"type\":\"EQUAL\",\"left_item\":{\"item_type\":\"PROPERTY\",\"property\":\"is_active\"},\"right_item\":{\"item_type\":\"VALUE\",\"value\":\"true\"}}}"
            ],
            "type": [
              "null",
              "string"
            ]
          }
        },
        "type": "object"
      },
      "RequestFindBillableObjectRequest": {
        "properties": {
          "pagination": {
            "$ref": "#/components/schemas/RequestPaginationRequest"
          },
          "query": {
            "$ref": "#/components/schemas/RequestFindBillableObjectQueryCriteria"
          },
          "sort_key": {
            "default": "createdAtDesc",
            "enum": [
              "createdAtDesc",
              "createdAtAsc",
              "updatedAtAsc",
              "updatedAtDesc",
              "aToZ",
              "zToA"
            ],
            "type": "string"
          }
        },
        "required": [
          "sort_key",
          "pagination"
        ],
        "type": "object"
      },
      "RequestFindBundlePricingQueryCriteria": {
        "properties": {
          "is_auto_generated": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "search": {
            "type": [
              "null",
              "string"
            ]
          },
          "state": {
            "type": [
              "null",
              "string"
            ]
          }
        },
        "type": "object"
      },
      "RequestFindBundlePricingRequest": {
        "properties": {
          "include_meta": {
            "description": "Whether to include additional metadata in the pagination response such the number of total results",
            "type": [
              "boolean",
              "null"
            ]
          },
          "pagination": {
            "$ref": "#/components/schemas/RequestPaginationRequest",
            "description": "The pagination parameters for the request"
          },
          "query": {
            "$ref": "#/components/schemas/RequestFindBundlePricingQueryCriteria",
            "description": "The query criteria for the request"
          },
          "sort_key": {
            "default": "createdAtDesc",
            "enum": [
              "",
              "createdAtDesc",
              "createdAtAsc",
              "updatedAtAsc",
              "updatedAtDesc"
            ],
            "type": "string"
          }
        },
        "required": [
          "pagination"
        ],
        "type": "object"
      },
      "RequestFindContractQueryCriteria": {
        "properties": {
          "auto_charges": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "auto_renews": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "customer_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "owner_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "search": {
            "type": [
              "null",
              "string"
            ]
          },
          "statuses": {
            "enum": [
              "EXECUTED",
              "DRAFT",
              "DECLINED",
              "COMPLETE",
              "PENDING_SIGNATURES",
              "PENDING_PAYMENT"
            ],
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "type": {
            "enum": [
              "CONTRACT"
            ],
            "type": [
              "string"
            ]
          }
        },
        "required": [
          "type"
        ],
        "type": [
          "object",
          "null"
        ]
      },
      "RequestFindContractRequest": {
        "properties": {
          "include_meta": {
            "description": "Whether to include additional metadata in the pagination response such the number of total results",
            "type": [
              "null",
              "boolean"
            ]
          },
          "pagination": {
            "$ref": "#/components/schemas/RequestPaginationRequest",
            "description": "The pagination parameters for the request"
          },
          "query": {
            "$ref": "#/components/schemas/RequestFindContractQueryCriteria",
            "description": "The query criteria for the request"
          },
          "sort_key": {
            "default": "createdAtDesc",
            "enum": [
              "createdAtDesc",
              "createdAtAsc",
              "updatedAtAsc",
              "updatedAtDesc"
            ],
            "type": "string"
          }
        },
        "required": [
          "sort_key",
          "pagination"
        ],
        "type": "object"
      },
      "RequestFindCreditLogsQueryCriteria": {
        "properties": {
          "action_type": {
            "description": "The credit log action type that can be one of ISSUED, CONSUMED, EXPIRED or REVOKED",
            "type": [
              "null",
              "string"
            ]
          },
          "credit_id": {
            "description": "The credit ID to which the credit logs belong",
            "type": [
              "null",
              "string"
            ]
          },
          "customer_id": {
            "description": "The customer ID to which the credits logs belong",
            "type": [
              "null",
              "string"
            ]
          },
          "invoice_id": {
            "description": "The invoice ID to which the credits logs belong",
            "type": [
              "null",
              "string"
            ]
          },
          "note": {
            "description": "Search any notes attached to the credit log",
            "type": [
              "null",
              "string"
            ]
          },
          "search": {
            "description": "Any search string to match customers",
            "type": [
              "null",
              "string"
            ]
          },
          "type": {
            "description": "The credit type that can be one of AMOUNT or UNITS",
            "type": [
              "null",
              "string"
            ]
          }
        },
        "type": [
          "object",
          "null"
        ]
      },
      "RequestFindCreditLogsRequest": {
        "properties": {
          "include_meta": {
            "description": "Whether to include additional metadata in the pagination response such the number of total results",
            "type": [
              "boolean",
              "null"
            ]
          },
          "pagination": {
            "$ref": "#/components/schemas/RequestPaginationRequest",
            "description": "The pagination parameters for the request"
          },
          "query": {
            "$ref": "#/components/schemas/RequestFindCreditLogsQueryCriteria",
            "description": "The query criteria for the request"
          },
          "sort_key": {
            "default": "createdAtDesc",
            "enum": [
              "createdAtDesc",
              "createdAtAsc",
              "updatedAtAsc",
              "updatedAtDesc"
            ],
            "type": "string"
          }
        },
        "required": [
          "pagination"
        ],
        "type": "object"
      },
      "RequestFindCreditQueryCriteria": {
        "properties": {
          "currency": {
            "description": "Credit if amount is assigned to  currency",
            "type": [
              "null",
              "string"
            ]
          },
          "customer_id": {
            "description": "The customer ID to which the credits belong",
            "type": [
              "null",
              "string"
            ]
          },
          "search": {
            "description": "Any search string to match customers",
            "type": [
              "null",
              "string"
            ]
          },
          "status": {
            "description": "The specific status of the customer that can be one of ACTIVE CONSUMED REVOKED or EXPIRED",
            "enum": [
              "ACTIVE",
              "CONSUMED",
              "REVOKED",
              "EXPIRED"
            ],
            "type": [
              "null",
              "string"
            ]
          },
          "statuses": {
            "description": "The status of the customers that can include ACTIVE CONSUMED REVOKED or EXPIRED",
            "enum": [
              "ACTIVE",
              "CONSUMED",
              "REVOKED",
              "EXPIRED"
            ],
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "subscription_id": {
            "description": "The subscription ID to which the credits belong",
            "type": [
              "null",
              "string"
            ]
          },
          "type": {
            "description": "The credit type that can be one of AMOUNT or UNITS",
            "type": [
              "null",
              "string"
            ]
          }
        },
        "type": [
          "object",
          "null"
        ]
      },
      "RequestFindCreditRequest": {
        "properties": {
          "include_meta": {
            "description": "Whether to include additional metadata in the pagination response such the number of total results",
            "type": [
              "boolean",
              "null"
            ]
          },
          "pagination": {
            "$ref": "#/components/schemas/RequestPaginationRequest",
            "description": "The pagination parameters for the request"
          },
          "query": {
            "$ref": "#/components/schemas/RequestFindCreditQueryCriteria",
            "description": "The query criteria for the request"
          },
          "sort_key": {
            "default": "createdAtDesc",
            "enum": [
              "createdAtDesc",
              "createdAtAsc",
              "updatedAtAsc",
              "updatedAtDesc",
              "expirationDateAsc",
              "expirationDateDesc"
            ],
            "type": "string"
          }
        },
        "required": [
          "pagination"
        ],
        "type": "object"
      },
      "RequestFindCustomerQueryCriteria": {
        "description": "The find criteria for the customer",
        "properties": {
          "email": {
            "description": "The email of the customer",
            "type": [
              "null",
              "string"
            ]
          },
          "exclude_from_metrics": {
            "description": "Whether the customer is excluded from metrics or not",
            "type": [
              "null",
              "boolean"
            ]
          },
          "has_parent": {
            "description": "Whether this customer has a parent or not",
            "type": [
              "null",
              "boolean"
            ]
          },
          "identifier": {
            "description": "The identifier of the customer that ties them back to your system",
            "type": [
              "null",
              "string"
            ]
          },
          "managed_externally": {
            "description": "Whether the customer is managed customer outside of Maple",
            "type": [
              "null",
              "boolean"
            ]
          },
          "mrr": {
            "$ref": "#/components/schemas/ModelAmountFilter",
            "description": "Filter based on MRR ranges"
          },
          "name": {
            "description": "The name of the customer",
            "type": [
              "null",
              "string"
            ]
          },
          "org_name": {
            "description": "The org name of the customer",
            "type": [
              "null",
              "string"
            ]
          },
          "owner_id": {
            "description": "The company user ID of the user in Maple that is assigned to manage this customer",
            "type": [
              "string",
              "null"
            ]
          },
          "owner_ids": {
            "$ref": "#/components/schemas/ModelArrayFilterString",
            "description": "The company user ID of the user in Maple that is assigned to manage this customer"
          },
          "parent_customer_id": {
            "description": "The parent customer ID of the customer",
            "type": [
              "string",
              "null"
            ]
          },
          "phone": {
            "description": "The phone number of the customer",
            "type": [
              "null",
              "string"
            ]
          },
          "search": {
            "description": "Any search string to match customers",
            "type": [
              "null",
              "string"
            ]
          },
          "status": {
            "description": "The specific status of the customer that can be one of ACTIVE or ARCHIVED",
            "enum": [
              "ACTIVE",
              "ARCHIVED"
            ],
            "type": [
              "null",
              "string"
            ]
          },
          "statuses": {
            "description": "The status of the customers that can include ACTIVE and ARCHIVED",
            "enum": [
              "ACTIVE",
              "ARCHIVED"
            ],
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "tags": {
            "$ref": "#/components/schemas/ModelArrayFilterString",
            "description": "The tags of the customer"
          },
          "title": {
            "description": "The title of the customer",
            "type": [
              "null",
              "string"
            ]
          }
        },
        "type": [
          "object",
          "null"
        ]
      },
      "RequestFindCustomerRequest": {
        "properties": {
          "include_meta": {
            "description": "Whether to include additional metadata in the pagination response such the number of total results",
            "type": [
              "boolean",
              "null"
            ]
          },
          "pagination": {
            "$ref": "#/components/schemas/RequestPaginationRequest",
            "description": "The pagination parameters for the request"
          },
          "query": {
            "$ref": "#/components/schemas/RequestFindCustomerQueryCriteria",
            "description": "The query criteria for the request"
          },
          "sort_key": {
            "default": "createdAtDesc",
            "enum": [
              "createdAtDesc",
              "createdAtAsc",
              "updatedAtAsc",
              "updatedAtDesc",
              "aToZ",
              "zToA",
              "mrrAsc",
              "mrrDesc",
              "orgAToZ",
              "orgZToA"
            ],
            "type": "string"
          }
        },
        "required": [
          "pagination"
        ],
        "type": "object"
      },
      "RequestFindEntitlementQueryCriteria": {
        "properties": {
          "aggregator_type": {
            "description": "The aggregator type of the entitlement",
            "type": [
              "null",
              "string"
            ]
          },
          "key": {
            "description": "The key for the entitlement",
            "type": [
              "null",
              "string"
            ]
          },
          "name": {
            "description": "The name of the entitlement",
            "type": [
              "null",
              "string"
            ]
          },
          "search": {
            "description": "Any search string to match entitlements",
            "type": [
              "null",
              "string"
            ]
          },
          "type": {
            "description": "The type of the entitlement",
            "type": [
              "null",
              "string"
            ]
          }
        },
        "type": "object"
      },
      "RequestFindEntitlementRequest": {
        "properties": {
          "include_meta": {
            "description": "Whether to include additional metadata in the pagination response such the number of total results",
            "type": [
              "boolean",
              "null"
            ]
          },
          "pagination": {
            "$ref": "#/components/schemas/RequestPaginationRequest",
            "description": "The pagination parameters for the request"
          },
          "query": {
            "$ref": "#/components/schemas/RequestFindEntitlementQueryCriteria",
            "description": "The query criteria for the request"
          },
          "sort_key": {
            "default": "createdAtDesc",
            "enum": [
              "createdAtDesc",
              "createdAtAsc",
              "updatedAtAsc",
              "updatedAtDesc"
            ],
            "type": "string"
          }
        },
        "required": [
          "pagination"
        ],
        "type": "object"
      },
      "RequestFindInvoiceQueryCriteriaExternal": {
        "description": "The find criteria for the invoice",
        "properties": {
          "auto_charges": {
            "description": "Whether the invoice is set to auto charge",
            "type": [
              "null",
              "boolean"
            ]
          },
          "billed_customer_id": {
            "description": "The customer the invoices are billed to",
            "type": [
              "null",
              "string"
            ]
          },
          "currency": {
            "description": "The currency of the invoice",
            "type": [
              "null",
              "string"
            ]
          },
          "customer_id": {
            "description": "The customer for the invoice",
            "type": [
              "null",
              "string"
            ]
          },
          "due": {
            "$ref": "#/components/schemas/ModelAmountFilter",
            "description": "Filter based on due amount ranges"
          },
          "due_date": {
            "$ref": "#/components/schemas/ModelDateFilter",
            "description": "The due date range of the invoice"
          },
          "hide_zero": {
            "description": "Whether to hide zero invoices",
            "type": [
              "null",
              "boolean"
            ]
          },
          "invoice_date": {
            "$ref": "#/components/schemas/ModelDateFilter",
            "description": "The invoice date range of the invoice"
          },
          "invoice_number": {
            "description": "The invoice number to match invoices",
            "type": [
              "null",
              "string"
            ]
          },
          "invoice_sent": {
            "description": "Whether the invoice was sent to the customer via email",
            "type": [
              "null",
              "boolean"
            ]
          },
          "managed_externally": {
            "description": "Whether the invoice was originally generated and is managed outside of Maple",
            "type": [
              "null",
              "boolean"
            ]
          },
          "owner_ids": {
            "$ref": "#/components/schemas/ModelArrayFilterString"
          },
          "paid": {
            "$ref": "#/components/schemas/ModelAmountFilter",
            "description": "Filter based on paid amount ranges"
          },
          "paid_date": {
            "$ref": "#/components/schemas/ModelDateFilter",
            "description": "The paid date range of the invoice"
          },
          "payment_methods": {
            "$ref": "#/components/schemas/ModelArrayFilterString",
            "description": "Filter based on payment methods"
          },
          "product_ids": {
            "$ref": "#/components/schemas/ModelArrayFilterString",
            "description": "Filter based on product ID ranges"
          },
          "product_pricing_ids": {
            "$ref": "#/components/schemas/ModelArrayFilterString",
            "description": "Filter based on product pricing ID ranges"
          },
          "product_pricing_tags": {
            "$ref": "#/components/schemas/ModelArrayFilterString",
            "description": "Filter based on product pricing tags"
          },
          "product_tags": {
            "$ref": "#/components/schemas/ModelArrayFilterString",
            "description": "Filter based on product tags"
          },
          "search": {
            "description": "Any search string to match invoices",
            "type": [
              "null",
              "string"
            ]
          },
          "status": {
            "description": "The specific status of the invoice can be one of PENDING, OVERDUE, PAID, VOID or DRAFT",
            "enum": [
              "PENDING",
              "OVERDUE",
              "PAID",
              "VOID",
              "DRAFT",
              "PAYMENT_PROCESSING"
            ],
            "type": [
              "null",
              "string"
            ]
          },
          "statuses": {
            "description": "The status of the subscriptions can include PENDING, OVERDUE, PAID, VOID and DRAFT",
            "enum": [
              "PENDING",
              "OVERDUE",
              "PAID",
              "VOID",
              "DRAFT",
              "PAYMENT_PROCESSING"
            ],
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "subscription_id": {
            "description": "The subscription ID to which invoices are tied",
            "type": [
              "null",
              "string"
            ]
          },
          "total": {
            "$ref": "#/components/schemas/ModelAmountFilter",
            "description": "Filter based on total amount ranges"
          },
          "uuid": {
            "description": "The exact UUID of the invoice",
            "type": [
              "null",
              "string"
            ]
          }
        },
        "type": [
          "object",
          "null"
        ]
      },
      "RequestFindInvoiceRequestExternal": {
        "properties": {
          "include_meta": {
            "description": "Whether to include additional metadata in the pagination response such the number of total results",
            "type": [
              "boolean",
              "null"
            ]
          },
          "pagination": {
            "$ref": "#/components/schemas/RequestPaginationRequest",
            "description": "The pagination parameters for the request"
          },
          "query": {
            "$ref": "#/components/schemas/RequestFindInvoiceQueryCriteriaExternal"
          },
          "sort_key": {
            "default": "createdAtDesc",
            "enum": [
              "createdAtDesc",
              "createdAtAsc",
              "updatedAtAsc",
              "updatedAtDesc",
              "aToZ",
              "zToA",
              "invoiceDateAsc",
              "invoiceDateDesc",
              "dueDateAsc",
              "dueDateDesc",
              "totalAmountAsc",
              "totalAmountDesc"
            ],
            "type": "string"
          }
        },
        "required": [
          "pagination"
        ],
        "type": "object"
      },
      "RequestFindOneTimesCriteria": {
        "properties": {
          "customer_id": {
            "description": "The customer to whom the one-time charges belong",
            "type": [
              "null",
              "string"
            ]
          },
          "state": {
            "description": "The state of the one-time charge which can be PENDING or APPLIED depending on whether they are pending to be charged on the next invoice or are already applied to a prior invoice",
            "enum": [
              "PENDING",
              "APPLIED"
            ],
            "type": [
              "null",
              "string"
            ]
          },
          "type": {
            "description": "The type of one-time charge which can be IMMEDIATE or NEXT depending on whether they are invoiced immediately or on the next invoice for the customer",
            "enum": [
              "IMMEDIATE",
              "NEXT"
            ],
            "type": [
              "null",
              "string"
            ]
          }
        },
        "type": "object"
      },
      "RequestFindOneTimesRequest": {
        "properties": {
          "include_meta": {
            "description": "Whether to include additional metadata in the pagination response such the number of total results",
            "type": [
              "boolean",
              "null"
            ]
          },
          "pagination": {
            "$ref": "#/components/schemas/RequestPaginationRequest",
            "description": "The pagination parameters for the request"
          },
          "query": {
            "$ref": "#/components/schemas/RequestFindOneTimesCriteria",
            "description": "The query criteria for the request"
          },
          "sort_key": {
            "enum": [
              "createdAtDesc",
              "createdAtAsc",
              "updatedAtAsc",
              "updatedAtDesc"
            ],
            "type": "string"
          }
        },
        "required": [
          "pagination"
        ],
        "type": "object"
      },
      "RequestFindPaymentTransactionsQueryCriteria": {
        "properties": {
          "currency": {
            "description": "The currency of the payment transaction",
            "type": [
              "null",
              "string"
            ]
          },
          "customer_id": {
            "description": "The customer the payment was for",
            "type": [
              "null",
              "string"
            ]
          },
          "invoice_number": {
            "description": "The invoice number which this payment transaction was associated with",
            "type": [
              "null",
              "string"
            ]
          },
          "invoice_uuid": {
            "description": "The UUID of the invoice which this payment transaction was associated with",
            "type": [
              "null",
              "string"
            ]
          },
          "provider_type": {
            "description": "The payment provider through which this payment or refund was processed",
            "type": [
              "null",
              "string"
            ]
          },
          "search": {
            "description": "Any search string to match payment transactions",
            "type": [
              "null",
              "string"
            ]
          },
          "show_connected_account": {
            "description": "Whether this payment transaction was through a connected account",
            "type": [
              "null",
              "boolean"
            ]
          },
          "status": {
            "description": "The specific status of the payment transaction can be one of SUCCESS, FAILED, PARTIAL_REFUNDED, REFUNDED, CANCELLED or PROCESSING",
            "type": [
              "null",
              "string"
            ]
          },
          "total_amount": {
            "$ref": "#/components/schemas/ModelAmountFilter",
            "description": "Filter based on total amount ranges"
          },
          "transaction_type": {
            "description": "The payment transaction type that can be one of PAYMENT or REFUND",
            "type": [
              "null",
              "string"
            ]
          }
        },
        "type": "object"
      },
      "RequestFindPaymentTransactionsRequest": {
        "properties": {
          "include_meta": {
            "description": "Whether to include additional metadata in the pagination response such the number of total results",
            "type": [
              "boolean",
              "null"
            ]
          },
          "pagination": {
            "$ref": "#/components/schemas/RequestPaginationRequest",
            "description": "The pagination parameters for the request"
          },
          "query": {
            "$ref": "#/components/schemas/RequestFindPaymentTransactionsQueryCriteria",
            "description": "The query criteria for the request"
          },
          "sort_key": {
            "default": "createdAtDesc",
            "enum": [
              "createdAtDesc",
              "createdAtAsc",
              "updatedAtAsc",
              "updatedAtDesc",
              "totalAmountAsc",
              "totalAmountDesc"
            ],
            "type": [
              "null",
              "string"
            ]
          }
        },
        "required": [
          "pagination"
        ],
        "type": "object"
      },
      "RequestFindProductPricingQueryCriteria": {
        "properties": {
          "currency": {
            "description": "The currency of the product pricing",
            "type": [
              "null",
              "string"
            ]
          },
          "external_name": {
            "description": "The externally visible name for the product pricing",
            "type": [
              "null",
              "string"
            ]
          },
          "name": {
            "description": "The name of the product pricing",
            "type": [
              "null",
              "string"
            ]
          },
          "product_id": {
            "description": "The product to which the product pricing belongs",
            "type": [
              "null",
              "string"
            ]
          },
          "search": {
            "description": "Any search string to match product pricing",
            "type": [
              "null",
              "string"
            ]
          },
          "state": {
            "description": "The state of the product pricing whether ACTIVE or ARCHIVED",
            "type": [
              "null",
              "string"
            ]
          },
          "tags": {
            "description": "Any of the tags to match against the product pricing",
            "items": {
              "type": "string"
            },
            "type": [
              "null",
              "array"
            ]
          },
          "type": {
            "description": "The type of the product pricing whether one-time or recurring",
            "type": [
              "null",
              "string"
            ]
          }
        },
        "type": "object"
      },
      "RequestFindProductPricingRequest": {
        "properties": {
          "include_meta": {
            "description": "Whether to include additional metadata in the pagination response such the number of total results",
            "type": [
              "boolean",
              "null"
            ]
          },
          "pagination": {
            "$ref": "#/components/schemas/RequestPaginationRequest",
            "description": "The pagination parameters for the request"
          },
          "query": {
            "$ref": "#/components/schemas/RequestFindProductPricingQueryCriteria",
            "description": "The query criteria for the request"
          },
          "sort_key": {
            "default": "createdAtDesc",
            "enum": [
              "",
              "createdAtDesc",
              "createdAtAsc",
              "updatedAtAsc",
              "updatedAtDesc",
              "aToZ",
              "zToA"
            ],
            "type": "string"
          }
        },
        "required": [
          "pagination"
        ],
        "type": "object"
      },
      "RequestFindProductQueryCriteria": {
        "properties": {
          "name": {
            "description": "The name of the product",
            "type": [
              "null",
              "string"
            ]
          },
          "search": {
            "description": "Any search string to match product",
            "type": [
              "null",
              "string"
            ]
          },
          "state": {
            "description": "The state of the product whether ACTIVE or ARCHIVED",
            "type": [
              "null",
              "string"
            ]
          },
          "tags": {
            "description": "Any of the tags to match against the product pricing",
            "items": {
              "type": "string"
            },
            "type": [
              "null",
              "array"
            ]
          }
        },
        "type": "object"
      },
      "RequestFindProductRequest": {
        "properties": {
          "include_meta": {
            "description": "Whether to include additional metadata in the pagination response such the number of total results",
            "type": [
              "boolean",
              "null"
            ]
          },
          "pagination": {
            "$ref": "#/components/schemas/RequestPaginationRequest",
            "description": "The pagination parameters for the request"
          },
          "query": {
            "$ref": "#/components/schemas/RequestFindProductQueryCriteria",
            "description": "The query criteria for the request"
          },
          "sort_key": {
            "enum": [
              "createdAtDesc",
              "createdAtAsc",
              "updatedAtAsc",
              "updatedAtDesc",
              "aToZ",
              "zToA"
            ],
            "type": [
              "null",
              "string"
            ]
          }
        },
        "required": [
          "pagination"
        ],
        "type": "object"
      },
      "RequestFindSubscriptionQueryCriteria": {
        "properties": {
          "auto_charges": {
            "description": "Whether subscriptions are automatically charged to the payment method",
            "type": [
              "null",
              "boolean"
            ]
          },
          "auto_renews": {
            "description": "Whether subscriptions auto renew at the end of the term.",
            "type": [
              "null",
              "boolean"
            ]
          },
          "bundle_pricing_id": {
            "description": "The bundle pricing ID that the subscription is tied to",
            "type": [
              "null",
              "string"
            ]
          },
          "customer_id": {
            "description": "The customer to which subscriptions belong",
            "type": [
              "null",
              "string"
            ]
          },
          "end_date": {
            "$ref": "#/components/schemas/ModelDateFilter",
            "description": "Filter based on next invoice date ranges in RFC-3339 format"
          },
          "exclude_from_metrics": {
            "description": "Whether the subscription customer is excluded from metrics",
            "type": [
              "null",
              "boolean"
            ]
          },
          "group_id": {
            "description": "The group id to get subscription ids (for filtered notification reminders)",
            "type": [
              "null",
              "string"
            ]
          },
          "managed_externally": {
            "description": "Whether the subscription is managed customer outside of Maple",
            "type": [
              "null",
              "boolean"
            ]
          },
          "mrr": {
            "$ref": "#/components/schemas/ModelAmountFilter",
            "description": "Filter based on MRR ranges"
          },
          "next_invoice_date": {
            "$ref": "#/components/schemas/ModelDateFilter",
            "description": "Filter based on next invoice date ranges in RFC-3339 format"
          },
          "owner_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "owner_ids": {
            "$ref": "#/components/schemas/ModelArrayFilterString"
          },
          "parent_billed": {
            "description": "Whether the subscription is billed to a parent customer",
            "type": [
              "null",
              "boolean"
            ]
          },
          "parent_customer_id": {
            "description": "The parent customer to which subscriptions belong",
            "type": [
              "string",
              "null"
            ]
          },
          "payment_method_id": {
            "description": "The payment method the subscription method is attached to",
            "type": [
              "null",
              "string"
            ]
          },
          "product_ids": {
            "$ref": "#/components/schemas/ModelArrayFilterString",
            "description": "Filter based on product ID ranges"
          },
          "product_pricing_id": {
            "description": "The product pricing is part of the subscription",
            "type": [
              "null",
              "string"
            ]
          },
          "product_pricing_ids": {
            "$ref": "#/components/schemas/ModelArrayFilterString",
            "description": "Filter based on product pricing ID ranges"
          },
          "product_pricing_tags": {
            "$ref": "#/components/schemas/ModelArrayFilterString",
            "description": "Filter based on product pricing tags"
          },
          "product_tags": {
            "$ref": "#/components/schemas/ModelArrayFilterString",
            "description": "Filter based on product tags"
          },
          "renewal_date": {
            "$ref": "#/components/schemas/ModelDateFilter",
            "description": "Filter based on renewal date ranges in RFC-3339 format"
          },
          "search": {
            "description": "Any search string to match subscriptions",
            "type": [
              "null",
              "string"
            ]
          },
          "start_date": {
            "$ref": "#/components/schemas/ModelDateFilter",
            "description": "Filter based on start date ranges in RFC-3339 format"
          },
          "status": {
            "description": "The specific status of the subscription can be one of ACTIVE, CANCELLED, PAUSED or UNPAID",
            "enum": [
              "ACTIVE",
              "CANCELLED",
              "PAUSED",
              "UNPAID"
            ],
            "type": [
              "null",
              "string"
            ]
          },
          "statuses": {
            "description": "The statuses of the subscriptions can include ACTIVE, CANCELLED, PAUSED and UNPAID",
            "enum": [
              "ACTIVE",
              "CANCELLED",
              "PAUSED",
              "UNPAID"
            ],
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "tags": {
            "$ref": "#/components/schemas/ModelArrayFilterString",
            "description": "The tags of the subscription"
          },
          "trial": {
            "description": "Whether the subscription is currently in a trial",
            "type": [
              "null",
              "boolean"
            ]
          }
        },
        "type": [
          "object",
          "null"
        ]
      },
      "RequestFindSubscriptionRequest": {
        "properties": {
          "include_meta": {
            "description": "Whether to include additional metadata in the pagination response such the number of total results",
            "type": [
              "null",
              "boolean"
            ]
          },
          "pagination": {
            "$ref": "#/components/schemas/RequestPaginationRequest",
            "description": "The pagination parameters for the request"
          },
          "query": {
            "$ref": "#/components/schemas/RequestFindSubscriptionQueryCriteria",
            "description": "The query criteria for the request"
          },
          "sort_key": {
            "default": "createdAtDesc",
            "enum": [
              "createdAtDesc",
              "createdAtAsc",
              "updatedAtAsc",
              "updatedAtDesc",
              "mrrAsc",
              "mrrDesc",
              "startDateAsc",
              "startDateDesc",
              "nextInvoiceAsc",
              "nextInvoiceDesc",
              "renewalDateAsc",
              "renewalDateDesc"
            ],
            "type": "string"
          }
        },
        "required": [
          "sort_key",
          "pagination"
        ],
        "type": "object"
      },
      "RequestIngestEventsRequest": {
        "properties": {
          "events": {
            "description": "An array of events to ingest. You can have a maximum of 100 events for each batch",
            "items": {
              "$ref": "#/components/schemas/ModelBillableUsageEvent"
            },
            "maxItems": 100,
            "maximum": 100,
            "type": [
              "array"
            ]
          }
        },
        "required": [
          "events"
        ],
        "type": "object"
      },
      "RequestIngestObjectsRequest": {
        "properties": {
          "objects": {
            "items": {
              "$ref": "#/components/schemas/ModelBillableObjectAction"
            },
            "maximum": 100,
            "type": [
              "array"
            ]
          }
        },
        "required": [
          "objects"
        ],
        "type": "object"
      },
      "RequestMarkInvoicePaidParams": {
        "properties": {
          "amount": {
            "$ref": "#/components/schemas/ModelAmount",
            "description": "The amount paid against the invoice"
          },
          "notes": {
            "description": "Any additional notes related to the payment such as transaction number or cheque number",
            "type": [
              "null",
              "string"
            ]
          },
          "paid_date": {
            "description": "The date of payment against the invoice",
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          },
          "provider_type": {
            "description": "The payment mechanism used for the payment against the invoice which can be one of WIRE, CHEQUE, CASH, CREDIT_CARD_OFFLINE, BILL_COM, AUTHORIZE_NET, STRIPE, BANK_TRANSFER or INTERNAL",
            "enum": [
              "WIRE",
              "CHEQUE",
              "CASH",
              "CREDIT_CARD_OFFLINE",
              "BILL_COM",
              "AUTHORIZE_NET",
              "STRIPE",
              "BANK_TRANSFER",
              "INTERNAL"
            ],
            "type": "string"
          }
        },
        "required": [
          "provider_type",
          "amount"
        ],
        "type": "object"
      },
      "RequestNextInvoiceRequest": {
        "properties": {
          "cancel_config": {
            "$ref": "#/components/schemas/RequestCancelSubscriptionRequest"
          },
          "change_config": {
            "$ref": "#/components/schemas/RequestChangeSubscriptionRequest"
          },
          "currency": {
            "description": "The currency for the invoice",
            "type": "string"
          },
          "customer_id": {
            "description": "The customer for the invoice",
            "type": "string"
          },
          "include_taxes": {
            "description": "Whether to include taxes in the invoice",
            "type": "boolean"
          },
          "subscription_id": {
            "description": "The subscription ID for the invoice",
            "type": [
              "null",
              "string"
            ]
          }
        },
        "required": [
          "customer_id",
          "currency",
          "subscription_id"
        ],
        "type": "object"
      },
      "RequestPaginationRequest": {
        "description": "The pagination parameters for the request",
        "properties": {
          "from_key": {
            "type": [
              "null",
              "string"
            ]
          },
          "limit": {
            "default": 20,
            "format": "int64",
            "maximum": 200,
            "minimum": 0,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "RequestRefundTransactionRequest": {
        "properties": {
          "amount": {
            "$ref": "#/components/schemas/ModelAmount",
            "description": ""
          },
          "note": {
            "description": "An optional internal note for the refund transaction",
            "type": [
              "null",
              "string"
            ]
          },
          "reason": {
            "enum": [
              "duplicate",
              "fraudulent",
              "requested_by_customer",
              "expired_uncaptured_charge"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "RequestSubscriptionCurrentPeriodUsageRequest": {
        "properties": {
          "item_id": {
            "description": "The specific item for which usage is being requested",
            "type": "string"
          }
        },
        "required": [
          "item_id"
        ],
        "type": "object"
      },
      "RequestSubscriptionTrialExtendRequest": {
        "properties": {
          "end_date": {
            "description": "The end date to extend the trial to",
            "format": "date-time",
            "type": [
              "string"
            ]
          }
        },
        "required": [
          "end_date"
        ],
        "type": "object"
      },
      "RequestSubscriptionUsageRequest": {
        "properties": {
          "period": {
            "$ref": "#/components/schemas/ModelPeriod",
            "description": "The start date to end date range for the subscription usage"
          },
          "product_metric_pricing_id": {
            "description": "The specific product metric pricing for which usage is being requested",
            "type": "string"
          }
        },
        "required": [
          "product_metric_pricing_id"
        ],
        "type": "object"
      },
      "RequestTaxParams": {
        "properties": {
          "country": {
            "description": "The country for the tax. e.g. Canada",
            "type": "string"
          },
          "description": {
            "description": "The description for the tax",
            "type": "string"
          },
          "metadata": {
            "additionalProperties": true,
            "description": "Any additional data as key-value pairs that needs to be attached to the tax",
            "type": "object"
          },
          "name": {
            "description": "The name for the tax",
            "type": "string"
          },
          "rate": {
            "description": "The tax rate in decimal, less than 1",
            "type": "number"
          },
          "region": {
            "description": "The region for the tax. e.g. Ontario",
            "type": "string"
          },
          "type": {
            "description": "The type of tax that can be one of GST, HST, VAT, QST, SALES or CUSTOM.",
            "enum": [
              "GST",
              "HST",
              "VAT",
              "QST",
              "PST",
              "SALES",
              "CUSTOM"
            ],
            "type": "string"
          }
        },
        "required": [
          "name",
          "rate",
          "type"
        ],
        "type": "object"
      },
      "RequestUpdateBillableItemRequest": {
        "properties": {
          "description": {
            "description": "The description of the billable item",
            "type": [
              "null",
              "string"
            ]
          },
          "external_name": {
            "description": "The public name of the billable item",
            "type": [
              "null",
              "string"
            ]
          },
          "name": {
            "description": "The name of the billable item",
            "type": [
              "null",
              "string"
            ]
          }
        },
        "type": "object"
      },
      "RequestUpdateBillableMetricRequest": {
        "properties": {
          "description": {
            "description": "The description of the billable metric",
            "type": [
              "null",
              "string"
            ]
          },
          "external_name": {
            "description": "The public name of the billable metric",
            "type": [
              "null",
              "string"
            ]
          },
          "name": {
            "description": "The name of the billable metric",
            "type": [
              "null",
              "string"
            ]
          }
        },
        "type": "object"
      },
      "RequestUpdateBillableObjectRequest": {
        "properties": {
          "properties": {
            "additionalProperties": {},
            "type": [
              "object"
            ]
          }
        },
        "required": [
          "properties"
        ],
        "type": "object"
      },
      "RequestUpdateContractRequest": {
        "properties": {
          "auto_charges": {
            "description": "Whether the subscription is automatically charged to the payment method after the contract is signed",
            "type": [
              "null",
              "boolean"
            ]
          },
          "auto_renews": {
            "description": "Whether this subscription auto renews at the end of the term. This is to be used without end date or renewal date",
            "type": [
              "null",
              "boolean"
            ]
          },
          "custom_variables": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "The custom variables for the contract as key-value pairs",
            "type": [
              "object",
              "null"
            ]
          },
          "expiration_date": {
            "description": "The expiration date in RFC-3339 format for the contract",
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          },
          "metadata": {
            "additionalProperties": true,
            "description": "Any additional data as key-value pairs that needs to be attached to the subscription after the contract is signed",
            "type": "object"
          },
          "owner_id": {
            "description": "The company user ID of the user in Maple assigned to manage this contract",
            "type": [
              "string",
              "null"
            ]
          },
          "signatories": {
            "description": "The signatories for the contract",
            "items": {
              "$ref": "#/components/schemas/ModelSignatory"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "start_date": {
            "description": "The start date for the contract in RFC-3339 format, if it does not start immediately",
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          },
          "term": {
            "$ref": "#/components/schemas/ModelTerm",
            "description": "The term for the subscription created by the contract"
          },
          "title": {
            "description": "The title for the contract",
            "type": [
              "null",
              "string"
            ]
          }
        },
        "type": "object"
      },
      "RequestUpdateCustomerRequest": {
        "properties": {
          "address": {
            "description": "The address of the customer",
            "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",
              "null"
            ]
          },
          "billing_emails": {
            "description": "The additional emails to cc on customer's invoices",
            "examples": [
              [
                "harry.potter@hogwarts.com"
              ]
            ],
            "format": "email",
            "items": {
              "type": "string"
            },
            "type": [
              "null",
              "array"
            ]
          },
          "child_rollup_billing": {
            "description": "Whether to enable rollup billing for children of this account",
            "type": [
              "null",
              "boolean"
            ]
          },
          "child_rollup_billing_config": {
            "$ref": "#/components/schemas/ModelChildRollupBillingConfig",
            "description": "The billing configuration if child rollup billing is enabled"
          },
          "email": {
            "description": "The email address of the customer",
            "type": [
              "null",
              "string"
            ]
          },
          "exclude_from_metrics": {
            "description": "Whether to exclude this customer and related fields from any metrics in Maple",
            "type": [
              "null",
              "boolean"
            ]
          },
          "identifier": {
            "description": "A unique identifier that ties the customer back to your system",
            "type": [
              "null",
              "string"
            ]
          },
          "locale": {
            "description": "The locale of the customer",
            "type": [
              "null",
              "string"
            ]
          },
          "metadata": {
            "additionalProperties": true,
            "description": "Any additional data as key-value pairs that needs to be attached to the subscription",
            "type": "object"
          },
          "name": {
            "description": "The name of the customer",
            "type": [
              "null",
              "string"
            ]
          },
          "org_name": {
            "description": "The name of the company or organization this customer is a part of",
            "type": [
              "null",
              "string"
            ]
          },
          "override_taxes": {
            "description": "Any specific taxes for the customer. These taxes will override any existing tax rates and automatic tax collections for the customer.",
            "items": {
              "$ref": "#/components/schemas/RequestTaxParams"
            },
            "type": [
              "null",
              "array"
            ]
          },
          "owner_id": {
            "description": "The company user ID of the user in Maple assigned to manage this customer",
            "type": [
              "string",
              "null"
            ]
          },
          "parent_customer_id": {
            "description": "The parent of this customer account, used for parent-child-billing",
            "type": [
              "string",
              "null"
            ]
          },
          "phone": {
            "description": "The phone number of the customer",
            "type": [
              "null",
              "string"
            ]
          },
          "status": {
            "description": "The status of the customer such as ACTIVE or ARCHIVED",
            "type": [
              "null",
              "string"
            ]
          },
          "title": {
            "description": "The title of the customer, such as CEO, VP",
            "type": [
              "null",
              "string"
            ]
          }
        },
        "type": "object"
      },
      "RequestUpdateEntitlementRequest": {
        "properties": {
          "adjust_for_quantity": {
            "description": "Whether the entitlement should be multiplied by the quantity selected",
            "type": [
              "null",
              "boolean"
            ]
          },
          "aggregator_type": {
            "description": "The aggregator type of the entitlement in case a customer has different values for different subscriptions. This can be one of OR, AND (for BOOL), ADD, MINIMUM, MAXIMUM (for NUMBER), COALESCE (for TEXT or ENUM)",
            "enum": [
              "OR",
              "AND",
              "ADD",
              "MINIMUM",
              "MAXIMUM",
              "COALESCE"
            ],
            "type": [
              "null",
              "string"
            ]
          },
          "name": {
            "description": "The name of the entitlement",
            "type": [
              "null",
              "string"
            ]
          },
          "possible_values": {
            "description": "The possible values for the entitlement of enum type",
            "items": {
              "type": "string"
            },
            "type": [
              "null",
              "array"
            ]
          }
        },
        "type": "object"
      },
      "RequestUpdateInvoiceRequest": {
        "properties": {
          "due_date": {
            "description": "The due date of the invoice in RFC-3339 format as long as the invoice is not paid, partially paid or void",
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          },
          "metadata": {
            "additionalProperties": true,
            "description": "The metadata associated with the invoice for internal references as long as the invoice is not paid, partially paid or void",
            "type": "object"
          },
          "notes": {
            "description": "The notes field of the invoice as long as the invoice is not paid, partially paid or void",
            "type": [
              "null",
              "string"
            ]
          }
        },
        "type": "object"
      },
      "RequestUpdatePaymentMethodsRequest": {
        "properties": {
          "default": {
            "description": "This will change the customer's default payment method'",
            "type": "string"
          },
          "update_subscriptions_non_default_payment": {
            "description": "If the customer had specified a payment method when subscribing, we will update the subscription the provided payment method",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "RequestUpdateProductPricingRequest": {
        "properties": {
          "description": {
            "description": "The internal description for the product pricing",
            "type": [
              "null",
              "string"
            ]
          },
          "entitlements": {
            "description": "The entitlements that enable features for the product pricing",
            "items": {
              "$ref": "#/components/schemas/RequestEntitlementData"
            },
            "type": [
              "null",
              "array"
            ]
          },
          "external_name": {
            "description": "The externally visible name for the product pricing",
            "type": [
              "null",
              "string"
            ]
          },
          "metadata": {
            "additionalProperties": true,
            "description": "Any additional data as key-value pairs that need to be attached to the product pricing",
            "type": "object"
          },
          "name": {
            "description": "The name of the product pricing",
            "type": [
              "null",
              "string"
            ]
          },
          "state": {
            "description": "The state of the product pricing whether ACTIVE or ARCHIVED",
            "type": [
              "null",
              "string"
            ]
          },
          "tags": {
            "description": "Any string tags associated with this product pricing",
            "items": {
              "type": "string"
            },
            "type": [
              "null",
              "array"
            ]
          },
          "upsell_product_pricing_id": {
            "description": "The upsell product pricing ID",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "RequestUpdateProductRequest": {
        "properties": {
          "description": {
            "description": "The description of the product",
            "type": [
              "null",
              "string"
            ]
          },
          "entitlements": {
            "description": "The entitlements that enable features for the product",
            "items": {
              "$ref": "#/components/schemas/RequestEntitlementData"
            },
            "type": [
              "null",
              "array"
            ]
          },
          "external_name": {
            "description": "The external name of the product",
            "type": [
              "null",
              "string"
            ]
          },
          "image_url": {
            "$ref": "#/components/schemas/NullableV1String",
            "description": "The url for the image of the product"
          },
          "metadata": {
            "additionalProperties": true,
            "description": "Any additional data as key-value pairs that need to be attached to the product",
            "type": "object"
          },
          "name": {
            "description": "The name of the product",
            "type": [
              "null",
              "string"
            ]
          },
          "state": {
            "description": "The state of the product such as ACTIVE or ARCHIVED",
            "type": [
              "null",
              "string"
            ]
          },
          "tags": {
            "description": "Any string tags associated with this product",
            "items": {
              "type": "string"
            },
            "type": [
              "null",
              "array"
            ]
          }
        },
        "type": "object"
      },
      "RequestUpdateSubscriptionRequest": {
        "description": "The update configuration for subscription's properties'",
        "properties": {
          "auto_charges": {
            "description": "Whether the subscription is automatically charged to the payment method",
            "type": [
              "null",
              "boolean"
            ]
          },
          "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": [
              "null",
              "array"
            ]
          },
          "invoice_due_date_from_creation": {
            "description": "The number of days between the invoice date and the due date for any invoices created for this subscription",
            "minimum": 0,
            "type": [
              "null",
              "integer"
            ]
          },
          "invoice_payment_instructions": {
            "description": "HTML formatted payment instructions attached to each invoice generated for the subscription. If non-null, overrides the invoice payment instructions set at the company-wide setting.",
            "type": [
              "string",
              "null"
            ]
          },
          "metadata": {
            "additionalProperties": true,
            "description": "Any additional data as key-value pairs that needs to be attached to the subscription",
            "type": "object"
          },
          "minimum_spend": {
            "$ref": "#/components/schemas/ModelAmount",
            "description": "The minimum amount of spend that needs to be attached to the subscription"
          },
          "override_entitlements": {
            "description": "The entitlements that will override product and product pricing entitlements",
            "items": {
              "$ref": "#/components/schemas/RequestEntitlementData"
            },
            "type": [
              "null",
              "array"
            ]
          },
          "parent_billed": {
            "description": "Whether the subscription is billed to a parent customer",
            "type": [
              "null",
              "boolean"
            ]
          },
          "payment_method_id": {
            "description": "The payment method for the subscription on change",
            "type": [
              "string",
              "null"
            ]
          },
          "tags": {
            "description": "Any tags that needs to be attached to the subscription",
            "items": {
              "type": "string"
            },
            "type": [
              "null",
              "array"
            ]
          }
        },
        "type": "object"
      },
      "ResponseAddPaymentMethodLinkResponse": {
        "properties": {
          "link": {
            "type": [
              "null",
              "string"
            ]
          }
        },
        "type": "object"
      },
      "ResponseAllPaymentMethodsResponse": {
        "properties": {
          "methods": {
            "items": {
              "$ref": "#/components/schemas/CommonPaymentMethod"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "ResponseBaseSuccessResponse": {
        "properties": {
          "success": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "ResponseBillableItemPricingRepresentation": {
        "properties": {
          "base_price": {
            "$ref": "#/components/schemas/ModelAmount"
          },
          "base_units": {
            "format": "double",
            "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": {
            "additionalProperties": true,
            "type": "object"
          },
          "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": {
            "format": "int64",
            "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"
      },
      "ResponseBillableObjectLiteRepresentation": {
        "properties": {
          "company_id": {
            "description": "The company ID of the object",
            "type": "string"
          },
          "created_at": {
            "description": "The date the object was created",
            "format": "date-time",
            "type": "string"
          },
          "customer_id": {
            "description": "The customer ID in Maple for the object",
            "type": "string"
          },
          "customer_identifier": {
            "description": "The unique identifier for the customer that ties back to your system",
            "type": "string"
          },
          "id": {
            "description": "The ID of the object in Maple",
            "type": "string"
          },
          "item_id": {
            "description": "The billable item ID from Maple that this object is being tracked for",
            "type": "string"
          },
          "object_identifier": {
            "description": "The unique identifier for the object that ties back to your system",
            "type": "string"
          },
          "properties": {
            "additionalProperties": {},
            "description": "The set of properties relevant to billing metrics that are set up in Maple",
            "type": [
              "object",
              "null"
            ]
          },
          "updated_at": {
            "description": "The date the object was last updated",
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ResponseBundlePricingRepresentation": {
        "properties": {
          "bundle_product_pricings": {
            "items": {
              "$ref": "#/components/schemas/ResponseBundleProductPricingRepresentation"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "company_id": {
            "type": "string"
          },
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "currency": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "is_auto_generated": {
            "type": "boolean"
          },
          "metadata": {
            "additionalProperties": true,
            "type": "object"
          },
          "name": {
            "type": "string"
          },
          "num_subs": {
            "minimum": 0,
            "type": "integer"
          },
          "state": {
            "type": "string"
          },
          "term": {
            "$ref": "#/components/schemas/ModelTerm"
          },
          "updated_at": {
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ResponseBundleProductPricingRepresentation": {
        "properties": {
          "bundle_pricing_id": {
            "type": "string"
          },
          "company_id": {
            "type": "string"
          },
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "product": {
            "$ref": "#/components/schemas/ResponseProductRepresentation"
          },
          "product_id": {
            "type": "string"
          },
          "product_pricing": {
            "$ref": "#/components/schemas/ResponseProductPricingRepresentation"
          },
          "product_pricing_id": {
            "type": "string"
          },
          "updated_at": {
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ResponseCampaignCustomerRepresentation": {
        "properties": {
          "email": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "org_name": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "ResponseCampaignRepresentation": {
        "properties": {
          "amount": {
            "$ref": "#/components/schemas/ModelAmount"
          },
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "current_step": {
            "minimum": 0,
            "type": "integer"
          },
          "customer": {
            "$ref": "#/components/schemas/ResponseCampaignCustomerRepresentation"
          },
          "id": {
            "type": "string"
          },
          "invoice": {
            "$ref": "#/components/schemas/ResponseInvoiceLiteRepresentation"
          },
          "next_action_in": {
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          },
          "next_action_type": {
            "type": [
              "null",
              "string"
            ]
          },
          "proposal": {
            "$ref": "#/components/schemas/ResponseProposalRepresentation"
          },
          "status": {
            "type": "string"
          },
          "steps": {
            "items": {
              "$ref": "#/components/schemas/ResponseCampaignStepRepresentation"
            },
            "type": "array"
          },
          "time_from_reference_data": {
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          },
          "total_steps": {
            "minimum": 0,
            "type": "integer"
          },
          "type": {
            "type": "string"
          },
          "updated_at": {
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ResponseCampaignStepNotificationLogRepresentation": {
        "properties": {
          "cc": {
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "id": {
            "type": "string"
          },
          "notification_type": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "subject": {
            "type": "string"
          },
          "to": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "ResponseCampaignStepPaymentRepresentation": {
        "properties": {
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "provider_type": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "total_amount": {
            "$ref": "#/components/schemas/ModelAmount"
          },
          "total_amount_default_currency": {
            "$ref": "#/components/schemas/ModelAmount"
          },
          "transaction_type": {
            "type": "string"
          },
          "updated_at": {
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ResponseCampaignStepRepresentation": {
        "properties": {
          "action_type": {
            "type": "string"
          },
          "completed_at": {
            "format": "date-time",
            "type": "string"
          },
          "enqueued_at": {
            "format": "date-time",
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "notification_log": {
            "$ref": "#/components/schemas/ResponseCampaignStepNotificationLogRepresentation"
          },
          "payment_transaction": {
            "$ref": "#/components/schemas/ResponseCampaignStepPaymentRepresentation"
          },
          "status": {
            "type": "string"
          },
          "step_number": {
            "minimum": 0,
            "type": "integer"
          }
        },
        "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"
      },
      "ResponseCreditBalanceBillableItemRepresentation": {
        "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"
          },
          "total_units": {
            "format": "double",
            "type": "number"
          },
          "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"
      },
      "ResponseCreditBalanceResponse": {
        "properties": {
          "total_amount": {
            "additionalProperties": {
              "$ref": "#/components/schemas/ModelAmount"
            },
            "type": [
              "object",
              "null"
            ]
          },
          "total_units": {
            "additionalProperties": {
              "format": "double",
              "type": "number"
            },
            "type": [
              "object",
              "null"
            ]
          },
          "total_units_with_meta": {
            "additionalProperties": {
              "$ref": "#/components/schemas/ResponseCreditBalanceBillableItemRepresentation"
            },
            "type": [
              "object",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "ResponseCreditLogRepresentation": {
        "properties": {
          "action_type": {
            "type": "string"
          },
          "amount_applied": {
            "$ref": "#/components/schemas/ModelAmount"
          },
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "credit_id": {
            "type": "string"
          },
          "customer": {
            "$ref": "#/components/schemas/ResponseEmbeddedCustomerRepresentation"
          },
          "customer_id": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "invoice": {
            "$ref": "#/components/schemas/ResponseInvoiceLiteRepresentation"
          },
          "invoice_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "item": {
            "$ref": "#/components/schemas/ResponseBillableItemRepresentation"
          },
          "item_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "metric_record_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "note": {
            "type": [
              "null",
              "string"
            ]
          },
          "type": {
            "type": "string"
          },
          "units_applied": {
            "format": "double",
            "type": "number"
          }
        },
        "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": {
            "format": "double",
            "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": {
            "format": "double",
            "type": "number"
          }
        },
        "type": "object"
      },
      "ResponseCustomerIntegrationRefs": {
        "properties": {
          "integration_icon": {
            "type": "string"
          },
          "integration_id": {
            "type": "string"
          },
          "integration_key": {
            "type": "string"
          },
          "integration_name": {
            "type": "string"
          },
          "reference_type": {
            "type": "string"
          },
          "remote_id": {
            "type": "string"
          },
          "remote_type": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "ResponseCustomerLiteRepresentation": {
        "properties": {
          "address": {
            "$ref": "#/components/schemas/ModelAddress",
            "description": "The address of the customer"
          },
          "arr": {
            "$ref": "#/components/schemas/ModelAmount",
            "description": "The ARR of the customer"
          },
          "billing_emails": {
            "description": "The additional emails to cc on customer's invoices",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "company_id": {
            "description": "The company ID of the customer",
            "type": "string"
          },
          "computed_entitlements": {
            "description": "The computed entitlements for the customer",
            "items": {
              "$ref": "#/components/schemas/ResponseEntitlementDataRepresentation"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "created_at": {
            "description": "The date the customer was created",
            "format": "date-time",
            "type": "string"
          },
          "customer_integration_metadata": {
            "additionalProperties": {
              "$ref": "#/components/schemas/ModelCustomerIntegrationMetadata"
            },
            "type": "object"
          },
          "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"
          },
          "integration_references": {
            "description": "The integration references of this customer in third-party applications connected to Maple",
            "items": {
              "$ref": "#/components/schemas/ResponseCustomerIntegrationRefs"
            },
            "type": "array"
          },
          "locale": {
            "description": "The locale of the customer",
            "type": "string"
          },
          "managed_externally": {
            "description": "Whether this customer is managed outside of Maple",
            "type": "boolean"
          },
          "metadata": {
            "additionalProperties": true,
            "description": "The metadata as key-value pairs attached to this customer",
            "type": "object"
          },
          "mrr": {
            "$ref": "#/components/schemas/ModelAmount",
            "description": "The MRR of the 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"
            ]
          },
          "phone": {
            "description": "The phone number of the customer",
            "type": "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"
          },
          "updated_at": {
            "description": "The date the customer was last updated",
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ResponseCustomerPortalLinkResponse": {
        "properties": {
          "link": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "ResponseCustomerUsageDashboardLinkResponse": {
        "properties": {
          "link": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "ResponseDeletePaymentMethodsResponse": {
        "properties": {
          "success": {
            "type": "boolean"
          }
        },
        "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"
      },
      "ResponseEnqueuedEvent": {
        "properties": {
          "timestamp": {
            "description": "The event timestamp",
            "type": "string"
          },
          "transaction_id": {
            "description": "The unique identifier for the event",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ResponseEnqueuedObjectAction": {
        "properties": {
          "action": {
            "description": "The specific object action such as CREATE, UPDATE or DELETE",
            "type": "string"
          },
          "object_identifier": {
            "description": "The unique identifier for the object that ties back to your system",
            "type": "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"
      },
      "ResponseEntitlementRepresentation": {
        "properties": {
          "aggregator_type": {
            "description": "The aggregator type of the entitlement",
            "type": "string"
          },
          "id": {
            "description": "The ID of the entitlement",
            "type": "string"
          },
          "key": {
            "description": "The key of the entitlement",
            "type": "string"
          },
          "name": {
            "description": "The name of the entitlement",
            "type": "string"
          },
          "possible_values": {
            "description": "The possible values of the entitlement if the type is ENUM",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "type": {
            "description": "The type of the entitlement that can be BOOL, TEXT, NUMBER or ENUM",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ResponseFindBillableItemsResponse": {
        "properties": {
          "pagination": {
            "$ref": "#/components/schemas/ResponsePaginationResponse"
          },
          "results": {
            "items": {
              "$ref": "#/components/schemas/ResponseBillableItemRepresentation"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "ResponseFindBillableMetricsResponse": {
        "properties": {
          "pagination": {
            "$ref": "#/components/schemas/ResponsePaginationResponse"
          },
          "results": {
            "items": {
              "$ref": "#/components/schemas/ResponseBillableMetricRepresentation"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "ResponseFindBillableObjectLiteResponse": {
        "properties": {
          "pagination": {
            "$ref": "#/components/schemas/ResponsePaginationResponse"
          },
          "results": {
            "items": {
              "$ref": "#/components/schemas/ResponseBillableObjectLiteRepresentation"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "ResponseFindBundlePricingResponse": {
        "properties": {
          "pagination": {
            "$ref": "#/components/schemas/ResponsePaginationResponse"
          },
          "results": {
            "items": {
              "$ref": "#/components/schemas/ResponseBundlePricingRepresentation"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "ResponseFindContractResponse": {
        "properties": {
          "pagination": {
            "$ref": "#/components/schemas/ResponsePaginationResponse"
          },
          "results": {
            "items": {
              "$ref": "#/components/schemas/ResponseProposalRepresentation"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "ResponseFindCreditLogsResponse": {
        "properties": {
          "pagination": {
            "$ref": "#/components/schemas/ResponsePaginationResponse"
          },
          "results": {
            "items": {
              "$ref": "#/components/schemas/ResponseCreditLogRepresentation"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "ResponseFindCreditResponse": {
        "properties": {
          "pagination": {
            "$ref": "#/components/schemas/ResponsePaginationResponse"
          },
          "results": {
            "items": {
              "$ref": "#/components/schemas/ResponseCreditRepresentation"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "ResponseFindCustomerLiteResponse": {
        "properties": {
          "pagination": {
            "$ref": "#/components/schemas/ResponsePaginationResponse"
          },
          "results": {
            "items": {
              "$ref": "#/components/schemas/ResponseCustomerLiteRepresentation"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "ResponseFindEntitlementResponse": {
        "properties": {
          "pagination": {
            "$ref": "#/components/schemas/ResponsePaginationResponse"
          },
          "results": {
            "items": {
              "$ref": "#/components/schemas/ResponseEntitlementRepresentation"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "ResponseFindInvoiceLiteResponse": {
        "properties": {
          "pagination": {
            "$ref": "#/components/schemas/ResponsePaginationResponse"
          },
          "results": {
            "items": {
              "$ref": "#/components/schemas/ResponseInvoiceLiteRepresentation"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "ResponseFindOneTimesResponse": {
        "properties": {
          "pagination": {
            "$ref": "#/components/schemas/ResponsePaginationResponse"
          },
          "results": {
            "items": {
              "$ref": "#/components/schemas/ResponseOneTimeRepresentation"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "ResponseFindPaymentTransactionsResponse": {
        "properties": {
          "pagination": {
            "$ref": "#/components/schemas/ResponsePaginationResponse"
          },
          "results": {
            "items": {
              "$ref": "#/components/schemas/ResponsePaymentTransactionRepresentation"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "ResponseFindProductLiteResponse": {
        "properties": {
          "pagination": {
            "$ref": "#/components/schemas/ResponsePaginationResponse"
          },
          "results": {
            "items": {
              "$ref": "#/components/schemas/ResponseProductLiteRepresentation"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "ResponseFindProductPricingLiteResponse": {
        "properties": {
          "pagination": {
            "$ref": "#/components/schemas/ResponsePaginationResponse"
          },
          "results": {
            "items": {
              "$ref": "#/components/schemas/ResponseProductPricingLiteRepresentation"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "ResponseFindSubscriptionLiteResponse": {
        "properties": {
          "pagination": {
            "$ref": "#/components/schemas/ResponsePaginationResponse"
          },
          "results": {
            "items": {
              "$ref": "#/components/schemas/ResponseSubscriptionLiteRepresentation"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "ResponseIngestEventsResponse": {
        "properties": {
          "enqueued": {
            "description": "The list of enqueued event transaction IDs",
            "items": {
              "$ref": "#/components/schemas/ResponseEnqueuedEvent"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "ResponseIngestObjectsResponse": {
        "properties": {
          "enqueued": {
            "description": "The list of enqueued object identifiers with their action",
            "items": {
              "$ref": "#/components/schemas/ResponseEnqueuedObjectAction"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "ResponseInvoiceLiteRepresentation": {
        "properties": {
          "auto_charges": {
            "description": "Whether the invoice is automatically charged to the payment method on file for the customer",
            "type": "boolean"
          },
          "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"
          },
          "created_at": {
            "description": "The date the invoice was created",
            "format": "date-time",
            "type": "string"
          },
          "currency": {
            "description": "The currency of the invoice",
            "type": "string"
          },
          "customer_id": {
            "description": "The customer ID for the invoice",
            "type": "string"
          },
          "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"
            ]
          },
          "invoice_date": {
            "description": "The date for the invoice",
            "format": "date-time",
            "type": "string"
          },
          "name": {
            "description": "The name of the invoice",
            "type": "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"
            ]
          },
          "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"
            ]
          },
          "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"
      },
      "ResponseMeteringRuleRepresentation": {
        "properties": {
          "aggregator": {
            "type": "string"
          },
          "group_keys": {
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "property": {
            "type": "string"
          },
          "rule": {
            "type": [
              "null",
              "string"
            ]
          }
        },
        "type": "object"
      },
      "ResponseMetricsChartData": {
        "properties": {
          "grouping": {
            "additionalProperties": {
              "$ref": "#/components/schemas/ModelMetricGroupingResponse"
            },
            "description": "The metrics grouped by the grouping parameter if sent in the request",
            "type": [
              "object",
              "null"
            ]
          },
          "period": {
            "$ref": "#/components/schemas/ModelPeriod",
            "description": "The period for the metrics response with start and end date"
          },
          "value": {
            "description": "The aggregate metric value for the period"
          }
        },
        "type": "object"
      },
      "ResponseMetricsChartResponse": {
        "properties": {
          "metrics": {
            "items": {
              "$ref": "#/components/schemas/ResponseMetricsChartData"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "ResponseOneTimeRepresentation": {
        "properties": {
          "aggregate": {
            "format": "double",
            "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"
      },
      "ResponsePaginationResponse": {
        "properties": {
          "from_key": {
            "type": [
              "null",
              "string"
            ]
          },
          "limit": {
            "format": "int64",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "ResponsePaymentConfigRepresentation": {
        "properties": {
          "account_id": {
            "type": "string"
          },
          "client_secret": {
            "type": "string"
          },
          "integration_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "live_mode": {
            "type": "boolean"
          },
          "provider": {
            "type": "string"
          },
          "razorpay": {
            "$ref": "#/components/schemas/ResponseRazorpayPaymentConfig"
          },
          "stripe": {
            "$ref": "#/components/schemas/ResponseStripePaymentConfig"
          }
        },
        "type": "object"
      },
      "ResponsePaymentMethodData": {
        "properties": {
          "brand": {
            "type": "string"
          },
          "last_4": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "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"
      },
      "ResponseProductLiteRepresentation": {
        "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"
            ]
          },
          "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"
            ]
          },
          "metadata": {
            "additionalProperties": true,
            "description": "Any additional data as key-value pairs attached to the product",
            "type": "object"
          },
          "name": {
            "description": "The name of the product",
            "type": "string"
          },
          "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"
      },
      "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"
      },
      "ResponseProductPricingLiteRepresentation": {
        "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"
          },
          "metadata": {
            "additionalProperties": true,
            "description": "Any additional data as key-value pairs attached to the product pricing",
            "type": "object"
          },
          "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_id": {
            "description": "The product ID that the product pricing is attached to",
            "type": "string"
          },
          "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"
          }
        },
        "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": {
            "additionalProperties": true,
            "description": "Any additional data as key-value pairs attached to the product pricing",
            "type": "object"
          },
          "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": {
            "additionalProperties": true,
            "description": "Any additional data as key-value pairs attached to the product",
            "type": "object"
          },
          "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"
      },
      "ResponseProposalCustomerRepresentation": {
        "properties": {
          "address": {
            "$ref": "#/components/schemas/ModelAddress",
            "description": "The address of the customer"
          },
          "billing_emails": {
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "email": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "identifier": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "org_name": {
            "type": "string"
          },
          "owner_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "parent_customer": {
            "$ref": "#/components/schemas/ResponseProposalCustomerRepresentation"
          },
          "parent_customer_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "phone": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "ResponseProposalErrorRepresentation": {
        "properties": {
          "error_message": {
            "type": "string"
          },
          "error_status": {
            "type": "string"
          },
          "signature_id": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "ResponseProposalLinkResponse": {
        "properties": {
          "id": {
            "description": "The ID of the checkout session",
            "type": "string"
          },
          "url": {
            "description": "The checkout link generated",
            "type": [
              "null",
              "string"
            ]
          }
        },
        "type": "object"
      },
      "ResponseProposalRepresentation": {
        "properties": {
          "acv": {
            "$ref": "#/components/schemas/ModelAmount"
          },
          "auto_charges": {
            "type": "boolean"
          },
          "auto_renews": {
            "type": "boolean"
          },
          "bundle_pricing": {
            "$ref": "#/components/schemas/ResponseBundlePricingRepresentation"
          },
          "bundle_pricing_id": {
            "type": "string"
          },
          "campaigns": {
            "items": {
              "$ref": "#/components/schemas/ResponseCampaignRepresentation"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "change_custom_date": {
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          },
          "change_proration_type": {
            "type": [
              "string",
              "null"
            ]
          },
          "change_reset_billing_anchor": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "change_timing": {
            "type": [
              "string",
              "null"
            ]
          },
          "company": {
            "$ref": "#/components/schemas/ResponseCompanyRepresentation"
          },
          "company_id": {
            "type": "string"
          },
          "completed_date": {
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          },
          "config_items": {
            "items": {
              "$ref": "#/components/schemas/ModelSubscriptionConfigItem"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "content": {
            "type": [
              "null",
              "string"
            ]
          },
          "content_template": {
            "type": [
              "null",
              "string"
            ]
          },
          "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"
          },
          "currency": {
            "type": [
              "string",
              "null"
            ]
          },
          "custom_variables": {
            "additionalProperties": {},
            "type": [
              "object",
              "null"
            ]
          },
          "customer": {
            "$ref": "#/components/schemas/ResponseProposalCustomerRepresentation"
          },
          "customer_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "discounts": {
            "items": {
              "$ref": "#/components/schemas/ModelDiscount"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "error_status_details": {
            "items": {
              "$ref": "#/components/schemas/ResponseProposalErrorRepresentation"
            },
            "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"
            ]
          },
          "invoice_payment_instructions": {
            "description": "Payment instructions attached to each invoice generated for the contract. If non-null, overrides the invoice payment instructions set at the company-wide setting.",
            "type": [
              "null",
              "string"
            ]
          },
          "metadata": {
            "additionalProperties": true,
            "type": "object"
          },
          "minimum_spend": {
            "$ref": "#/components/schemas/ModelAmount"
          },
          "one_time_billables": {
            "items": {
              "$ref": "#/components/schemas/ResponseOneTimeRepresentation"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "options": {
            "$ref": "#/components/schemas/ModelProposalOptions"
          },
          "owner": {
            "$ref": "#/components/schemas/ResponseProposalCompanyUserRepresentation"
          },
          "owner_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "parent_billed": {
            "type": "boolean"
          },
          "payment_config": {
            "$ref": "#/components/schemas/ResponsePaymentConfigRepresentation"
          },
          "payment_data": {
            "$ref": "#/components/schemas/ModelRecurringPaymentData"
          },
          "payment_provided_date": {
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          },
          "po_number": {
            "type": [
              "null",
              "string"
            ]
          },
          "previous_arr": {
            "$ref": "#/components/schemas/ModelAmount"
          },
          "previous_subscription": {
            "$ref": "#/components/schemas/ResponseSubscriptionProposalRepresentation"
          },
          "previous_subscription_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "processing_date": {
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          },
          "require_payment_method": {
            "type": "boolean"
          },
          "requires_customer_confirmation": {
            "type": "boolean"
          },
          "scheduled_changes": {
            "items": {
              "$ref": "#/components/schemas/ModelSubscriptionChangeConfig"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "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"
          },
          "subscription": {
            "$ref": "#/components/schemas/ResponseSubscriptionProposalRepresentation"
          },
          "subscription_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "tcv": {
            "$ref": "#/components/schemas/ModelAmount"
          },
          "template_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "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"
          },
          "variable_configs": {
            "items": {
              "$ref": "#/components/schemas/ModelVariableConfig"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "ResponseProposalUserRepresentation": {
        "properties": {
          "email": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "verified": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "ResponseRazorpayPaymentConfig": {
        "properties": {
          "account_id": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "ResponseSetupIntentResponse": {
        "properties": {
          "helcim": {
            "$ref": "#/components/schemas/CommonHelcimPaymentIntent"
          },
          "id": {
            "type": "string"
          },
          "integration_id": {
            "type": "string"
          },
          "intent_secret": {
            "type": "string"
          },
          "provider_account_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "provider_key": {
            "type": "string"
          },
          "razorpay": {
            "$ref": "#/components/schemas/CommonRazorPaySetupIntent"
          },
          "square": {
            "$ref": "#/components/schemas/CommonSquareSetupIntent"
          },
          "stripe": {
            "$ref": "#/components/schemas/CommonStripeSetupIntent"
          }
        },
        "type": "object"
      },
      "ResponseStripePaymentConfig": {
        "properties": {
          "account_id": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "ResponseSubscriptionCurrentPeriodUsage": {
        "properties": {
          "additional_available_credit_units": {
            "description": "The total credits available for the billable item",
            "type": "number"
          },
          "used_count_by_metric_id": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "The total usage of metrics for the billable item in the current billing period of the subscription",
            "type": [
              "object",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "ResponseSubscriptionLiteRepresentation": {
        "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"
          },
          "cancel_config": {
            "$ref": "#/components/schemas/ModelSubscriptionCancelConfig",
            "description": "Any cancel request information for this subscription"
          },
          "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_config": {
            "$ref": "#/components/schemas/ModelSubscriptionChangeConfig",
            "description": "Any change request information for this subscription"
          },
          "change_date": {
            "description": "The date this subscription is due to change to a different plan",
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          },
          "company_id": {
            "description": "The company ID of the subscription",
            "type": "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/ResponseCustomerLiteRepresentation",
            "description": "The expanded customer details for the subscription"
          },
          "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"
          },
          "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"
          },
          "metadata": {
            "additionalProperties": true,
            "description": "Any additional data as key-value pairs attached to the subscription",
            "type": "object"
          },
          "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"
            ]
          },
          "override_entitlements": {
            "description": "Any entitlements attached to this subscription",
            "items": {
              "$ref": "#/components/schemas/ResponseEntitlementDataRepresentation"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "pause_config": {
            "$ref": "#/components/schemas/ModelSubscriptionPauseConfig",
            "description": "Any pause request information for this subscription"
          },
          "pause_date": {
            "description": "The date this subscription was paused for collection",
            "format": "date-time",
            "type": [
              "null",
              "string"
            ]
          },
          "payment_method_id": {
            "description": "The payment method for this subscription, if available",
            "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"
            ]
          },
          "product_pricings": {
            "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": {
              "$ref": "#/components/schemas/ResponseSubscriptionProductPricingRepresentation"
            },
            "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"
          },
          "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"
      },
      "ResponseSubscriptionProductMetricPricingRepresentation": {
        "properties": {
          "created_at": {
            "description": "The date this product metric pricing was created",
            "format": "date-time",
            "type": "string"
          },
          "id": {
            "description": "The ID of the product metric pricing",
            "type": "string"
          },
          "item": {
            "$ref": "#/components/schemas/ResponseBillableItemRepresentation",
            "description": "The expanded billable item object"
          },
          "item_id": {
            "description": "The billable item ID",
            "type": "string"
          },
          "item_pricing": {
            "$ref": "#/components/schemas/ResponseBillableItemPricingRepresentation",
            "description": "The expanded billable item pricing object"
          },
          "item_pricing_id": {
            "description": "The billable item pricing ID",
            "type": "string"
          },
          "metric": {
            "$ref": "#/components/schemas/ResponseBillableMetricStringRepresentation",
            "description": "The expanded billable metric object"
          },
          "metric_id": {
            "description": "The billable metric ID",
            "type": "string"
          },
          "minimum_units": {
            "description": "The minimum units committed for this product metric pricing",
            "format": "double",
            "type": "number"
          },
          "num_licenses": {
            "description": "The number of licenses for this product metric pricing",
            "format": "double",
            "type": "number"
          },
          "updated_at": {
            "description": "The date this product metric pricing was updated",
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ResponseSubscriptionProductPricingRepresentation": {
        "properties": {
          "created_at": {
            "description": "The date this product pricing was created",
            "format": "date-time",
            "type": "string"
          },
          "currency": {
            "description": "The currency for the product pricing",
            "type": "string"
          },
          "external_name": {
            "description": "The externally exposed name for the product pricing",
            "type": "string"
          },
          "id": {
            "description": "The ID of the product pricing",
            "type": "string"
          },
          "name": {
            "description": "The name of the product pricing",
            "type": "string"
          },
          "product": {
            "$ref": "#/components/schemas/ResponseProductRepresentation",
            "description": "The expanded product for the product pricing"
          },
          "product_id": {
            "description": "The ID of the product",
            "type": "string"
          },
          "product_metric_pricings": {
            "description": "The metric components of the product pricing plan",
            "items": {
              "$ref": "#/components/schemas/ResponseSubscriptionProductMetricPricingRepresentation"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "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 this product pricing was updated",
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ResponseSubscriptionProposalRepresentation": {
        "properties": {
          "id": {
            "description": "The ID of the subscription in Maple",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ResponseSubscriptionUsageRepresentation": {
        "properties": {
          "metric": {
            "$ref": "#/components/schemas/ResponseBillableMetricStringRepresentation"
          },
          "product_metric_pricing": {
            "$ref": "#/components/schemas/ResponseProductMetricPricingRepresentation"
          },
          "usage": {
            "items": {
              "$ref": "#/components/schemas/ModelSubscriptionUsageValue"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "ResponseUpdatePaymentMethodsResponse": {
        "properties": {
          "method": {
            "$ref": "#/components/schemas/CommonPaymentMethod"
          }
        },
        "type": "object"
      }
    },
    "securitySchemes": {
      "apiKey": {
        "type": "http",
        "scheme": "bearer"
      }
    }
  }
}