{
  "swagger": "2.0",
  "info": {
    "title": "gRPC for our DBaaS billing service",
    "description": "notably uses gRPC-Gateway with OpenAPI",
    "version": "0.1"
  },
  "tags": [
    {
      "name": "BillingService"
    }
  ],
  "schemes": ["https"],
  "consumes": ["application/json"],
  "produces": ["application/json"],
  "paths": {
    "/tenants/{tenant_id}/billing_config_id/{billing_config_id}/costexplorer/enabled": {
      "get": {
        "operationId": "getIsEnabledBills",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "summary": "Is Enabled Bills",
        "parameters": [
          {
            "type": "string",
            "description": "tenant_id",
            "name": "tenant_id",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "billing_config_id",
            "name": "billing_config_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/forms.BillsEnabled"
            }
          }
        }
      }
    },
    "/tenants/{tenant_id}/costexplorer/monthly_usage/app/{app_name}/apps/{app_id}/year/{year}/month/{month}": {
      "get": {
        "operationId": "getOpenAPIUsageExplorerMonthly",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "summary": "app usage Explorer Monthly",
        "parameters": [
          {
            "type": "string",
            "description": "tenant_id",
            "name": "tenant_id",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "year",
            "name": "year",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "month",
            "name": "month",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "app_name",
            "name": "app_name",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "app_id",
            "name": "app_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/forms.AppAPIUsageExplore"
            }
          }
        }
      }
    },
    "/tenants/{tenant_id}/plans": {
      "get": {
        "operationId": "GetTenantPlanInfo",
        "description": "Get Tenant Plan Info",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["Plan"],
        "summary": "Get Tenant Plan Info",
        "parameters": [
          {
            "type": "string",
            "description": "tenant_id",
            "name": "tenant_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/forms.TenantPlanInfo"
            }
          }
        }
      }
    },
    "/tenants/{tenant_id}/billing_config_id/{billing_config_id}/payments/active": {
      "get": {
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "operationId": "GetActivePaymentMethod",
        "summary": "Get Active PaymentMethod",
        "parameters": [
          {
            "type": "string",
            "description": "tenant_id",
            "name": "tenant_id",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "billing_config_id",
            "name": "billing_config_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/forms.PaymentMethod"
            }
          }
        }
      }
    },
    "/tenants/{tenant_id}/payments/active": {
      "get": {
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "operationId": "GetActivePaymentMethodV1",
        "summary": "Get Active PaymentMethod",
        "parameters": [
          {
            "type": "string",
            "description": "tenant_id",
            "name": "tenant_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/forms.PaymentMethod"
            }
          }
        }
      }
    },
    "/tenants/{tenant_id}/billing_info": {
      "get": {
        "operationId": "GetBillingInfo",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "summary": "Get BillingInfo",
        "parameters": [
          {
            "type": "string",
            "description": "tenant_id",
            "name": "tenant_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/forms.BillingInformation"
            }
          }
        }
      },
      "put": {
        "operationId": "UpdateBillingInfo",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "summary": "Update BillingInfo",
        "parameters": [
          {
            "type": "string",
            "description": "tenant_id",
            "name": "tenant_id",
            "in": "path",
            "required": true
          },
          {
            "description": "BillingInformation",
            "name": "Query",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/forms.BillingInformationInput"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/forms.BillingInformation"
            }
          }
        }
      }
    },
    "/tenants/{tenant_id}/billing_action_check": {
      "post": {
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "summary": "Billing Action Check",
        "operationId": "BillingActionCheck",
        "parameters": [
          {
            "type": "string",
            "description": "tenant_id",
            "name": "tenant_id",
            "in": "path",
            "required": true
          },
          {
            "description": "BillingActionInfo",
            "name": "input",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/forms.BillingActionInfo"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/forms.BillingActionCheckResult"
            }
          }
        }
      }
    },
    "/tenants/{tenant_id}/billing_action_check/_batch": {
      "post": {
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "summary": "Billing Action Check",
        "operationId": "BatchBillingActionCheckBatch",
        "parameters": [
          {
            "type": "string",
            "description": "tenant_id",
            "name": "tenant_id",
            "in": "path",
            "required": true
          },
          {
            "description": "BillingActionCheckBatchInput",
            "name": "input",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/forms.BillingActionCheckBatchInput"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/forms.BillingActionCheckBatchOutput"
            }
          }
        }
      }
    },
    "/tenants/{tenant_id}/billing_config_id/{billing_config_id}/binded_support_plan": {
      "get": {
        "operationId": "GetTenantSupportPlan",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "summary": "Get Tenant Support Plan",
        "parameters": [
          {
            "type": "string",
            "description": "tenant_id",
            "name": "tenant_id",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "billing_config_id",
            "name": "billing_config_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/forms.BindedSupportPlan"
            }
          }
        }
      }
    },
    "/tenants/{tenant_id}/binded_support_plan/details": {
      "get": {
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "summary": "List activated support plans for tenant. Additionally, return whether the current tenant is still eligible for a free trial.",
        "operationId": "listBindedSupportPlan",
        "parameters": [
          {
            "type": "string",
            "description": "tenant_id",
            "name": "tenant_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/forms.BindedSupportPlanDetails"
            }
          }
        }
      }
    },
    "/tenants/{tenant_id}/billing_config_id/{billing_config_id}/contracts/{contract_id}/download": {
      "get": {
        "operationId": "DownloadContract",
        "summary": "Download Contract",
        "parameters": [
          {
            "type": "string",
            "description": "tenant_id",
            "name": "tenant_id",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "billing_config_id",
            "name": "billing_config_id",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "contract_id",
            "name": "contract_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/apiHttpBody"
            }
          }
        }
      }
    },
    "/tenants/{tenant_id}/billing_config_id/{billing_config_id}/costexplorer/bills_details/year/{year}/month/{month}": {
      "get": {
        "operationId": "getBillsDetails",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "parameters": [
          {
            "type": "string",
            "description": "tenant_id",
            "name": "tenant_id",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "billing_config_id",
            "name": "billing_config_id",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "year",
            "name": "year",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "month",
            "name": "month",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/forms.CostExplorerDetailsResult"
            }
          }
        }
      }
    },
    "/tenants/{tenant_id}/billing_config_id/{billing_config_id}/costexplorer/monthly_bills/year/{year}/month/{month}/export": {
      "post": {
        "operationId": "getMonthlyBillsExport",
        "consumes": ["application/json"],
        "produces": ["application/octet-stream"],
        "summary": "Monthly Bills Explorer Monthly",
        "parameters": [
          {
            "type": "string",
            "description": "tenant_id",
            "name": "tenant_id",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "billing_config_id",
            "name": "billing_config_id",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "year",
            "name": "year",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "month",
            "name": "month",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/apiHttpBody"
            }
          }
        }
      }
    },
    "/tenants/{tenant_id}/billing_config_id/{billing_config_id}/costexplorer/monthly_cost/year/{year}/month/{month}": {
      "get": {
        "operationId": "GetMonthlyCost",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "summary": "Cost Explorer Monthly",
        "parameters": [
          {
            "type": "string",
            "description": "tenant_id",
            "name": "tenant_id",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "billing_config_id",
            "name": "billing_config_id",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "year",
            "name": "year",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "month",
            "name": "month",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/forms.MonthlycostExplorerResult"
            }
          }
        }
      }
    },
    "/tenants/{tenant_id}/billing_config_id/{billing_config_id}/costexplorer/monthly_cost/year/{year}/month/{month}/export": {
      "post": {
        "operationId": "ExportMonthBillCSV",
        "consumes": ["application/json"],
        "produces": ["application/octet-stream"],
        "summary": "Cost Explorer Monthly",
        "parameters": [
          {
            "type": "string",
            "description": "tenant_id",
            "name": "tenant_id",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "billing_config_id",
            "name": "billing_config_id",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "year",
            "name": "year",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "month",
            "name": "month",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/forms.MonthlycostExplorerResult"
            }
          }
        }
      }
    },
    "/tenants/{tenant_id}/billing_config_id/{billing_config_id}/costexplorer/trends": {
      "post": {
        "operationId": "GetCostExplorerTrends",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "summary": "Cost Explorer Trends",
        "parameters": [
          {
            "type": "string",
            "description": "tenant_id",
            "name": "tenant_id",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "billing_config_id",
            "name": "billing_config_id",
            "in": "path",
            "required": true
          },
          {
            "description": "Query",
            "name": "Query",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/forms.CostExploreTrendsInput"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/forms.CostExploreTrendsOutput"
            }
          }
        }
      }
    },
    "/tenants/{tenant_id}/billing_config_id/{billing_config_id}/costexplorer/trends/csv": {
      "post": {
        "operationId": "ExportCostExplorerTrends",
        "consumes": ["application/json"],
        "produces": ["text/csv"],
        "parameters": [
          {
            "type": "string",
            "description": "tenant_id",
            "name": "tenant_id",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "billing_config_id",
            "name": "billing_config_id",
            "in": "path",
            "required": true
          },
          {
            "type": "boolean",
            "description": "display_discounts_and_credits",
            "name": "with_discounts_and_credits",
            "in": "query"
          },
          {
            "description": "Query",
            "name": "Query",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/forms.CostExploreTrendsInput"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer"
              }
            }
          }
        }
      }
    },
    "/tenants/{tenant_id}/billing_config_id/{billing_config_id}/credits": {
      "get": {
        "operationId": "ListTenantsCredits",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "summary": "List Tenants Credits",
        "parameters": [
          {
            "type": "string",
            "description": "tenant_id",
            "name": "tenant_id",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "billing_config_id",
            "name": "billing_config_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/forms.CreditsPackage"
              }
            }
          }
        }
      }
    },
    "/tenants/{tenant_id}/billing_config_id/{billing_config_id}/credits/{credit_id}": {
      "get": {
        "operationId": "GetCredits",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "summary": "Get Credits",
        "parameters": [
          {
            "type": "string",
            "description": "tenant_id",
            "name": "tenant_id",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "billing_config_id",
            "name": "billing_config_id",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "credit_id",
            "name": "credit_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/forms.CreditsPackage"
            }
          }
        }
      }
    },
    "/tenants/{tenant_id}/billing_config_id/{billing_config_id}/credits_summary": {
      "get": {
        "operationId": "GetTenantsCreditsSummary",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "summary": "Get Tenants Credits Summary",
        "parameters": [
          {
            "type": "string",
            "description": "tenant_id",
            "name": "tenant_id",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "billing_config_id",
            "name": "billing_config_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/forms.CreditsSummary"
            }
          }
        }
      }
    },
    "/tenants/{tenant_id}/costexplorer/args": {
      "get": {
        "operationId": "GetTenantCostExplorerArgs",
        "produces": ["application/json"],
        "summary": "Cost Explorer Args",
        "parameters": [
          {
            "type": "string",
            "description": "tenant_id",
            "name": "tenant_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/forms.CostExplorerArgs"
            }
          }
        }
      }
    },
    "/tenants/{tenant_id}/costexplorer/trends": {
      "post": {
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "summary": "Cost Explorer Trends",
        "parameters": [
          {
            "type": "string",
            "description": "tenant_id",
            "name": "tenant_id",
            "in": "path",
            "required": true
          },
          {
            "description": "Query",
            "name": "Query",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/forms.CostExploreTrendsInput"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/forms.CostExploreTrendsOutput"
            }
          }
        }
      }
    },
    "/tenants/{tenant_id}/costexplorer/trends/csv": {
      "post": {
        "consumes": ["application/json"],
        "produces": ["text/csv"],
        "parameters": [
          {
            "type": "string",
            "description": "tenant_id",
            "name": "tenant_id",
            "in": "path",
            "required": true
          },
          {
            "description": "Query",
            "name": "Query",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/forms.CostExploreTrendsInput"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer"
              }
            }
          }
        }
      }
    },
    "/tenants/{tenant_id}/billing_config_id/{billing_config_id}/payments/stripe/customer": {
      "get": {
        "operationId": "GetCustomerInfo",
        "description": "GetCustomerInfo",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["StripePayment"],
        "summary": "GetCustomerInfo",
        "parameters": [
          {
            "type": "string",
            "description": "tenant_id",
            "name": "tenant_id",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "billing_config_id",
            "name": "billing_config_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/forms.StripeCustomerInfo"
            }
          }
        }
      }
    },
    "/tenants/{tenant_id}/billing_config_id/{billing_config_id}/payments/stripe/invoices": {
      "get": {
        "operationId": "ListStripeInvoices",
        "description": "ListStripeInvoices",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["StripePayment"],
        "summary": "ListStripeInvoices",
        "parameters": [
          {
            "type": "string",
            "description": "tenant_id",
            "name": "tenant_id",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "billing_config_id",
            "name": "billing_config_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/forms.StripeInvoice"
              }
            }
          }
        }
      }
    },
    "/tenants/{tenant_id}/billing_config_id/{billing_config_id}/payments/stripe/invoices/{invoice_id}": {
      "get": {
        "description": "GetstripeInvoiceDetail",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["StripePayment"],
        "summary": "GetstripeInvoiceDetail",
        "operationId": "Stripe_GetStripeInvoiceDetail",
        "parameters": [
          {
            "type": "string",
            "description": "tenant_id",
            "name": "tenant_id",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "billing_config_id",
            "name": "billing_config_id",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "invoice_id",
            "name": "invoice_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/forms.StripeInvoiceDetail"
            }
          }
        }
      }
    },
    "/tenants/{tenant_id}/billing_config_id/{billing_config_id}/payments/stripe/payment_methods": {
      "get": {
        "operationId": "ListPaymentMethods",
        "description": "ListPaymentMethods",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["StripePayment"],
        "summary": "ListPaymentMethods",
        "parameters": [
          {
            "type": "string",
            "description": "tenant_id",
            "name": "tenant_id",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "billing_config_id",
            "name": "billing_config_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/forms.StripePaymentMethod"
              }
            }
          }
        }
      }
    },
    "/tenants/{tenant_id}/billing_config_id/{billing_config_id}/payments/stripe/payment_methods/{payment_method_id}": {
      "put": {
        "operationId": "UpdatePaymentMethod",
        "description": "UpdatePaymentMethod",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["StripePayment"],
        "summary": "UpdatePaymentMethod",
        "parameters": [
          {
            "type": "string",
            "description": "tenant_id",
            "name": "tenant_id",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "billing_config_id",
            "name": "billing_config_id",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "payment_method_id",
            "name": "payment_method_id",
            "in": "path",
            "required": true
          },
          {
            "description": "method",
            "name": "method",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/forms.StripePaymentMethod"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/forms.StripePaymentMethod"
            }
          }
        }
      },
      "delete": {
        "operationId": "DeletePaymentMethod",
        "description": "DeletePaymentMethod",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["StripePayment"],
        "summary": "DeletePaymentMethod",
        "parameters": [
          {
            "type": "string",
            "description": "tenant_id",
            "name": "tenant_id",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "billing_config_id",
            "name": "billing_config_id",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "payment_method_id",
            "name": "payment_method_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/forms.OKType"
            }
          }
        }
      }
    },
    "/tenants/{tenant_id}/billing_config_id/{billing_config_id}/payments/stripe/payment_methods/{payment_method_id}/default": {
      "put": {
        "operationId": "SetPaymentMethodDefault",
        "description": "SetPaymentMethodDefault",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["StripePayment"],
        "summary": "SetPaymentMethodDefault",
        "parameters": [
          {
            "type": "string",
            "description": "tenant_id",
            "name": "tenant_id",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "billing_config_id",
            "name": "billing_config_id",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "payment_method_id",
            "name": "payment_method_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/forms.OKType"
            }
          }
        }
      }
    },
    "/tenants/{tenant_id}/billing_config_id/{billing_config_id}/payments/stripe/payment_methods/{payment_method_id}/validate": {
      "put": {
        "operationId": "ValidateCreditCard",
        "description": "credit card validation. if pass, attach the paymentMethod to customer",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["StripePayment"],
        "summary": "credit card validation, query after s.SetUpIntent, before s.ConfirmIntent",
        "parameters": [
          {
            "type": "string",
            "description": "tenant_id",
            "name": "tenant_id",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "billing_config_id",
            "name": "billing_config_id",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "payment_method_id",
            "name": "payment_method_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/forms.CardValidateResult"
            }
          }
        }
      }
    },
    "/tenants/{tenant_id}/billing_config_id/{billing_config_id}/payments/stripe/setup_intent": {
      "post": {
        "operationId": "SetupIntent",
        "description": "SetupIntent",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["StripePayment"],
        "summary": "SetupIntent",
        "parameters": [
          {
            "type": "string",
            "description": "tenant_id",
            "name": "tenant_id",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "billing_config_id",
            "name": "billing_config_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/forms.SetupIntent"
            }
          }
        }
      }
    },
    "/tenants/{tenant_id}/cost_quota": {
      "get": {
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "operationId": "GetTenantCostQuota",
        "summary": "Get Tenant Cost Quota",
        "parameters": [
          {
            "type": "string",
            "description": "tenant_id",
            "name": "tenant_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/forms.CostQuota"
            }
          }
        }
      }
    },
    "/tenants/{tenant_id}/billing_config_id/{billing_config_id}/users/contracts": {
      "get": {
        "operationId": "ListUserViewContract",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "summary": "List User View Contract",
        "parameters": [
          {
            "type": "string",
            "description": "tenant_id",
            "name": "tenant_id",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "billing_config_id",
            "name": "billing_config_id",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "page,default=1,min=1,max=100",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "page_size,default=20,min=1,max=100",
            "name": "page_size",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/forms.ContractsResponse"
            }
          }
        }
      }
    },
    "/tenants/{tenant_id}/billing_config_id/{billing_config_id}/users/contracts/{contract_id}": {
      "get": {
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "summary": "Get User View Contract",
        "operationId": "GetUserViewContract",
        "parameters": [
          {
            "type": "string",
            "description": "tenant_id",
            "name": "tenant_id",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "billing_config_id",
            "name": "billing_config_id",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "id",
            "name": "contract_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/forms.Contract"
            }
          }
        }
      }
    },
    "/tenants/{tenant_id}/budgets": {
      "get": {
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "summary": "List All Tenant Budgets",
        "operationId": "ListAllBudgets",
        "parameters": [
          {
            "type": "string",
            "description": "tenant_id",
            "name": "tenant_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/forms.Budget"
              }
            }
          }
        }
      },
      "post": {
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "summary": "Create Budget",
        "operationId": "CreateBudget",
        "parameters": [
          {
            "type": "string",
            "description": "tenant_id",
            "name": "tenant_id",
            "in": "path",
            "required": true
          },
          {
            "description": "budget",
            "name": "budget",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/forms.Budget"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/forms.Budget"
              }
            }
          }
        }
      }
    },
    "/tenants/{tenant_id}/budgets/{budget_id}": {
      "get": {
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "summary": "Get Budget",
        "operationId": "GetBudget",
        "parameters": [
          {
            "type": "string",
            "description": "tenant_id",
            "name": "tenant_id",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "budget_id",
            "name": "budget_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/forms.Budget"
            }
          }
        }
      },
      "delete": {
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "summary": "Delete Budget",
        "operationId": "DeleteBudget",
        "parameters": [
          {
            "type": "string",
            "description": "tenant_id",
            "name": "tenant_id",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "budget_id",
            "name": "budget_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/forms.OKType"
            }
          }
        }
      },
      "put": {
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "summary": "Update Budget Limitation",
        "operationId": "UpdateBudget",
        "parameters": [
          {
            "type": "string",
            "description": "tenant_id",
            "name": "tenant_id",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "budget_id",
            "name": "budget_id",
            "in": "path",
            "required": true
          },
          {
            "description": "name",
            "name": "budget",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/forms.Budget"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/forms.Budget"
              }
            }
          }
        }
      }
    },
    "/tenants/{tenant_id}/budgets/{budget_id}/thresholds": {
      "post": {
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "summary": "Add Budget Threshold",
        "parameters": [
          {
            "type": "string",
            "description": "tenant_id",
            "name": "tenant_id",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "budget_id",
            "name": "budget_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/forms.SpendLimitThreshold"
              }
            }
          }
        }
      }
    },
    "/tenants/{tenant_id}/budgets/{budget_id}/thresholds/{threshold_id}": {
      "post": {
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "summary": "Update Budget Threshold",
        "parameters": [
          {
            "type": "string",
            "description": "tenant_id",
            "name": "tenant_id",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "budget_id",
            "name": "budget_id",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "threshold_id",
            "name": "threshold_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/forms.SpendLimitThreshold"
              }
            }
          }
        }
      },
      "delete": {
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "summary": "Delete Budget Threshold",
        "parameters": [
          {
            "type": "string",
            "description": "tenant_id",
            "name": "tenant_id",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "budget_id",
            "name": "budget_id",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "threshold_id",
            "name": "threshold_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/forms.OKType"
            }
          }
        }
      }
    },
    "/tenants/{tenant_id}/users/contracts/{contract_id}/actions/{action}": {
      "post": {
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "operationId": "OperateContract",
        "summary": "Operate Contract",
        "parameters": [
          {
            "type": "string",
            "description": "tenant_id",
            "name": "tenant_id",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "contract_id",
            "name": "contract_id",
            "in": "path",
            "required": true
          },
          {
            "enum": ["accept", "reject"],
            "type": "string",
            "description": "action",
            "name": "action",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/forms.OKType"
            }
          }
        }
      }
    },
    "/tenants/{tenant_id}/billing_config_id/{billing_config_id}/users/discounts": {
      "get": {
        "operationId": "ListTenantDiscounts",
        "description": "List Discount (User portal)",
        "produces": ["application/json"],
        "tags": ["DiscountInfo"],
        "summary": "List Discount (User portal)",
        "parameters": [
          {
            "type": "string",
            "description": "tenant_id",
            "name": "tenant_id",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "billing_config_id",
            "name": "billing_config_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/forms.Discount"
              }
            }
          }
        }
      }
    },
    "/tenants/{tenant_id}/billing_configs": {
      "get": {
        "operationId": "ListBillingConfigs",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "summary": "List Billing Configs",
        "parameters": [
          {
            "type": "string",
            "description": "tenant_id",
            "name": "tenant_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/forms.BillingConfig"
              }
            }
          }
        }
      }
    },
    "/tenants/{tenant_id}/billing_info/sync_on_card_binding": {
      "post": {
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "summary": "SyncBillingInformationOnCardBinding",
        "operationId": "SyncBillingInformationOnCardBinding",
        "parameters": [
          {
            "type": "string",
            "description": "tenant_id",
            "name": "tenant_id",
            "in": "path",
            "required": true
          },
          {
            "description": "BillingInformation",
            "name": "Query",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/forms.BillingInformationInput"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/forms.BillingInformation"
            }
          }
        }
      }
    }
  },
  "definitions": {
    "forms.BillingAction": {
      "type": "string",
      "enum": ["add", "remove", "expand", "shrink", "view"],
      "x-enum-varnames": [
        "BillingAction_Create",
        "BillingAction_Delete",
        "BillingAction_Scaleup",
        "BillingAction_Scaledown",
        "BillingAction_View"
      ]
    },
    "forms.BillingActionCheckBatchInput": {
      "type": "object",
      "properties": {
        "actions": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/forms.BillingActionInfo"
          }
        }
      }
    },
    " forms.BillingActionCheckBatchOutput": {
      "type": "object",
      "properties": {
        "results": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/forms.BillingActionCheckResult"
          }
        }
      }
    },
    "forms.BillingActionCheckBatchOutput": {
      "type": "object",
      "properties": {
        "results": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/forms.BillingActionCheckResult"
          }
        }
      }
    },
    "forms.BillingActionCheckResult": {
      "type": "object",
      "properties": {
        "original": {},
        "pass": {
          "type": "boolean"
        },
        "reason": {
          "type": "string"
        }
      }
    },
    "forms.BillingActionInfo": {
      "type": "object",
      "properties": {
        "action": {
          "$ref": "#/definitions/forms.BillingAction"
        },
        "resource": {
          "$ref": "#/definitions/forms.BillingResource"
        }
      }
    },
    "forms.BillingResource": {
      "type": "object",
      "properties": {
        "instance_id": {
          "type": "string"
        },
        "is_free": {
          "type": "boolean"
        },
        "origin": {},
        "provider": {
          "$ref": "#/definitions/forms.ProviderEnum"
        },
        "region": {
          "type": "string"
        },
        "type": {
          "$ref": "#/definitions/forms.BillingResourceType"
        }
      }
    },
    "forms.BillingResourceType": {
      "type": "string",
      "enum": ["dedicated_cluster", "dedicated_backup", "serverless_cluster", "essential_cluster", "premium_cluster"],
      "x-enum-varnames": [
        "BillingResourceType_DedicatedCluster",
        "BillingResourceType_DedicatedBackup",
        "BillingResourceType_ServerlessCluster",
        "BillingResourceType_EssentialCluster",
        "BillingResourceType_PremiumCluster"
      ]
    },
    "forms.ProviderEnum": {
      "type": "string",
      "enum": ["all", "AWS", "GCP", "AZURE", "Alicloud", "PINGCAP"],
      "x-enum-varnames": [
        "Provider_All",
        "Provider_AWS",
        "Provider_GCP",
        "Provider_Azure",
        "Provider_AliCloud",
        "Provider_PINGCAP"
      ]
    },
    "forms.BillsEnabled": {
      "type": "object",
      "properties": {
        "bills_enabled": {
          "type": "boolean"
        }
      }
    },
    "forms.BillingInformation": {
      "type": "object",
      "properties": {
        "billing_email": {
          "type": "string"
        },
        "city": {
          "type": "string"
        },
        "company_name": {
          "type": "string"
        },
        "country_code": {
          "description": "`X` stands `Others`",
          "type": "string"
        },
        "custom_input_country_name": {
          "type": "string"
        },
        "line1": {
          "type": "string"
        },
        "line2": {
          "type": "string"
        },
        "state": {
          "type": "string"
        },
        "tax_id_type": {
          "type": "string"
        },
        "tax_rate": {
          "$ref": "#/definitions/forms.TaxRate"
        },
        "tax_vat": {
          "type": "string"
        },
        "postal_code": {
          "type": "string"
        },
        "tenant_id": {
          "type": "string"
        }
      }
    },
    "forms.BillingInformationInput": {
      "type": "object",
      "properties": {
        "billing_email": {
          "type": "string"
        },
        "city": {
          "type": "string"
        },
        "company_name": {
          "type": "string"
        },
        "country_code": {
          "description": "`X` stands `Others`",
          "type": "string"
        },
        "custom_input_country_name": {
          "type": "string"
        },
        "line1": {
          "type": "string"
        },
        "line2": {
          "type": "string"
        },
        "state": {
          "type": "string"
        },
        "tax_id_country_code": {
          "type": "string"
        },
        "tax_id_type": {
          "type": "string"
        },
        "tax_rate": {
          "$ref": "#/definitions/forms.TaxRate"
        },
        "tax_vat": {
          "type": "string"
        },
        "postal_code": {
          "type": "string"
        }
      }
    },
    "forms.BindedSupportPlanDetails": {
      "type": "object",
      "properties": {
        "binded_support_plans": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/forms.BindedSupportPlan"
          }
        },
        "is_eligible_for_free_trial": {
          "type": "boolean"
        }
      }
    },
    "forms.Budget": {
      "type": "object",
      "properties": {
        "biz_data": {
          "type": "string"
        },
        "biz_type": {
          "type": "string"
        },
        "meta": {
          "type": "object"
        },
        "cost_type": {
          "type": "string"
        },
        "costs": {
          "type": "string"
        },
        "interval": {
          "type": "string"
        },
        "limit": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "range_id": {
          "type": "integer"
        },
        "range_id_str": {
          "type": "string",
          "example": "0"
        },
        "range_type": {
          "type": "string"
        },
        "spendlimit_setting_id": {
          "type": "integer"
        },
        "start_date": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "tenant_id": {
          "type": "string"
        },
        "thresholds": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/forms.SpendLimitThreshold"
          }
        }
      }
    },
    "forms.TaxRate": {
      "type": "object",
      "properties": {
        "country": {
          "type": "string"
        },
        "display_name": {
          "type": "string"
        },
        "inclusive": {
          "type": "boolean"
        },
        "rate": {
          "type": "string"
        },
        "state": {
          "type": "string"
        },
        "stripe_tax_rate_id": {
          "type": "string"
        },
        "tax_code": {
          "type": "string"
        },
        "tax_type": {
          "type": "string"
        },
        "tenant_id": {
          "type": "integer"
        }
      }
    },
    "forms.PaymentMethod": {
      "type": "object",
      "properties": {
        "managed_by_sales": {
          "type": "boolean"
        },
        "payable": {
          "type": "boolean"
        },
        "payment_code": {
          "type": "string"
        },
        "payment_method_id": {
          "type": "integer"
        },
        "payment_sub_code": {
          "type": "boolean"
        },
        "payment_type": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "tenant_id": {
          "type": "integer"
        },
        "unpayable_at": {
          "type": "string"
        }
      }
    },
    "forms.AppAPIUsageExplore": {
      "type": "object",
      "properties": {
        "month": {
          "type": "integer"
        },
        "network_usage": {
          "type": "integer"
        },
        "request_count": {
          "type": "integer"
        },
        "tenant_id": {
          "type": "integer"
        },
        "usage_map": {
          "type": "object",
          "additionalProperties": {
            "type": "integer"
          }
        }
      }
    },
    "forms.TenantPlanInfo": {
      "type": "object",
      "properties": {
        "dev_tier_plan_info": {
          "$ref": "#/definitions/forms.PlanInfo"
        },
        "effective_discount": {
          "type": "string"
        },
        "effective_plan": {
          "type": "string"
        },
        "ondemand_plan_info": {
          "$ref": "#/definitions/forms.PlanInfo"
        },
        "poc_credits": {
          "type": "string"
        },
        "poc_plan_info": {
          "$ref": "#/definitions/forms.PlanInfo"
        },
        "tenant_id": {
          "type": "integer"
        }
      }
    },
    "forms.PaymentMethodType": {
      "type": "object",
      "properties": {
        "payable": {
          "type": "boolean"
        },
        "payment_type": {
          "type": "string"
        },
        "tenant_id": {
          "type": "integer"
        }
      }
    },
    "forms.PlanInfo": {
      "type": "object",
      "properties": {
        "closed_at": {
          "type": "string"
        },
        "plan": {
          "type": "string"
        },
        "started_at": {
          "type": "string"
        },
        "status": {
          "type": "string"
        }
      }
    },
    "forms.Address": {
      "type": "object",
      "properties": {
        "city": {
          "type": "string"
        },
        "country": {
          "type": "string"
        },
        "line1": {
          "type": "string"
        },
        "line2": {
          "type": "string"
        },
        "postal_code": {
          "type": "string"
        },
        "state": {
          "type": "string"
        }
      }
    },
    "forms.BillingConfig": {
      "type": "object",
      "properties": {
        "billing_config_id": {
          "type": "integer"
        },
        "created_at": {
          "type": "string"
        },
        "end_active_time": {
          "type": "string"
        },
        "start_active_time": {
          "type": "string"
        },
        "status": {
          "type": "string",
          "enum": ["Active", "Closing", "Closed", "Scheduled"]
        },
        "tenant_id": {
          "type": "string",
          "example": "0"
        },
        "type": {
          "type": "string"
        },
        "updated_at": {
          "type": "string"
        }
      },
      "required": ["billing_config_id"]
    },
    "forms.BillingDetails": {
      "type": "object",
      "properties": {
        "address": {
          "$ref": "#/definitions/forms.Address"
        },
        "email": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "phone": {
          "type": "string"
        }
      }
    },
    "forms.BindedSupportPlan": {
      "type": "object",
      "properties": {
        "active_date": {
          "type": "string"
        },
        "binded_support_plan_id": {
          "type": "integer"
        },
        "closed_date": {
          "type": "string"
        },
        "fixed_charge_price": {
          "type": "string"
        },
        "is_archived": {
          "type": "boolean"
        },
        "is_in_free_trial": {
          "type": "boolean"
        },
        "level": {
          "type": "string"
        },
        "public": {
          "type": "boolean"
        },
        "rest_days_of_free_trial": {
          "type": "integer"
        },
        "status": {
          "type": "string"
        },
        "support_plan_id": {
          "type": "integer"
        },
        "support_price_percentage": {
          "type": "string"
        },
        "tenant_id": {
          "type": "integer"
        },
        "type": {
          "type": "string"
        },
        "tiered_price_rules": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/forms.TieredPriceRule"
          }
        }
      }
    },
    "forms.TieredPriceRule": {
      "type": "object",
      "properties": {
        "lower_bound": {
          "type": "string"
        },
        "support_price_percentage": {
          "type": "string"
        },
        "upper_bound": {
          "type": "string"
        }
      }
    },
    "forms.Card": {
      "type": "object",
      "properties": {
        "brand": {
          "type": "string"
        },
        "country": {
          "type": "string"
        },
        "exp_month": {
          "type": "string",
          "example": "0"
        },
        "exp_year": {
          "type": "string",
          "example": "0"
        },
        "fingerprint": {
          "type": "string"
        },
        "funding": {
          "type": "string"
        },
        "last4": {
          "type": "string"
        }
      }
    },
    "forms.SupportPlan": {
      "type": "object",
      "properties": {
        "fixed_charge_price": {
          "type": "string"
        },
        "level": {
          "type": "string"
        },
        "public": {
          "type": "boolean"
        },
        "support_plan_id": {
          "type": "integer"
        },
        "support_price_percentage": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "tiered_price_rules": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/forms.TieredPriceRule"
          }
        }
      }
    },
    "forms.SupportPlanInput": {
      "type": "object",
      "properties": {
        "fixed_charge_price": {
          "type": "string"
        },
        "level": {
          "type": "string"
        },
        "public": {
          "type": "boolean"
        },
        "support_price_percentage": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      }
    },
    "forms.SpendLimitThreshold": {
      "type": "object",
      "properties": {
        "bizType": {
          "type": "string"
        },
        "proportion": {
          "type": "string"
        },
        "spend_limit_id": {
          "type": "integer"
        },
        "tenant_id": {
          "type": "integer"
        },
        "threshold_id": {
          "type": "integer"
        }
      }
    },
    "forms.CardValidateResult": {
      "type": "object",
      "properties": {
        "client_secret": {
          "type": "string"
        },
        "payment_intent_id": {
          "type": "string"
        },
        "public_key": {
          "type": "string"
        },
        "status": {
          "type": "string"
        }
      }
    },
    "forms.CategoryCosts": {
      "type": "object",
      "properties": {
        "category_unit_costs": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/forms.Price"
          }
        },
        "cost_price": {
          "type": "string"
        },
        "raw_price": {
          "type": "string"
        },
        "service_plan": {
          "type": "string"
        },
        "unit_costs": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/forms.UnitCosts"
          }
        },
        "order": {
          "type": "number"
        }
      },
      "required": ["cost_price"]
    },
    "forms.StripeInvoiceDetail": {
      "type": "object",
      "properties": {
        "amount_due": {
          "type": "string"
        },
        "amount_paid": {
          "type": "string"
        },
        "client_secret": {
          "type": "string"
        },
        "created": {
          "type": "string",
          "example": "0"
        },
        "credit_used": {
          "type": "string"
        },
        "currency": {
          "type": "string"
        },
        "due_date": {
          "type": "string",
          "example": "0"
        },
        "id": {
          "type": "string"
        },
        "invoice_pdf": {
          "type": "string"
        },
        "number": {
          "type": "string"
        },
        "paid": {
          "type": "boolean"
        },
        "payment_intent_id": {
          "type": "string"
        },
        "payment_intent_status": {
          "type": "string"
        },
        "public_key": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "total": {
          "type": "string"
        }
      }
    },
    "forms.MonthlycostExplorerResult": {
      "type": "object",
      "properties": {
        "binded_invoice_costs": {
          "$ref": "#/definitions/forms.Costs"
        },
        "credits_costs": {
          "$ref": "#/definitions/forms.Costs"
        },
        "invoice_costs": {
          "$ref": "#/definitions/forms.Costs"
        },
        "invoice_generated": {
          "type": "boolean"
        },
        "unbind_invoice_costs": {
          "$ref": "#/definitions/forms.Costs"
        },
        "total_costs": {
          "$ref": "#/definitions/forms.Costs"
        }
      },
      "required": ["credits_costs", "invoice_costs", "invoice_generated", "unbind_invoice_costs"]
    },
    "forms.DataAPIUsageExplore": {
      "type": "object",
      "properties": {
        "month": {
          "type": "integer"
        },
        "network_usage": {
          "type": "integer"
        },
        "request_count": {
          "type": "integer"
        },
        "tenant_id": {
          "type": "integer"
        }
      }
    },
    "forms.Discount": {
      "type": "object",
      "properties": {
        "description": {
          "type": "string"
        },
        "discount": {
          "type": "string"
        },
        "discount_code": {
          "type": "string"
        },
        "discount_id": {
          "type": "integer"
        },
        "discount_sid": {
          "type": "string"
        },
        "expired_at": {
          "type": "string"
        },
        "started_at": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "tenant_id": {
          "type": "string"
        },
        "unit_filters": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/forms.UnitFilterSlim"
          }
        },
        "usage": {
          "type": "string"
        },
        "provider": {
          "type": "string"
        }
      }
    },
    "forms.Costs": {
      "type": "object",
      "properties": {
        "category_item_unit_costs": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/forms.CategoryCosts"
          }
        },
        "kind_category_units_costs": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/forms.CategoryCosts"
          }
        },
        "category_unit_costs": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/forms.Price"
          }
        },
        "category_use_item": {
          "type": "boolean"
        },
        "cost_price": {
          "type": "string"
        },
        "label_unit_costs": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/forms.LabelCosts"
          }
        },
        "raw_price": {
          "type": "string"
        },
        "service_plan": {
          "type": "string"
        },
        "discount_price": {
          "type": "string"
        },
        "unit_costs": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/forms.UnitCosts"
          }
        }
      },
      "required": ["cost_price", "raw_price"]
    },
    "forms.CreateInvoiceReq": {
      "type": "object",
      "properties": {
        "start_date": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      }
    },
    "forms.ExpressionLabel": {
      "type": "object",
      "properties": {
        "label": {
          "type": "string"
        },
        "operator": {
          "type": "string"
        },
        "value": {
          "type": "string"
        }
      }
    },
    "forms.CreditTypeSlim": {
      "type": "object",
      "properties": {
        "description": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "parent_id": {
          "type": "integer"
        },
        "type_id": {
          "type": "integer"
        }
      }
    },
    "forms.CreditsPackage": {
      "type": "object",
      "properties": {
        "bind_types": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/forms.CreditTypeSlim"
          }
        },
        "closed_date": {
          "type": "string"
        },
        "closed_reason": {
          "type": "string"
        },
        "credits_code": {
          "type": "string"
        },
        "credits_package_id": {
          "type": "integer"
        },
        "expired_date": {
          "type": "string"
        },
        "note": {
          "type": "string"
        },
        "remaining_credits": {
          "type": "string"
        },
        "start_date": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "tenant_id": {
          "type": "integer"
        },
        "total_credits": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "usage": {
          "type": "string"
        },
        "usage_extend": {
          "type": "string"
        },
        "provider": {
          "type": "string"
        }
      }
    },
    "forms.CreditsSummary": {
      "type": "object",
      "properties": {
        "available_costed_credits": {
          "type": "string"
        },
        "available_poc_credits": {
          "type": "string"
        },
        "available_credits": {
          "type": "string"
        },
        "available_remaining_credits": {
          "type": "string"
        },
        "last_credits_closed_date": {
          "type": "string"
        },
        "tenant_id": {
          "type": "integer"
        },
        "total_costed_credits": {
          "type": "string"
        },
        "total_credits": {
          "type": "string"
        }
      }
    },
    "forms.CostQuota": {
      "type": "object",
      "properties": {
        "cost_quota_limit": {
          "type": "string"
        }
      }
    },
    "forms.HibernateCluster": {
      "properties": {
        "cluster_id": {
          "type": "string"
        },
        "hibernate_status": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "forms.Contract": {
      "type": "object",
      "properties": {
        "contact_email": {
          "type": "string"
        },
        "contract_id": {
          "type": "string"
        },
        "contract_type": {
          "type": "string"
        },
        "created_at": {
          "type": "string"
        },
        "file_path": {
          "type": "string"
        },
        "id": {
          "type": "integer"
        },
        "last_operator_id": {
          "type": "integer"
        },
        "reason_for_last_operation": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "tenant_id": {
          "type": "integer"
        },
        "updated_at": {
          "type": "string"
        },
        "operated_at": {
          "type": "string"
        }
      },
      "required": ["contract_id"]
    },
    "forms.ContractInput": {
      "type": "object",
      "required": ["contact_email", "file_path"],
      "properties": {
        "contact_email": {
          "type": "string"
        },
        "contract_type": {
          "type": "string"
        },
        "file_path": {
          "type": "string"
        }
      }
    },
    "forms.ContractsResponse": {
      "type": "object",
      "properties": {
        "contracts": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/forms.Contract"
          }
        },
        "page": {
          "type": "integer"
        },
        "page_size": {
          "type": "integer"
        },
        "total_results": {
          "type": "integer"
        }
      }
    },
    "forms.CostExplorerDetailsResult": {
      "type": "object",
      "properties": {
        "details": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/forms.UsageDetails"
          }
        }
      }
    },
    "forms.Invoice": {
      "type": "object",
      "properties": {
        "category_item_unit_costs": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/forms.CategoryCosts"
          }
        },
        "kind_category_units_costs": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/forms.CategoryCosts"
          }
        },
        "category_unit_costs": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/forms.Price"
          }
        },
        "category_use_item": {
          "type": "boolean"
        },
        "cost_price": {
          "type": "string"
        },
        "end_date": {
          "type": "string"
        },
        "invoice_id": {
          "type": "integer"
        },
        "label_unit_costs": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/forms.LabelCosts"
          }
        },
        "raw_price": {
          "type": "string"
        },
        "service_plan": {
          "type": "string"
        },
        "start_date": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "tenant_id": {
          "type": "integer"
        },
        "type": {
          "type": "string"
        },
        "unit_costs": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/forms.UnitCosts"
          }
        }
      }
    },
    "forms.UnitFilterNode": {
      "type": "object",
      "properties": {
        "children": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/forms.UnitFilterNode"
          }
        },
        "description": {
          "type": "string"
        },
        "filter_id": {
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "parent_id": {
          "type": "integer"
        },
        "type_id": {
          "description": "this field is a deprecated",
          "type": "integer"
        }
      }
    },
    "forms.UnitFilterSlim": {
      "type": "object",
      "properties": {
        "description": {
          "type": "string"
        },
        "filter_id": {
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "parent_id": {
          "type": "integer"
        },
        "type_id": {
          "description": "this field is a deprecated",
          "type": "integer"
        }
      }
    },
    "forms.UsageDetails": {
      "type": "object",
      "properties": {
        "amount": {
          "type": "string"
        },
        "billable_cost": {
          "type": "string"
        },
        "billed_date": {
          "type": "string"
        },
        "cluster_name": {
          "type": "string"
        },
        "credit_usage": {
          "type": "string"
        },
        "discount_cost": {
          "type": "string"
        },
        "project_name": {
          "type": "string"
        },
        "service": {
          "type": "string"
        }
      }
    },
    "forms.LabelCosts": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/definitions/forms.CategoryCosts"
      }
    },
    "forms.OKType": {
      "type": "object",
      "properties": {
        "status": {
          "type": "string",
          "example": "ok"
        }
      }
    },
    "forms.Price": {
      "type": "object",
      "properties": {
        "cost_price": {
          "type": "string"
        },
        "raw_price": {
          "type": "string"
        },
        "discount_price": {
          "type": "string"
        },
        "order": {
          "type": "number"
        }
      },
      "required": ["cost_price"]
    },
    "forms.SetupIntent": {
      "type": "object",
      "properties": {
        "client_secret": {
          "type": "string"
        },
        "public_key": {
          "type": "string"
        }
      },
      "required": ["client_secret", "public_key"]
    },
    "forms.StripeCustomerInfo": {
      "type": "object",
      "properties": {
        "address": {
          "$ref": "#/definitions/forms.Address"
        },
        "dbaas_id": {
          "type": "string"
        },
        "default_source": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "email": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      },
      "required": ["default_source"]
    },
    "forms.StripeInvoice": {
      "type": "object",
      "properties": {
        "amount_due": {
          "type": "string",
          "example": "0"
        },
        "amount_paid": {
          "type": "string",
          "example": "0"
        },
        "created": {
          "type": "string",
          "example": "0"
        },
        "credit_used": {
          "type": "string",
          "example": "0"
        },
        "currency": {
          "type": "string"
        },
        "due_date": {
          "type": "string",
          "example": "0"
        },
        "id": {
          "type": "string"
        },
        "invoice_pdf": {
          "type": "string"
        },
        "number": {
          "type": "string"
        },
        "paid": {
          "type": "boolean"
        },
        "status": {
          "type": "string"
        },
        "total": {
          "type": "string",
          "example": "0"
        }
      }
    },
    "forms.StripePaymentMethod": {
      "type": "object",
      "properties": {
        "billing_details": {
          "$ref": "#/definitions/forms.BillingDetails"
        },
        "card": {
          "$ref": "#/definitions/forms.Card"
        },
        "id": {
          "type": "string"
        }
      }
    },
    "forms.UnitCosts": {
      "type": "object",
      "properties": {
        "binded_package_id": {
          "type": "integer"
        },
        "consumed_source": {
          "type": "string"
        },
        "cost": {
          "type": "integer"
        },
        "cost_id": {
          "type": "string"
        },
        "cost_time_stamp": {
          "type": "integer"
        },
        "invoice_id": {
          "type": "integer"
        },
        "labels": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "package_id": {
          "type": "integer"
        },
        "package_version": {
          "type": "integer"
        },
        "price": {
          "type": "string"
        },
        "raw_price": {
          "type": "string"
        },
        "unit": {
          "type": "string"
        }
      }
    },
    "forms.UnitCostsInput": {
      "type": "object",
      "properties": {
        "cost": {
          "type": "integer"
        },
        "cost_id": {
          "description": "optional",
          "type": "string"
        },
        "cost_time_stamp": {
          "type": "integer"
        },
        "labels": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "unit": {
          "type": "string"
        }
      }
    },
    "forms.UnitInfo": {
      "type": "object",
      "properties": {
        "category": {
          "description": "optional",
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "unit": {
          "type": "string",
          "minLength": 1
        }
      }
    },
    "forms.Cluster": {
      "type": "object",
      "properties": {
        "cloud_provider_name": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "infra_provider_type": {
          "type": "string"
        },
        "is_dev_tier": {
          "type": "boolean"
        },
        "name": {
          "type": "string"
        },
        "project_id": {
          "type": "integer"
        },
        "region_display_name": {
          "type": "string"
        },
        "region_name": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "tenant_id": {
          "type": "integer"
        }
      }
    },
    "forms.CostExploreTrendsInput": {
      "type": "object",
      "properties": {
        "breakdown_by": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/forms.CostExplorerTrendsBreakdownKey"
          }
        },
        "clusters": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "consumed_source": {
          "type": "string"
        },
        "end_date": {
          "type": "string"
        },
        "ignore_beta": {
          "type": "boolean"
        },
        "invoices": {
          "type": "array",
          "items": {
            "type": "integer"
          }
        },
        "projects": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "providers": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/forms.CostExplorerProvider"
          }
        },
        "services": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/forms.CostExplorerService"
          }
        },
        "start_date": {
          "type": "string"
        },
        "time_group": {
          "$ref": "#/definitions/forms.CostExplorerTrendsTimeGroup"
        }
      }
    },
    "forms.CostExploreTrendsOutput": {
      "type": "object",
      "properties": {
        "cost_price": {
          "type": "string"
        },
        "credits_usage": {
          "type": "string"
        },
        "discount": {
          "type": "string"
        },
        "elements": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/forms.CostExploreTrendsOutputElement"
          }
        },
        "raw_price": {
          "type": "string"
        }
      }
    },
    "forms.CostExploreTrendsOutputBreakdownDetail": {
      "type": "object",
      "properties": {
        "billing_date": {
          "type": "string"
        },
        "category": {
          "type": "string"
        },
        "cluster_id": {
          "type": "integer"
        },
        "cluster_name": {
          "type": "string"
        },
        "component": {
          "type": "string"
        },
        "cost_price": {
          "type": "string"
        },
        "credits_usage": {
          "type": "string"
        },
        "detail_name": {
          "type": "string"
        },
        "discount": {
          "type": "string"
        },
        "product": {
          "type": "string"
        },
        "project_id": {
          "type": "integer"
        },
        "project_name": {
          "type": "string"
        },
        "provider": {
          "type": "string"
        },
        "raw_price": {
          "type": "string"
        },
        "region": {
          "type": "string"
        },
        "service": {
          "type": "string"
        }
      }
    },
    "forms.CostExploreTrendsOutputElement": {
      "type": "object",
      "properties": {
        "billing_date": {
          "type": "string"
        },
        "breakdown": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/forms.CostExploreTrendsOutputBreakdownDetail"
          }
        },
        "cost_price": {
          "type": "string"
        },
        "credits_usage": {
          "type": "string"
        },
        "discount": {
          "type": "string"
        },
        "prediction": {
          "type": "boolean"
        },
        "raw_price": {
          "type": "string"
        }
      }
    },
    "forms.CostExplorerArgs": {
      "type": "object",
      "properties": {
        "clusters": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/forms.Cluster"
          }
        },
        "products": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "projects": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/forms.Project"
          }
        },
        "providers": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/forms.Provider"
          }
        },
        "services": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/forms.CostExplorerService"
          }
        }
      }
    },
    "forms.CostExplorerProvider": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "regions": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "forms.CostExplorerService": {
      "type": "object",
      "properties": {
        "category": {
          "type": "string"
        },
        "component": {
          "type": "string"
        },
        "product": {
          "type": "string"
        },
        "service": {
          "type": "string"
        }
      }
    },
    "forms.CostExplorerTrendsBreakdownKey": {
      "type": "string",
      "enum": ["service", "product", "project", "cluster", "provider", "region"],
      "x-enum-varnames": [
        "CostExploreTrendsBreakdownKeyService",
        "CostExploreTrendsBreakdownKeyProduct",
        "CostExploreTrendsBreakdownKeyProject",
        "CostExploreTrendsBreakdownKeyCluster",
        "CostExploreTrendsBreakdownKeyProvider",
        "CostExploreTrendsBreakdownKeyRegion"
      ]
    },
    "forms.CostExplorerTrendsTimeGroup": {
      "type": "string",
      "enum": ["day", "month"],
      "x-enum-varnames": ["CostExploreTrendsTimeGroupDay", "CostExploreTrendsTimeGroupMonth"]
    },
    "forms.Project": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "tenant_id": {
          "type": "integer"
        }
      }
    },
    "forms.Provider": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "regions": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "protobufAny": {
      "type": "object",
      "properties": {
        "type_url": {
          "type": "string",
          "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `http`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `http` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n  value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n  URL, or have them precompiled into a binary to avoid any\n  lookup. Therefore, binary compatibility needs to be preserved\n  on changes to types. (Use versioned type names to manage\n  breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `http` (or the empty scheme) might be\nused with implementation specific semantics."
        },
        "value": {
          "type": "string",
          "format": "byte",
          "description": "Must be a valid serialized protocol buffer of the above specified type."
        }
      },
      "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n    Foo foo = ...;\n    Any any;\n    any.PackFrom(foo);\n    ...\n    if (any.UnpackTo(\u0026foo)) {\n      ...\n    }\n\nExample 2: Pack and unpack a message in Java.\n\n    Foo foo = ...;\n    Any any = Any.pack(foo);\n    ...\n    if (any.is(Foo.class)) {\n      foo = any.unpack(Foo.class);\n    }\n\n Example 3: Pack and unpack a message in Python.\n\n    foo = Foo(...)\n    any = Any()\n    any.Pack(foo)\n    ...\n    if any.Is(Foo.DESCRIPTOR):\n      any.Unpack(foo)\n      ...\n\n Example 4: Pack and unpack a message in Go\n\n     foo := \u0026pb.Foo{...}\n     any, err := ptypes.MarshalAny(foo)\n     ...\n     foo := \u0026pb.Foo{}\n     if err := ptypes.UnmarshalAny(any, foo); err != nil {\n       ...\n     }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n====\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n    package google.profile;\n    message Person {\n      string first_name = 1;\n      string last_name = 2;\n    }\n\n    {\n      \"@type\": \"type.googleapis.com/google.profile.Person\",\n      \"firstName\": \u003cstring\u003e,\n      \"lastName\": \u003cstring\u003e\n    }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n    {\n      \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n      \"value\": \"1.212s\"\n    }"
    },
    "apiHttpBody": {
      "type": "object",
      "properties": {
        "content_type": {
          "type": "string",
          "description": "The HTTP Content-Type header value specifying the content type of the body."
        },
        "data": {
          "type": "string",
          "format": "byte",
          "description": "The HTTP request/response body as raw binary."
        },
        "extensions": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/protobufAny"
          },
          "description": "Application specific response metadata. Must be set in the first response\nfor streaming APIs."
        }
      },
      "description": "Message that represents an arbitrary HTTP body. It should only be used for\npayload formats that can't be represented as JSON, such as raw binary or\nan HTML page.\n\n\nThis message can be used both in streaming and non-streaming API methods in\nthe request as well as the response.\n\nIt can be used as a top-level request field, which is convenient if one\nwants to extract parameters from either the URL or HTTP template into the\nrequest fields and also want access to the raw HTTP body.\n\nExample:\n\n    message GetResourceRequest {\n      // A unique request id.\n      string request_id = 1;\n\n      // The raw HTTP body is bound to this field.\n      google.api.HttpBody http_body = 2;\n    }\n\n    service ResourceService {\n      rpc GetResource(GetResourceRequest) returns (google.api.HttpBody);\n      rpc UpdateResource(google.api.HttpBody) returns\n      (google.protobuf.Empty);\n    }\n\nExample with streaming methods:\n\n    service CaldavService {\n      rpc GetCalendar(stream google.api.HttpBody)\n        returns (stream google.api.HttpBody);\n      rpc UpdateCalendar(stream google.api.HttpBody)\n        returns (stream google.api.HttpBody);\n    }\n\nUse of this type only changes how the request and response bodies are\nhandled, all other features will continue to work unchanged."
    }
  }
}
